MẠNG MÁY TÍNH

Chương 8 LỚP ỨNG DỤNG Application Layer

1

Giới thiệu

 Các lớp bên dưới:

 cung cấp dịch vụ vận chuyển dữ liệu cho lớp ứng

dụng

 không thực sự giao tiếp với người sử dụng.   lớp ứng dụng cũng cần có các giao thức hỗ trợ để cho phép các ứng dụng thực hiện được các chức năng của mình.

2

8.1- Hệ thống tên miền DNS 8.1.1- Không gian tên miền  Các ứng dụng  máy chủ theo địa chỉ mạng tương

ứng của chúng.

 Địa chỉ này thường rất khó nhớ  sử dụng ký tự

chữ cái để thay thế cho các địa chỉ mạng.

 Do mạng chỉ hiểu được các địa chỉ  có các cơ chế để chuyển đổi chuỗi mã ASCII thành địa chỉ mạng

 Khi số lượng các máy tính và máy chủ nối đến

mạng quá lớn  quản lý tập trung để tránh xung đột về tên phần tử mạng. Đó là lý do ra đời của Hệ thống tên miền (DNS)

3

Hệ thống tên miền DNS  Cấu trúc DNS

 cấu trúc phân cấp dạng cây theo miền tên  hệ thống cơ sở dữ liệu phân tán

4

Hệ thống tên miền DNS  Trên cùng là nút gốc  các nút cha, nút con,… cuối cùng là các nút lá

 Mỗi server quản lý DNS sẽ ứng

với một nút của cây

 Mỗi nút biểu diễn một miền

trong hệ thống DNS

 Mỗi miền có một hay nhiều miền con và có một máy chủ DNS tương ứng quản lý hệ thống tên trong miền đó

5

Hệ thống tên miền DNS  Nút:

 Độ dài tên không quá 63 ký tự  Nút kề nhau không được có cùng tên  Nút gốc có nhãn rỗng, ký hiệu “.”

 Miền con:

 Tạo thành từ mỗi nút của không gian tên  Các nút bên dưới có thể đi đến được các nút đó

6

Hệ thống tên miền DNS  Cơ chế phân giải

 Để gắn một tên miền vào một địa chỉ IP, một chương trình ứng dụng sẽ gọi một thủ tục trong thư viện gọi là Bộ phân giải tên miền (Resolver) và truyền tham số tên cho nó.

 Bộ phân giải tên sẽ gửi gói dữ liệu dạng UDP cho máy chủ DNS, tại đây máy chủ DNS sẽ tìm kiếm và cung cấp một địa chỉ IP tương ứng cho Bộ phân giải tên.

 Căn cứ vào địa chỉ IP này, chương trình có thể thiết lập kết nối TCP với đầu cuối hoặc gửi gói dữ liệu UDP

7

Hệ thống tên miền DNS

8

8.1.2- Bản ghi tài nguyên RR

 Mỗi tên miền đều có thể có một tập bản ghi tài nguyên liên quan

 Bản ghi tài nguyên = (IP +

tài nguyên khác).

 Chức năng chính của DNS là gán tên miền vào bản ghi tài nguyên.

 Các bản ghi tài nguyên ở

dạng mẫu tự ASCII

Domain_name Time_to_live Domain_name

Class Type Value Time_to_live Class Type Value

9

Bản ghi tài nguyên  Domain_name: chỉ miền mà bản ghi áp dụng.  Time_to_live: biểu thị thời gian sống của bản ghi.  Class:

 Internet: trường này có giá trị là IN.  Non-internet: giá trị khác  Type: chỉ loại bản ghi 

10

Type

Ý nghĩa

Giá trị

Khởi tạo quyền (máy chủ này

Các tham số của miền (số id, email,

SOA

là nơi lưu trữ dl về miền)

TTL,…)

Địa chỉ IP của một máy chủ

Số nguyên 32-bit

A

nào đó

XĐ máy chủ email cho một

Ưu tiên, miền sẵn sàng nhận thư

MX

tên miền

Máy chủ tên miền/ miền quản

Tên của máy chủ miền

NS

SD khi khai báo nhiều tên

