TẦNG ỨNG DỤNG - · PDF fileo Một số ứng dụng đòi hỏi độ trễ...

56
TẦNG ỨNG DỤNG MAI Xuân Phú [email protected] Khoa Công Nghệ Thông Tin Đại Học Công Nghiệp TPHCM

Transcript of TẦNG ỨNG DỤNG - · PDF fileo Một số ứng dụng đòi hỏi độ trễ...

Page 1: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

TẦNG ỨNG DỤNG

MAI Xuân Phú

[email protected]

Khoa Công Nghệ Thông Tin

Đại Học Công Nghiệp TPHCM

Page 2: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Nội dung

Giới thiệu chung tầng Ứng Dụng

Các giao thức, dịch vụ ở tầng Ứng Dụng

o HyperText Transfer Protocol (HTTP)

o File Transfer Protocol (FTP)

o Domain Name System (DNS)

o Dynamic Host Configuration Protocol (DHCP)

o Thư điện tử (e-mail), SMTP, POP & IMAP

o P2P

2 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 3: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Nhắc lại về kiến trúc phân tầng

Hệ giao thức TCP/IP

3 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 4: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Ứng dụng mạng

4 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 5: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Một số thuật ngữ

Tiến trình: chương trình đang chạy trên thiết bị đầu cuối o Trên cùng máy tính, hai tiến trình có thể truyền thông với

nhau qua truyền thông liên tiến trình (HĐH quản lý)

o Các tiến trình chạy trên các máy khác nhau: tuân thủ giao thức tầng ứng dụng

User Agent: phần mềm đóng vai trò giao diện giữa người dùng và mạng o Cài đặt giao thức tầng ứng dụng

o Ví dụ

• Web: trình duyệt (Browser) IE, Firefox, Opera, Chrome,…

• E-mail: mail reader Outlook, Thunderbird,…

• Streaming audio/video: media player

5 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 6: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Tầng Ứng Dụng

Tầng cao nhất của mô hình OSI o Giao tiếp trực tiếp với các tiến

trình ứng dụng

o Thi hành những dịch vụ thông thường của các tiến trình đó

Cung cấp các dịch vụ mạng cho các ứng dụng người dùng o Text-based: truy cập từ xa, email,

truyền tập tin, diễn đàn trao đổi,…

o Multimedia: WWW, điện thoại Internet, hội nghị trực tuyến, âm thanh và video theo yêu cầu,…

6 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 7: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Trình ứng dụng

và Giao thức tầng ứng dụng

Trình ứng dụng: Các tiến trình phân tán truyền

thông với nhau

o Chạy trên các thiết bị đầu cuối

o Trao đổi thông điệp với nhau

o Ví dụ: email, FTP, Web

Giao thức tầng ứng dụng

o Một phần của trình ứng dụng

o Định nghĩa các quy tắc giao tiếp

o Sử dụng dịch vụ truyền thông do tầng dưới cấp (TCP,

UDP)

7 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 8: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Giao thức tầng ứng dụng

API: Application Programming Interface

o Giao diện giữa tầng ứng dụng và giao vận

Socket : Internet API

o Hai tiến trình truyền thông với nhau bằng cách

gửi/nhận dữ liệu vào/từ socket

Socket được định danh bởi:

o Địa chỉ IP của máy (IP Address)

o Số hiệu cổng (Port)

o Kiểu giao thức giao vận (TCP/UDP)

8 Port thông dụng: http://www.iana.org/assignments/port-numbers

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 9: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Yêu cầu từ tầng giao vận (1)

Mất mát dữ liệu (Data Loss)

o Chấp nhận sự mất mát UDP

o Đòi hỏi 100% dữ liệu truyền tin cậy TCP

Thời gian (Timing)

o Một số ứng dụng đòi hỏi độ trễ thấp (hội thoại, trò

chơi trực tuyến)

Băng thông (Bandwidth)

o Chỉ hoạt động khi thỏa mãn băng thông tối thiểu

o Hoạt động ở bất cứ băng thông nào

