MẠNG MÁY TÍNH VÀ INTERNET

Chương 3: Các giao thức tầng ứng dụng Các giao thức tầng ứng dụng

bangtqh@utc2.edu.vn

Nội dung

1. Các nguyên lý của tầng ứng dụng

2. Web và HTTP

3.3. FTPFTP

4. Thư điện tử - SMTP, POP3, IMAP 4. Thư điện tử - SMTP, POP3, IMAP

5. DNS

6. Ứng dụng P2P

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 2

3.3. File Transfer Protocol (FTP)

file transfer

FTP client

FTP server

FTP user interface

user at host

remote file system

local file system

(cid:1) Là giao thức truyền file 1 máy đến một máy tính ở xa (cid:1) Là giao thức truyền file 1 máy đến một máy tính ở xa

(remote host)

(cid:1) Hoạt đông theo mô hình Client/Server

– Client: Khởi tạo kết nối – Server: máy tính ở xa (remote host)

(cid:1) Giao thức FTP được đặc tả trong RFC 959

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 3

3.3. FTP (tt) (cid:2) Client khởi tạo kết nối TCP tới

TCP control connection, server port 21

server tại port 21 (control)

TCP data connection, server port 20

FTP client

FTP server

(cid:2) Client truyền thông tin xác thực (username/password) cho server qua kết nối được khởi tạo ở bước 1 (cid:2) Client gửi các lệnh (commands)

qua kết nối control tới server qua kết nối control tới server

(cid:2) Phía server khởi tạo data connection khác data connection khác khi có nhu cầu truyền file tiếp theo.

(cid:2) Khi nhận được lệnh truyền/gửi file, phía server khởi tạo kết nối TPC thứ 2 ở port 20 (data connection) (cid:2) Sau khi gửi thành công 1 file, phía

server đóng kết nối data

(cid:2) FPT server lưu trạng thái thư mục hiện thời của lần đăng nhập gần nhất từ client

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 4

Một số lệnh và phản hồi trong FTP

(cid:1)Commands

(cid:1)Return code

Gửi các ký tự dạng mã ASCII qua kết nối control

FTP Server gửi cho client các mã trạng thái lệnh và chú giải (pharse) tương ứng

– USER username

– 331 Username OK, password required password required

– PASS password

– 125 data connection

– LIST hiện ds file/folder

– RETR filename tải về một

already open; transfer starting

file từ server(cid:3)client

– 425 Can’t open data

connection

– STOR filename đẩy 1 file từ

– 452 Error writing file

client(cid:3)server

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 5

Nội dung

1. Các nguyên lý của tầng ứng dụng

2. Web và HTTP

3. FTP

4.4. Thư điện tử 4.4. Thư điện tử

Thư điện tử -- SMTP, POP Thư điện tử -- SMTP, POP

, IMAP SMTP, POP33, IMAP SMTP, POP33, IMAP , IMAP

5. DNS

6. Ứng dụng P2P

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 6

3.4.Electronic mail (email)

Gồm 3 thành phần chính:

outgoing message queue

user agent

user mailbox

mail server

user agent

(cid:1) User agent (cid:1) Mail server (cid:1) Simple Mail Transfer Protocol (SMTP)

SMTP

user agent agent

mail server server

User agent

SMTP

SMTP

user agent

(cid:1) Còn gọi là “Mail reader” (cid:1) Có chức năng soạn thảo,

mail server

hiển thị thư

user agent

user agent

(cid:1) Có khả năng gửi các thông điệp outgoing/incomming được lưu trên server

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 7

3.4.Email (tt)

Mail server

outgoing message queue

user agent

user mailbox

(cid:1) Hộp thư lưu lại các thư điện tử (có thể chưa được đọc) của người sử dụng.

mail server

user agent

(cid:1) Hàng đợi chứa các thư sẽ

SMTP

được gửi đi.

user agent agent

mail server server

Giao thức SMTP

SMTP

(cid:1) Là giao thức để các máy

SMTP

user agent

mail server

chủ mail (bưu cục) trao đổi email với.

user agent

– Là client khi gửi thư.

– Là server khi nhận thư

user agent

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 8