Tên miền

CNAME

miền cùng trỏ đến 1 đ/c

Con trỏ ánh xạ đ/c IP sang

Tên danh định của đ/c IP

PTR

tên miền

Cấu hình của Server

CPU và Hệ ĐH bằng ký tự

HINFO

Mô tả máy chủ DNS

Văn bản dạng mã ASCII

TXT

11

8.1.3- Máy chủ tên miền  Hệ thống Internet được chia thành hơn 200 miền

cấp cao, mỗi miền chứa một số lượng lớn các máy chủ và được chia thành nhiều miền con theo phân cấp.

 Một tên miền cấp cao: tổ chức và địa lý.  Ví dụ:.gov; .int; ... (ISO 3166 )

12

Không gian tên miền  Tên miền đầy đủ:

 Tên các nút từ nút lá đến nút gốc  Phân cách bằng dấu chấm “.”

Ví dụ:

 Các miền cấp cao (mức đỉnh):  Miền tổ chức: tên gồm 3 ký tự

Ví dụ: com, edu, gov, …

 Miền địa lý: các mã quốc gia gồm 2 ký tự

Ví dụ: uk, vn, ca, fr, …

13

Không gian tên miền  Tên miền của một nút:

 Dãy các nhãn từ nút đó đến nút của cây  Các nhãn trong tên miền cách nhau bằng dấu

chấm “.”

 Độ dài tên miền tối đa là 255 ký tự  Tên miền tuyệt đối kết thúc bằng dấu chấm “.”

Ví dụ: www.microsoft.com.

 Tên miền tương đối không kết thúc bằng dấu

chấm và sẽ được phần mềm cục bộ ghép đầy đủ khi xử lý

 Một miền là miền con của miền khác nếu tên

miền đó chứa tên miền kia

14

Không gian tên miền Miền tổ chức

Miền (domain)

Mô tả

com (commercial)

Các tổ chức thương mại, doanh nghiệp

edu

Các tổ chức giáo dục

gov

Các tổ chức chính phủ

int

Các tổ chức quốc tế

mil

Các tổ chức quân sự

net

Một mạng không thuộc các loại phân vùng khác

org

Các tổ chức không thuộc một trong các loại trên

15

Không gian tên miền Miền địa lý

Miền (domain)

Quốc gia tương ứng

au

Úc

at

Áo

be

Bỉ

ca

Canada

fi

Phần Lan

fr

Pháp

de

CHLB Đức

it

Ý

jp

Nhật Bản

vn

Việt Nam

16

Máy chủ tên miền  Có thể sử dụng một máy chủ tên miền để chứa toàn

bộ cơ sở dữ liệu DNS

 Thực tế:

 máy chủ này sẽ bị quá tải vì số lượng tên miền quá lớn,  máy chủ này ngừng hoạt động Internet sẽ không làm

việc được.

Zone

17

Máy chủ tên miền  Zone

 Mỗi zone là một phần của hệ thống tên miền

(tree)

 Chứa một name server lưu thông tin của miền đó

18

Hoạt động  Dựa trên mô hình client/server

 Client đưa ra một truy vấn đến DNS server  Sau đó DNS server tìm kiếm trong CSDL và phản

hồi lại thông tin tìm được

Truy vấn

www.microsoft.comIP ?

Phản hồi địa chỉ IP

Client

DNS Server

19

Hoạt động

1. Truy vấn địa chỉ IP của tên vùng www.yahoo.com?

DNS Server

2. Địa chỉ IP của www.yahoo.com là 209.191.93.52

Client

3. Truy xuất trang chủ tại địa chỉ 209.191.93.52

209 .191.93.52

4. Phản hồi lại trang chủ của www.yahoo.com

Quá trình truy cập trang web www.yahoo.com

20

Hoạt động

21

8.2 Hệ thống thư điện tử

 Năm 1982, hệ thống thư điện tử của

ARPANET xuất hiện tương ứng với chuẩn RFC 821 (giao thức truyền dẫn) và RFC 822 (khuôn dạng bản tin). Sau đó chúng được chỉnh sửa lại thành các chuẩn của mạng Internet là RFC 2821 và RFC 2822.