9 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 10: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Yêu cầu từ tầng giao vận (2)

Ví dụ: yêu cầu của một số ứng dụng cụ thể

10 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 11: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Giao thức tầng giao vận cấp (1)

TCP (Transmission Control Protocol)

o Hướng nối: yêu cầu thiết lập kết nối Client-Server

o Truyền dữ liệu tin cậy: xác nhận từ bên nhận

o Điều khiển lưu lượng: không làm lụt bên nhận

o Kiểm soát tắc nghẽn: điều chỉnh tốc độ khi quá tải

o Không hỗ trợ: thời gian, băng thông tối thiểu

UDP (User Datagram Protocol)

o Truyền dữ liệu không tin cậy: không xác nhận từ bên nhận

o Không hỗ trợ: thiết lập kết nối, độ tin cậy, điều khiển lưu

lượng, kiểm soát tắc nghẽn, thời gian, băng thông tối thiểu

Vậy tại sao vẫn sử dụng UDP

11 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 12: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Giao thức tầng giao vận cấp (2)

Ví dụ: một số ứng dụng trên internet và giao

thức giao vận tương ứng

12 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 13: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Các mô hình ứng dụng

Khách - chủ

Ngang hàng (Peer-to-Peer)

Mô hình lai

13 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 14: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Mô hình khách – chủ

Khách (Client) o Gửi yêu cầu truy cập đến

máy chủ

o Địa chỉ IP: động hoặc tĩnh

o Nguyên tắc: không liên lạc với máy khách khác

Chủ (Server) o Thường xuyên trực tuyến

o Địa chỉ IP tĩnh (hoặc dùng Dynamic DNS)

o Máy chủ dự phòng

Ví dụ: Web, Mail, …

14 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 15: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Mô hình điểm - điểm

Không có máy chủ

trung tâm

Các máy có vai trò

ngang hàng

Hai máy bất kì có thể

liên lạc trực tiếp

Địa chỉ IP: động hoặc

tĩnh

Ví dụ: Gnutella

15 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 16: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Mô hình lai

Máy chủ trung tâm

o Quản lý người dùng

o Thông tin tìm kiếm,…

Các máy khách giao

tiếp trực tiếp với nhau

Ví dụ: Skype

o Server: quản lý đăng

nhập

o Client kết nối trực tiếp

với nhau

16 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 17: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Một số giao thức, ứng dụng

Web và HTTP (HyperText Transfer Protocol)

Truyền tập tin và FTP (File Transfer Protocol)

Domain Name System (DNS)

Dynamic Host Configuration Protocol (DHCP)

Thư điện tử (e-mail) và SMTP, POP & IMAP

P2P

17 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 18: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Web và giao thức HTTP

WWW: World Wide Web o Mạng lưới toàn cầu

o Trao đổi tài liệu siêu văn bản HTML (HyperText Markup Language) trên Internet

HTTP: HyperText Transfer Protocol o Giao thức truyền siêu văn

bản

o Giao thức tầng ứng dụng cho ứng dụng web

o Mô hình: Client – Server

18 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 19: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Hoạt động của HTTP

Server mở một TCP socket chờ tại cổng 80

(default)

Client khởi tạo một liên kết TCP tới server

Server chấp nhận yêu cầu kết nối

Trao đổi thông điệp HTTP (giao thức ứng dụng)

o HTTP Request

o HTTP Response

Đóng kết nối TCP

19 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 20: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Các liên kết HTTP

HTTP không duy trì

o Chỉ 1 đối tượng web được gửi qua liên kết TCP

o Sử dụng mặc định HTTP/1.0 (RFC 1945)

HTTP có duy trì

o Nhiều đối tượng có thể gửi qua một liên kết TCP

o Sử dụng mặc định HTTP/1.1 (RFC 2068)

20 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 21: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Hoạt động của HTTP/1.0

21 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 22: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Hoạt động của HTTP/1.1

22 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 23: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Hoạt động của HTTP/1.1 với Pipeline

23 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 24: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

HTTP Request (1)

Định dạng dưới mã ASCII