3.4.Email (tt) (cid:1) Đặc tả trong RFC-282 (cid:1) Sử dụng dịch vụ TCP, truyền email tin cậy từ SMTP client tới

SMTP server qua cổng 25

(cid:1) Truyền trực tiếp từ server gửi tới server nhận. (cid:1) Truyền qua ba giai đoạn :

– “Bắt tay” – “Bắt tay”

– Truyền các thông điệp (email)

– Đóng kết nối.

(cid:1) Tương tác: Lệnh (client (cid:3) server) và Trả lời (Server(cid:3) Client)

– Lệnh : văn bản mã ASCII.

– Trả lời : mã trạng thái và có thể có thêm giải thích

(cid:1) Các thông điệp phải được mã bằng bảng mã ASCII 7 bit

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 9

Minh họa 1 tình huống gửi email

4) Mailserver của HD gửi “lá thư” do

1) HD dùng “mail reader” soạn 1 email và xác định người nhận (“to”) là:

HD viết tới mailserver của QT

quachtinh@someschool.edu

5) Mailserver của QT tiến hành phân

2)

“Mail reader” của HD gửi thư tới

loại và đưa “lá thư” vừa nhận được

máy chủ mail server quản lý hòm

vào hòm thư của QT

thư của cô ấy; mail này được đặt

6) QT sử dụng mail-agent lấy và hiển

vào hàng đợi xử lý vào hàng đợi xử lý

thị nội dung “lá thư” mà HD gửi cho thị nội dung “lá thư” mà HD gửi cho

3) Mailserver của HD đóng vai trò là

anh ấy.

client khởi tạo một kết nối TCP tới

mailserver của QT

user agent

user 1 agent

mail server

2

6

mail server 3

4

Quách Tĩnh

Hoàng Dung

mail server của Hoàng Dung

5 mail server của Quách Tĩnh

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 10

Minh họa tương tác giữa Client/Server trong giao thức STMP

S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 alice@crepes.fr... Sender ok C: RCPT TO: S: 250 bob@hamburger.edu ... Recipient ok S: 250 bob@hamburger.edu ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 11

Thử nghiệm tương tác SMTP (cid:1) Từ Client (Windows XP)

– Telnet đến máy chủ SMTP tại địa chỉ 192.168.1.1

• Lệnh: telnet 192.168.1.1 25

– Dùng các lệnh dưới đây để minh họa tương tác

• HELO • HELO • MAIL FROM: chipheo@utc2.edu.vn • RCPT TO: thino@abc.com • DATA • QUIT

– Sử dụng Outlook Express kiểm tra mailbox của Thị Nở

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 12

SMTP [RFC 821] (cid:1) Sử dụng dịch vụ TCP, truyền email tin cậy từ SMTP client

tới SMTP server qua cổng 25

(cid:1) Truyền trực tiếp : server gửi tới server nhận. (cid:1) Truyền qua ba giai đoạn :

– “Bắt tay” – Truyền các thông điệp (Thư) – Truyền các thông điệp (Thư) – Đóng kết nối.

(cid:1) Tương tác: Lệnh (client => server) và Trả lời (Server =>

Client) – Lệnh : bảng mã ASCII. – Trả lời: mã trạng thái và có thể có thêm giải thích

(cid:1) Các thông điệp phải được sử dụng bảng mã ASCII 7 bit

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 13

SMTP – tổng kết

(cid:1) SMT sử dụng kết nối bền vững

So sánh với HTTP: (cid:1) HTTP là giao thức “kéo” (kéo thông tin từ server về client)

(cid:1) SMTP là giao thức kiểu “đẩy” (đẩy

(cid:1) SMTP đòi hỏi thông điệp (Header, Body) được định dạng bằng mã ASCII 7bit

thông điệp lên server)

(cid:1) SMTP và HTTP đều sử dụng mã

ASCII cho lệnh và/trả lời

(cid:1) Xâu ký tự đặc biệt (CRLF.CRLF) không được chứa trong nội dung thư (nếu có phải mã hóa)

(cid:1) HTTP: mỗi đối tượng năm riêng

(cid:1) SMTP Server sử dụng