22

8.2.1- Kiến trúc và các dịch vụ

 Hệ thống thư điện tử bao gồm 2 thành phần

 Tác tử người dùng: cho phép người sử dụng đọc và gửi mail. Đây chính là các chương chương trtrììnhnh ccụụcc bbộộ cung cấp các phương thức dựa vào câu lệnh, bảng chọn (menu) hoặc đồ họa để tương tác với hệ thống thư điện tử.

 Tác tử truyền bản tin: cho phép chuyển bản tin từ nguồn deamon) của hệ

đến đích. Chúng thường là các nhân (deamon thống hoạt động như các tiến trình nền

 Hầu hết các hệ thống đều cho phép người sử dụng tạo hộp thư để lưu trữ thư nhận được. Người ta thường sử dụng các câu lệnh để tạo và hủy hộp thư, duyệt nội dung thư, chèn và xóa bản tin khỏi hộp thư, ...

23

Kiến trúc và các dịch vụ  Hệ thống thư điện tử hỗ trợ 5 chức năng cơ

bản sau:  Kết cấu bản tin: liên quan đến tiến trình tạo bản

tin và trả lời

 Chuyển giao bản tin: liên quan đến việc di chuyển

bản tin từ nguồn đến đích nhận

 Thông báo: báo cho người gửi biết tình trạng của

bản tin

 Hiển thị bản tin nhận được để người nhận có thể

đọc.

 Sắp xếp/ bố trí: đây là bước cuối cùng, nó liên quan đến các thao tác mà người nhận làm đối với bản tin đã nhận được.

24

Kiến trúc và các dịch vụ  Kết cấu một thư gồm 3 phần: bao thư

(envelop), phần đầu (header) và phần thân (body)

Envelop: đóng gói bản Envelop tin. Chứa các thông tin cần thiết để truyền bản tin (đ/c nhận, mức độ ưu tiên, bảo mật,…)

Header: chứa các thông Header tin liên đến tác tử người dùng

25

8.2.2- Tác tử người dùng  Một tác tử người dùng  một chương trình /bộ đọc thư, có thể hiểu được các lệnh để tạo thư, nhận thư và phản hồi thư cũng như các thao tác đối với hộp thư.

Gửi thư điện tử  Nội dung

 nội dung bản tin  địa chỉ đích  các thông số cần thiết khác.

 Bản tin có thể được tạo bởi các bộ soạn thảo,

chương trình xử lý văn bản.

 Địa chỉ của người nhận phải tuân theo khuôn dạng

mà tác tử người dùng có thể hiểu được.

26

Tác tử người dùng

Đọc thư điện tử  Khi tác tử người dùng khởi động, nó tìm kiếm thư gửi đến trong hộp thư của người sử dụng trước khi hiển thị. Sau đó nó có thể thông báo số lượng các bản tin trong hộp thư hoặc liệt kê danh sách các thư nhận được.

27

8.2.3- Cấu trúc bản tin

 Chuẩn RFC 822  Bản tin bao gồm một bao thư gốc, các trường

mào đầu, dòng ký tự trống và nội dung bản tin.

Header

Ý nghĩa

To

Cc

Bcc

From

Sender

Receiced

Return-Path

28

Cấu trúc bản tin

 Ngoài ra, phần header còn chứa một số

thông tin khác

29

Cấu trúc bản tin

 Chuẩn MIME (The Multipurpose Internet Mail

Extensions)

 Chuẩn RFC 822: sử dụng cho bản tin gồm

tiếng Anh và ký tự theo mã ASCII

 Thực tế, bản tin có thể chứa:

 Chữ có dấu.  Không theo mẫu tự Latin (alphabet).  Chữ tượng hình  Đa phương tiện  => Chuẩn MIME

30

Cấu trúc bản tin

 Chuẩn MIME

 Tiếp tục sử dụng cấu trúc của RFC 822  Thêm vào cấu trúc của phần thân  Xác định kỹ thuật mã hóa cho nội dung không

phải là mã ASCII

31

Cấu trúc bản tin

 Content-Type

32

 Ví dụ

33

8.2.4- Truyền bản tin  Hệ thống truyền bản tin liên quan đến việc chuyển mạch bản tin từ nguồn gửi đến đích. Một phương pháp đơn giản để thực hiện việc này là thiết lập một từ máy nguồn đến máy đích và sau đó kết nối chuyển bản tin.

 Giao thức  SMTP  ESMTP (Extended Simple Mail Transport Protocol )

34

SMTP  Là một giao thức sử dụng mã ASCII đơn giản  Thiết lập một kết nối TCP - cổng 25.  Nhân của hệ thống thư điện tử sẽ lắng nghe

cổng 25 thông qua giao thức SMTP.  Nếu chấp nhận kết nối  sao chép bản tin và

đưa vào hộp thư tương ứng.

 Nếu không phân phát được bản tin tạo ra thông báo lỗi chứa phần đầu của bản tin và gửi trả lại nơi phát bản tin

35

SMTP  Sau khi thiết lập kết nốiTCPTCP đến cổng 25, máy gửi thư hoạt động như một máy khách (client), đợi máy nhận lúc này hoạt động như máy chủ (server) ra thông báo trước.

 Máy chủ bắt đầu gửi một dòng văn bản chứa nhận dạng và thông báo chuẩn bị sẵn sàng nhận thư. Nếu quá trình này không xảy ra thì, máy khách sẽ giải phóng kết nối và lặp lại quá trình trên.  Nếu máy chủ sẵn sàng nhận thư điện tử, máy

khách sẽ thông báo người gửi và người nhận thư. Nếu tồn tại người nhận thì máy chủ sẽ cho phép máy khách gửi thư. Sau khi máy khách gửi thư và máy chủ chấp nhận, thư sẽ không được kiểm tra lỗi vì kết nối TCP cung cấp kết nối tin cậy.

36

37

8.2.5- Phân phối bản tin đến người nhận  Vấn đề

 Thiết lập một kết nối TCP đến người nhận và sau

đó truyền bản tin trên kết nối đó.

  Tất cả các máy trạm trên mạng muốn trao đổi

bản tin đều phải vào mạng (on-line).

 Giải pháp

 Xây dựng một tác tử chuyển giao bản tin trên

máy chủ ISP để nhận thư điện tử và lưu thư vào hộp thư nằm trên máy chủ ISP.

38

Phân phối bản tin đến người nhận  Để người nhận thư có thể lấy được thư từ máy

chủ ISP về  giao thức cho phép tác tử chuyển giao bản tin trên máy người nhận kết nối được với tác tử chuyển giao bản tin trên máy chủ ISP và sao chép bản tin từ máy chủ về máy người nhận thư.  POP3 (Post Office Protocol - Giao thức bưu điện tử).  IMAP (Internet Message Access Protocol - Giao

thức truy cập thông điệp Internet).

 Webmail.

39

POP3  Giao thức này dùng để giữ kết nối giữa máy người gửi và máy người nhận thông qua mạng Internet trong trường hợp cả 2 máy đều cùng có mặt trên mạng và trong trường hợp người nhận không lên mạng

40

POP3  POP3 được bắt đầu khi người sử dụng khởi

động bộ nhận thư.

 Bộ nhận thư sẽ gọi máy chủ ISP và thiết lập một kết nối TCP với tác tử chuyển giao bản tin ở cổng 110.

 Khi thiết lập được kết nối, POP3 sẽ thực hiện

tuần tự tiến trình sau:  Chứng thực  Giao dịch  Cập nhật

41

POP3

42

IMAP  Giao thức POP3 sẽ hoạt động có hiệu quả khi một người sử dụng chỉ có một địa chỉ thư điện tử trên một ISP và luôn truy cập từ một máy tính. Nếu việc nhận thư được thực hiện ở nhiều máy và nhiều nơi khác nhau thì tất cả các thư của một người nào đó sẽ bị phân tán rải rác khắp nơi.

  IMAP (RFC 2060)

 Tất cả các thư điện tử sẽ được lưu giữ trong máy chủ vôvô

ththờờii hhạạnn và ở trong nhiều hộp thư,

 Cung cấp các cơ chế mở rộng cho phép đọc được các

không ccầầnn chuy

chuyểểnn bbảảnn

bản tin hoặc một phần bản tin mà không tin vvềề mmááyy ngưngườờii nhnhậậnn tin

43

POP3 vs. IMAP

44

Webmail  Webmail sử dụng các tác tử chuyển giao bản

tin để lắng nghe cổng 25 đối với kết nối SMTP vào. Một kết nối TCP được thiết lập để gửi các lệnh SMTP.

 Khi người sử dụng đăng nhập vào trang web, nếu đăng nhập thành công, máy chủ sẽ tìm kiếm hộp thư của người sử dụng và liệt kê danh sách thư điện tử có trong đó theo định dạng của trang web

45

World Wide Web

46

World Wide Web

 WWW là một hệ thống thông tin phi cấu trúc. Bao gồm các Server cung cấp t.tin theo định dạng siêu văn bản và các Client (trình duyệt) nhận thông tin/hiển thị thông tin theo yêu cầu NSD  Sử dụng giao thức HTTP (HypterText Transfer Protocol).

47

World Wide Web

 Các thành phần của www

 Clients  Nhà cung cấp dịch vụ

Internet (ISP)

 Hệ thống truyền dẫn, Routers và switches

 Servers

48

World Wide Web  Cách thức một trình duyệt lấy một web page  Client gửi một yêu cầu đến server để lấy trang

web.

 Một yêu cầu có cấu trúc theo giao thức HTTP

chứa một địa chỉ trang web đó (còn gọi là URL- Uniform Resource Locator). Một địa chỉ trang web có cấu trúc như sau:

http://www.viethanit.edu.vn/index.jsp

49

World Wide Web  Một trang web là một tài

liệu điện tử được viết bằng HTML hoặc các ngôn ngữ khác.

 Trang web có thể chứa

văn bản, hình ảnh, video, ảnh động và âm thanh, các dữ liệu tương tác.  Mỗi trang web có một địa

chỉ duy nhất URL xác định vị trí của nó trên server.  Các trang web chứa siêu

liên kết đến các trang web khác.

50

World Wide Web

 Web site:

 Một website là một hay nhiều trang web có nội dung liên quan, được tổ chức lưu trữ theo cấu trúc và liên kết với nhau bởi các siêu liên kết (hyperlink).

 Người dùng có thể duyệt hết các trang web bằng các sử dụng các siêu liên kết giữa các trang web này

51

World Wide Web  Cookies

 Lưu thông tin về người dùng (user) đã truy cập

vào server để sử dụng lại các thông tin này  Phân biệt người dùng nào đã đăng ký rồi  Thương mại điện tử: xác định hàng đã bỏ vào

shopping cart

 Customized web portal: yahoo, gmail,…

 Khi người dùng yêu cầu 1 trang web, server gắn thêm các thông tin vào trang web trả về này  Cookies  RFC 2109

52

World Wide Web  Cấu trúc

 Content: chứa các thông tin mà Server có thể

dùng lại

53

World Wide Web  Static Web

 Dữ liệu chứa trong máy chủ, chỉ có thể hiện thị và

không thể thay đổi

 Dynamic Web

54

Ví dụ về truyền thông của SMTP

Sau khi kết nối giữa người gửi (trình khách)

và người nhận (trình chủ) đã được thiết lập, những việc làm sau đây là những việc hoàn toàn hợp lệ, đối với một phiên giao dịch dùng giao thức SMTP. Các hệ thống máy tính đều có thể thiết lập một kết nối, bằng cách dùng những dòng lệnh của phần mềm telnet, trên một máy khách. Chẳng hạn:

telnet www.example.com 25

khởi động một kết nối SMTP từ máy gửi thông điệp đến máy chủ www.example.com.

55

S: 220 www.example.com ESMTP Postfix C: HELO mydomain.com S: 250 Hello mydomain.com C: MAIL FROM: S: 250 Ok C: RCPT TO: S: 250 Ok C: DATA S: 354 End data with . C: Subject: test message C: From: sender@mydomain.com C: To: friend@example.com C: C: Hello, C: This is a test. C: Goodbye. C: . S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye

56