24 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 25: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

HTTP Request (2)

25 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 26: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

HTTP Request (3)

Các phương thức trong thông điệp yêu cầu

26 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 27: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

HTTP Response (1)

27 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 28: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

HTTP Response (2)

Mã trạng thái trả lời

28 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 29: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Example 1

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng 29

This example retrieves a document. We use the GET method to

retrieve an image with the path /usr/bin/image1. The request line

shows the method (GET), the URL, and the HTTP version (1.1).

The header has two lines that show that the client can accept

images in the GIF or JPEG format. The request does not have a

body.

The response message contains the status line

and four lines of header. The header lines define the date, server,

MIME version, and length of the document. The body of the

document follows the header.

Page 30: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Example 1

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng 30

Page 31: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Example 2

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng 31

In this example, the client wants to send data to the server. We

use the POST method. The request line shows the method

(POST), URL, and HTTP version (1.1). There are four lines of

headers. The request body contains the input information.

The response message contains the status line and four lines of

headers. The created document, which is a CGI document, is

included as the body.

Page 32: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Example 2

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng 32

Page 33: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Bộ đệm - Caching

“Cache”: bộ nhớ đệm

Xét trường hợp như trong

ảnh: nhiều máy từ 1 tổ

chức cùng truy cập đến 1

địa chỉ

Giải pháp?

33 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 34: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Sử dụng bộ đệm web proxy

34 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 35: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Web Caches (1)

Proxy: vừa là client, vừa là server

Sử dụng bởi các ISP nhỏ, các tổ chức trường

học, công ty…

Ưu điểm

o Giảm lưu lượng web trên internet

o Giảm thời gian đáp ứng

Khuyết điểm

o Thắt cổ chai

o Thông tin lỗi thời

35 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 36: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Web Caches (2)

Xét 1 số trường hợp của proxy

o Cache hit

o Cache miss

o Proxy quá tải

o Trang web động

36 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 37: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Phương thức GET có điều kiện

37 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 38: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Ứng dụng truyền tập tin

Mô hình: Client – Server

Trao đổi file giữa các máy

Giao thức FTP (File Transfer Protocol, RFC 959)

Phương thức vận chuyển: TCP

o Cổng 21: lệnh FTP

o Cổng 20: dữ liệu

38 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 39: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

FTP

Ví dụ một số lệnh và mã trả lời

39 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 40: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

FTP

Ví dụ

Command line

40 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 41: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Dịch vụ thư điện tử (1)

Simple Mail Transport Protocol (SMTP)

Internet Message Access Protocol (IMAP)

Post Office Protocol (POP)

41

user agent

mail server

mail server user

agent

1

2 3 4 5 6

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 42: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Dịch vụ thư điện tử (2)

MUA (Mail User Agent) o Lấy thư từ, máy chủ, gửi thư đến máy chủ

o e.g. Outlook, Thunderbird…

MTA (Mail Transfer Agent) o Chứa hộp thư đến của người dùng (mail box)

o Hàng đợi để gửi thư đi

o e.g. Sendmail, MS Exchange…

Giao thức: o Chuyển thư: STMP - Simple Mail Transfer Protocol

o Nhận thư • POP – Post Office Protocol

• IMAP – Internet Mail Access Protocol

42 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 43: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Giao thức SMTP

RFC 2821

TCP, port 25: Chuyển thư

o Từ client đến server

o Giữa các server với nhau

Tương tác yêu cầu trả lời

o Yêu cầu: Lệnh vi mã ASCII

o Trả lời: mã trạng thái và dữ liệu

43

user agent

sender’s mail server

user agent

SMTP SMTP access protocol

receiver’s mail server MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 44: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Khuôn dạng thư điện tử

SMTP: Giao thức để truyền thư

RFC 822: định nghĩa khuôn dạng

Phần đầu o To:

o From:

o Subject:

Phần thân o Mã hóa dưới dạng mã

ASCII

44

header

body

blank line

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 45: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Định dạng thư điện tử:

Mở rộng đa phương tiện