trong 1 thông điệp

CRLF.CRLF để xác định vị trí kết thúc thông điệp

(cid:1) SMTP: Nhiều đối tượng nằm trong

1 thông điệp

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 14

Khôn dạng của email

(cid:1)SMTP: Giao thức để

trao đổi email

header

blank line

(cid:1)RFC 822 chuẩn định dạng thông điệp email – Phần mào đầu

body body

• To: • To: • From: • Subject

Rất khác so với các lệnh của SMTP – Thân thông điệp

Chỉ bao gồm các ký tự ACSII

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 15

Giao thức truy cập thư

SMTP

SMTP

mail access protocol

user agent

user agent

(e.g., POP, IMAP)

sender’s mail server

receiver’s mail server

(cid:1) SMTP

– Gửi thư giữa Client/Server hoặc Server/Server

(cid:1) Giao thức nhận thư

– POP : Post Office Protocol [RFC 1939]

• Kiểm chứng (agent <-->server) và tải thư về – MAP: Internet Mail Access Protocol [RFC 1730]

• Phức tạp hơn do có nhiều đặc tính hơn. • Thao tác trên các thư lưu trên server. – HTTP : Hotmail , Yahoo! Mail, Gmail,...v.v.

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 16

S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

Giao thức POP3 Pha kiểm tra danh tính: (cid:1) Câu lệnh của khách: – user: khai báo tên – pass: mật-khẩu (cid:1) Phản hồi của chủ

– +OK – -ERR – -ERR

Pha giao dịch, khách:

– list: liệt kê số thứ tự thư – retr: tải thư theo stt – dele: xóa – quit: kết thúc

C: list S: 1 498 S: 2 912 S: . S: . C: retr 1 S: S: . C: dele 1 C: retr 2 S: S: . C: dele 2 C: quit S: +OK POP3 server signing off

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 17

POP3(tt) và IMAP

IMAP (cid:1) Giữ tất cả thư ở một

nơi: trên máy chủ

POP3 (cid:1) Ở ví dụ trước sử dụng cơ chế “tải-và-xóa”. (cid:1) Bob không thể đọc lại thư nếu như anh ta đổi user agent (UA)

(cid:1) “tải-và-giữ lại”:

bản sao của thư sẽ được lưu trên nhiều UA

(cid:1) POP3 là giao thức

(cid:1) Cho phép n/dùng tổ chức thư theo thư mục (cid:1) IMAP giữ lại trạng thái người dùng qua các phiên làm việc: – Tên của thư mục cũng như ánh xạ giữa ID của thông điệp và tên thư mục

không trạng thái

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 18

Nội dung

1. Các nguyên lý của tầng ứng dụng

2. Web và HTTP

3. FTP

4. Thư điện tử - SMTP, POP3, IMAP 4. Thư điện tử - SMTP, POP3, IMAP

5.5. DNSDNS

6. Ứng dụng P2P

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 19

3.5. DNS – Domain Name System

Con người : có thể nhận dạng bằng nhiều cách:

Domain Name System: (cid:1) Là hệ cơ sở dữ liệu phân tán

– Số Chứng Minh Thư

– Tên, Biệt danh

cài đặt bởi nhiều name servers phân cấp

– Số hộ chiếu

(cid:1) Máy tính và Router trên (cid:1) Máy tính và Router trên

(cid:1) Giao thức tầng ứng dụng : – Host, routers yêu cầu name – Host, routers yêu cầu name

Internet

servers để giải mã tên (ánh xạ địa chỉ <->tên)

– địa chỉ IP (32 bit) - sử dụng để đánh địa chỉ cho các datagram

– “Tên”, ví dụ như utc2.edu.vn

– Chú ý : Chức năng cơ bản của Internet hoạt ñộng như giao thức tầng Ứng dụng

– “Phức tạp” đặt ở “rìa” của mạng

Hỏi: Ánh xạ địa chỉ IP với Tên ?

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 20

3.5. DNS – Hệ thống tên miền (tt)

(cid:1) Chức năng

– Ánh xạ (tên miền, dịch vụ đến 1

giá trị nào đó)

• utc2.edu.vn (cid:3) 118.69.171.24 • yahoo.com (cid:3) 98.138.253.109

• www.microsoft.com (cid:3)

23.198.138.227

(cid:1) Hỏi:

– Tại sao không dùng trực tiếp địa

chỉ IP của máy chủ ?

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 21

3.5. DNS (tt)

Các dịch vụ của DNS (cid:1) Phân giải tên miền sang địa

Tại sao không quản lý DNS tập trung ?

chỉ IP

(cid:1) Máy chủ DNS gặp sự cố

(cid:1) Đặt tên cho máy

(cid:3) cả mạng down.

– Tên chính thức và tên thay

thế (alias)

(cid:1) Lưu lượng truy xuất tới

(cid:1) Đặt tên thay thế cho máy

máy chủ lớn.

chủ email (cid:1) Phân bố tải

(cid:1) Độ trễ cao do cự ly từ client đến máy chủ lớn

– những trang website lớn

(cid:1) Khó bảo trì. (cid:1) Khó mở rộng.

thường có nhiều máy chủ vơi địa chỉ IP khác nhau đằng sau một tên miền chính thức

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 22

Kiến trúc DNS

Root DNS Servers

(cid:144) (cid:144)

org DNS servers

edu DNS servers

com DNS servers

poly.edu DNS servers

umass.edu DNS servers

pbs.org DNS servers

yahoo.com DNS servers

amazon.com DNS servers

Client muốn có địa chỉ IP của www.amazon.com (cid:1) Client truy vấn 1 máy chủ gốc (root) để tìm ra DNS “.com” (cid:1) Client truy vấn máy chủ DNS “.com” để lấy địa chỉ DNS

amazon.com

(cid:1) Client tiếp tục truy vấn máy chủ DNS “amazon.com” để lấy

địa chỉ máy chủ web “www.amazon.com”

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 23

Root DNS (cid:1) Các Local DNS sẽ liên hệ với Root DNS nếu nó không có thông

tin về tên miền cần phân giải

(cid:1) Root DNS – Máy chủ tên miền gốc

– Liên hệ với máy chủ có thẩm quyền (Authoritative DNS) nếu không

tìm ra ánh xạ

– Lấy thông tin ánh xạ – Trả thông tin ánh xạ về cho các máy chủ tên miên cục bộ (Local

DNS)

k. RIPE London (17 other sites)

i. Netnod, Stockholm (37 other sites)

c. Cogent, Herndon, VA (5 other sites) c. Cogent, Herndon, VA (5 other sites) d. U Maryland College Park, MD h. ARL Aberdeen, MD j. Verisign, Dulles VA (69 other sites )

m. WIDE Tokyo (5 other sites)

e. NASA Mt View, CA f. Internet Software C. Palo Alto, CA (and 48 other sites)

a. Verisign, Los Angeles CA

(5 other sites)

b. USC-ISI Marina del Rey, CA l. ICANN Los Angeles, CA

(41 other sites)

g. US DoD Columbus, OH (5 other sites)

Có 13 root name “servers” trên toàn thế giới

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 24

TLD và Authoritative server (cid:1) Máy chủ Top-Domain