MIME: multimedia mail extension, RFC 2045, 2056

Thêm một dòng trong phân đầu chỉ rõ khuôn dạng dữ

liệu gửi đi

45

From: [email protected]

To: [email protected]

Subject: Picture of yummy crepe.

MIME-Version: 1.0

Content-Transfer-Encoding: base64

Content-Type: image/jpeg

base64 encoded data .....

.........................

......base64 encoded data

multimedia data type, subtype,

parameter declaration

method used to encode data

MIME version

encoded data

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 46: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Các giao thức nhận thư

POP: Post Office Protocol [RFC 1939] o Đăng nhập và lấy hết thư về

o Port: 110 (POP 3)

IMAP: Internet Mail Access Protocol [RFC 1730] o Phức tạp hơn POP

o Cho phép lưu trữ và xử lý thư trên máy chủ

o Port: 143

HTTP: HyperText Transfer Protocol o Sử dụng Web browser như một MUA

o MUA và MTA giao tiếp thông qua HTTP

o Ví dụ: Hotmail, Yahoo! Mail, Gmail…

46 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 47: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

POP3 protocol

47

authorization phase client commands:

o user: declare username

o pass: password

server responses

o +OK

o -ERR

transaction phase, client:

list: list message numbers

retr: retrieve message by number

dele: delete

quit

C: list

S: 1 498

S: 2 912

S: .

C: retr 1

S: <message 1 contents>

S: .

C: dele 1

C: retr 2

S: <message 1 contents>

S: .

C: dele 2

C: quit

S: +OK POP3 server signing off

S: +OK POP3 server ready

C: user bob

S: +OK

C: pass hungry

S: +OK user successfully logged on

MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 48: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Hệ thống tên miền

Domain Name System – DNS

o Danh bạ phân bố phân tầng và toàn cục

o Dịch từ tên máy hoặc tên miền sang địa chỉ IP

48 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 49: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Giao thức cấu hình máy chủ động

Dynamic Host Configuration Protocol (DHCP)

49 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 50: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Chia sẻ ngang hàng P2P

Centralized directory: original Napster

Gnutella

KaZaA

BitTorrent

50 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 51: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

P2P: centralized directory

51

centralized directory server

peers

Alice

Bob

1

1

1

1 2

3

original “Napster” design

1) when peer connects, it

informs central server:

o IP address

o content

2) Alice queries for “Hey

Jude”

3) Alice requests file from

Bob

Source: Jim Kurose, Keith Ross, Computer networking: A top down approach, Featuring the Internet, 3rd edition MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 52: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Query flooding: Gnutella

52

Query

QueryHit

Query

QueryHit

Query message sent over existing TCP connections peers forward Query message QueryHit sent over reverse path Scalability: limited scope flooding

Source: Jim Kurose, Keith Ross, Computer networking: A top down approach, Featuring the Internet, 3rd edition MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 53: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Exploiting heterogeneity: KaZaA

53

ordinary peer

group-leader peer

neighoring relationships

in overlay network

Each peer is either a

group leader or assigned

to a group leader.

o TCP connection between

peer and its group leader.

o TCP connections between

some pairs of group

leaders.

Group leader tracks the

content in all its children.

Source: Jim Kurose, Keith Ross, Computer networking: A top down approach, Featuring the Internet, 3rd edition MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 54: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

BitTorrent

54 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 55: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Tài liệu tham khảo

Andrew S. Tanenbaum, “Computer Networks”,

5th edition: chapter 7

Nader F. Mir, “Computer and Communication

Networks”: chapter 9

Jim Kurose & Keith Ross, “Computer

Networking: A Top-Down Approach”, 5th edition:

chapter 2

55 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng

Page 56: TẦNG ỨNG DỤNG -   · PDF fileo Một số ứng dụng đòi hỏi độ trễ thấp ... o Điều khiển lưu lượng: ... Lệnh vi mã ASCII

Thảo luận

Câu hỏi?

Ý kiến?

Đề xuất?

56 MXPhu – Mạng Căn bản – 2. Tầng Ứng Dụng