– Quản lý các tiên miền cấp 1 .com .org .net .edu ...v.v và tất cả các tên miền quốc gia cấp cao (ví dụ .vn .cn .my .jp .ca .ru ...v.v

– Network Solutions duy trì máy chủ “.com” TLD – Educause duy trì máy chủ “.edu” TLD – Educause duy trì máy chủ “.edu” TLD

(cid:1) Máy chủ có thẩm quyền - Authoritative DNS servers: – Máy chủ DNS cơ quan, cung cấp những ánh xạ tin cậy giữa tên miền và IP cho những máy chủ của chính cơ quan đó (vd: Web, mail).

– Có thể được vận hành bởi cơ quan hay nhà cung cấp

dịch vụ (ISP – Internet Services Provider)

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 25

Local DNS – Máy chủ tên miền cục bộ

(cid:1) không phụ thuộc một cách rõ ràng vào hệ thống phân

cấp

(cid:1) Mỗi ISP (ISP dân sự, cơ quan, trường học) có một

máy chủ tên miền cục bộ.

– Còn được gọi là “máy chủ tên miền mặc định” – Còn được gọi là “máy chủ tên miền mặc định”

(cid:1) khi một máy thực hiện một truy vấn DNS, truy vấn sẽ

được gửi cho máy chủ DNS cục bộ của nó

– Hoạt động như là một máy đại diện(proxy), chuyển tiếp

truy vấn lên hệ phân cấp

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 26

Truy vấn phân giải tên miền

(cid:1) Truy vấn đệ quy (recursive)

– Bắt một DNS phải trả lời cho nó rằng truy vấn đó có thành công hay ko. DNS server phải liên lạc với một DNS server nào đó khác mà nó có thể để xử lý truy vấn. Khi nhận tín hiệu trả lời thành công từ DNS server khác, nó sẽ gửi câu trả lời đó đến DNS client.

(cid:1) Truy vấn lặp (Iterative)

– Client hỏi DNS server, server sẽ trả lại thông tin tốt nhất mà nó có hiện tại. Thông tin này có thể trong cache. Nếu nó ko biết thông tin mà client hỏi, nó sẽ trả về cho client một DNS gần nhất mà nó biết rằng có thể hữu ích cho client.

root DNS server

2

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 27

Ví dụ phân giải tên miền (cid:1) Máy tại cis.poly.edu muốn có IP của gaia.cs.umass.edu

3

TLD DNS server

4

5

local DNS server dns.poly.edu

6

7

1

8

Truy vấn lặp (cid:1) Máy chủ được hỏi trả về (cid:1) Máy chủ được hỏi trả về tên của máy chủ khác để hỏi tiếp

authoritative DNS server dns.cs.umass.edu

requesting host cis.poly.edu

(cid:1) “Tôi không biết tên miền này, nhưng hãy thử hỏi máy chủ này xem sao”

gaia.cs.umass.edu

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 28

Ví dụ phân giải tên miền (tt)

root DNS server

(cid:1)Truy vấn lặp

3

2

7

6

– giao toàn bộ công việc cho máy chủ cấp cao hơn

TLD DNS server

Tải cao? Tải cao?

4

local DNS server dns.poly.edu

5

1

8

authoritative DNS server dns.cs.umass.edu

requesting host cis.poly.edu

gaia.cs.umass.edu 29

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn

DNS: cache và cập nhật bản ghi

(cid:1) Mỗi khi (bất kì) máy chủ tên miền nhận được giá trị ánh

xạ, nó sẽ “nhớ tạm” lại (cache) thông tin đó – Các thông tin trong bộ nhớ cache sẽ hết hạn và bị xóa sau

một thời gian nhất định

• Vì vậy nếu 1 host thay đổi địa chỉ IP thì có thể nhiều máy khác trên internet không biết điều này (cho tới khi cache hết hạn) – Tên các máy chủ TLD thường được nhớ đệm trong máy chủ – Tên các máy chủ TLD thường được nhớ đệm trong máy chủ

cục bộ (Local DNS)

• Vì vậy máy chủ DNS root thường ít khi được truy cập

(cid:1) Dữ liệu (bảng ánh xạ) tên miền được cập nhật/thông báo

giữa các máy chủ giao thức được thiết kế bởi IETF – RFC 2136 – http://www.ietf.org/html.charters/dnsind-charter.html

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 30

Bản ghi DNS

DNS: Cơ sở d/liệu phân bố chứa các bản thi tài nguyên (RR)

Khuôn dạng 1 RR: (, , , )

Loại A (type=A)

Type=CNAME

(cid:5) là tên thay thế cho tên chính (cid:5) là tên thay thế cho tên chính

(cid:5) là tên máy (cid:5) là địa chỉ IP máy (cid:5) là địa chỉ IP máy

thống www.ibm.com thực chất là servereast.backup2.ibm.com

Type=NS

(cid:5) là tên chính thống

(cid:5) : là tên miền (ví dụ:

foo.com)

(cid:5) Máy chủ thẩm quyền cho tên miền này

Type=MX

(cid:5) là tên của mailserver liên

hệ với

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 31

Thông điệp trong DNS protocol

(cid:1) Client gửi request message lên

DNS server và nhận về response message có khuôn dạng

Header (cid:1) Identification: là số định danh 16 bit. Số này được sử dụng trong bit. Số này được sử dụng trong response message do servẻ trả về cho client

(cid:1) Flags: Là cờ hiệu nhận biết

– Là request/response message – Mong muốn truy vấn đệ quy – Có chấp nhận đệ quy không? – Trả về là Authoritative server

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 32

Thông điệp trong DNS protocol (tt)

Giá trị , của RR truy vấn

RRs trong phản hồi truy vấn vấn

Bản ghi dành cho máy chủ có thẩm quyền (authoritative)

Thông tin bổ sung (có thể không dùng đến)

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 33

Thêm bản ghi RR vào DNS (cid:1) Ví dụ: Công ty mới thành lập “Network Utopia” đăng ký tên miền networkuptopia.com tại DNS nhà quản lý tên miền (vd: Network Solutions)

– Cung cấp tên, địa chỉ IP, địa chỉ IP của máy chủ dsn có thẩm

quyền (sơ cấp và thứ cấp).

– Nhà quản lý chèn 2 thẻ RR vào máy chủ TLD “.com” :

(networkutopia.com, dns1.networkutopia.com, NS) (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A)

(cid:1) Trong máy chủ tên miền cục bộ, tạo ra thẻ (RR) loại A cho

www.networkuptopia.com; thẻ loại MX cho networkutopia.com

(cid:1) Làm thế nào để mọi người lấy được địa chỉ IP trang web của

bạn?

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 34

Nội dung

1. Các nguyên lý của tầng ứng dụng

2. Web và HTTP

3. FTP

4. Thư điện tử - SMTP, POP3, IMAP 4. Thư điện tử - SMTP, POP3, IMAP

5. DNS

6.6. Ứng dụng P

Ứng dụng P22PP

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 35

3.6. Ứng dụng P2P (cid:1) Kiến trúc Peer-to-Peer

– Máy chủ Không luôn luôn mở – Các máy đầu cuối kết nối trao

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

– Các bên kết nối không liên tục,

có thể thay đổi địa chỉ IP

(cid:1) Ba chủ đề:

– Phân phối file (BitTorent) – Tìm kiếm thông tin – Thoại trên mạng IP (VoIP)

như Skype, Zalo

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 36

Phân phối file (file distribution)

(cid:1) Hỏi: Mất bao lâu để phân phối 1 file (có độ lớn F) từ

server tới N client? Băng thông upload/download mỗi client là giới hạn

us: Băng thông upload của server

u1

file, size F

d1

di: băng thông download của client

u2

us

d2

server

di

uN

Mạng (với băng thông vô hạn)

ui

dN

ui: Băng thông upload của client

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 37

Phân phối file: client-server

Server: (cid:1) Lần lượt đẩy (upload) N file vào

us

mạng – Thời gian đẩy N file: N*F/us

di

network

ui

F

Client: (cid:1) Nhận (download) bản copy của file (cid:1) Nhận (download) bản copy của file

do server gửi – Thời gian nhận file: F/di

Tăng tuyến tính theo N

= Dc-s = max{N*F/us,, F/dmin}

Thời gian phân phối file F tới N máy client (mô hình client-server)

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 38

us

F

Phân phối file: P2P Server (cid:1) Phải đẩy (upload) ít nhất 1 bản sao file F vào mạng (cid:3) Cần thời gian là: F/us

di

network

ui

Client (cid:1) Phải download 1 bản sao của F (cid:3) Cần thời gian là: F/di. Có N (cid:3) Cần thời gian là: F/di. Có N client nên số bit phải tải về là N*F – Tốc độ tải lên nhanh nhất có

thể là us + Σui

Thời gian phân phối file F tới N máy khách

(theo mô hình P2P) = DP2P = max{F/us,, F/dmin,, NF/(us + Σui)}

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 39

Client-Server Vs P2P

Tốc độ upload của client N/d = u, F/u = 1 hour, us = 10u, dmin ≥ us

3.5

P2P

3

i i

Client-Server

2.5

2

i i

1.5

1

i i

i i

0.5

e e m m T T n n o o i i t t u u b b i i r r t t s s D D m m u u m m n n M M

0

0

5

10

15

20

25

30

35

N

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 40

Phân phối file: BitTorrent

(cid:1) Torrent: Nhóm các cá

nhân chia sẻ (1 đoạn) file

Phân phối kiểu P2P (cid:1) Máy chủ(tracker): theo dõi các các nhân tham gia vào bittorent

Lấy ds người tham gia

Trao đổi các đoạn của file

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 41

BitTorent (tt) (cid:1) File được chia thành các đoạn (chunk) 256KB (cid:1) Các nhân tham gia vào torrent

– Ban đầu không có chunk nào, nhưng sẽ tích lũy chúng

theo t/g

– Đăng kí với tracker để lấy danh sách thành viên, liên

kết tới một nhóm nhỏ thành viên (“hàng xóm”) kết tới một nhóm nhỏ thành viên (“hàng xóm”)

(cid:1) Trong khi tải về, người tải đồng thời chia sẻ đoạn tệp

cho những người khác.

(cid:1) Cá nhân có thể tham gia hoặc từ bỏ torrent (cid:1) Một khi user tải xong tệp, họ có thể rời mạng torrent

hoặc ở lại để chia sẻ cho người khác

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 42

BitTorent (tt)

Kéo các đoạn tệp (cid:1) Tại bất kì

Gửi các đoạn tệp: tit-for-tat (cid:1) Alice gửi các đoạn cho 4 hàng xóm mà đang gửi đoạn cho cô ta ở vận tốc cao nhất

thời điểm nào, các thành viên khác nhau sẽ có những đoạn khác nhau của một tệp.

– Đánh giá lại top 4 sau mỗi

10s 10s

(cid:1) Một cách định kì, một thành (cid:1) Một cách định kì, một thành viên (Alice) sẽ yêu cầu từ các hàng xóm danh sách các đoạn mà họ có.

(cid:1) Alice gửi yêu cầu tới các

(cid:1) sau mỗi 30 giây: chọn ngẫu nhiên một thành viên khác, và gửi đoạn cho nó

đoạn mà cô ta thiếu

– Thành viên mới này có thể

– đoạn hiếm nhất trước

vào top 4

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 43

BitTorent (tt)

(1) Alice “khai thông một cách lạc quan” cho Bob (2) Alice trở thành 1 trong top 4 nhà cung cấp của Bob; Bob

trả ơn

(3) Bob trở thành 1 trong tóp 4 nhà cung cấp của Alice

higher upload rate: find better trading partners, get file faster !

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 44

Phép lịch sự khi tham gia Bittorrent

(cid:1) Bittorrent không giúp người dùng giấu tên.

(cid:1) Càng nhiều user thì càng nhiều băng thông cho việc chia sẻ tệp.

– Sau khi hoàn thành tải về tệp thì nên để tài nguyên đấy tải lên một thời gian để những người dùng khác tải về các phần của tài nguyên đã phân phối.

(cid:1) BitTorrent theo dõi dung lượng mà user tải lên và tải về, user biết được mình (cid:1) BitTorrent theo dõi dung lượng mà user tải lên và tải về, user biết được mình

đã “lấy” bao nhiêu và “trả” bao nhiêu cho mạng chia sẻ.

– Quy tắc ứng xử lịch sự là đã tải về bao nhiêu tài nguyên thì nên tải lên bấy

nhiêu tài nguyên

– User nào có tỉ lệ chia sẻ dưới giá trị tối tiểu (nhận nhiều nhưng chia sẻ ít) có

thể bị đặt trong tình trạng "chỉ tải lên", và không thể tải về cho đến khi tỉ lệ chia sẻ lớn hơn giá trị tối thiểu.

– Tài nguyên bao giờ cũng có người tải lên đầu tiên, người tải lên đầu tiên này

sẽ có tỷ lệ chia sẻ là unlimited (chỉ có tải lên, không có tải xuống)

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 45

Mạng máy tính & Internet - Chương 3 bangtqh@utc2.edu.vn 46