Bài giảng Mạng máy tính - Chương 2: Lớp ứng dụng

pdf 47 trang hapham 3520
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 2: Lớp ứng dụng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_2_lop_ung_dung.pdf

Nội dung text: Bài giảng Mạng máy tính - Chương 2: Lớp ứng dụng

  1. Ch ơ ng 2 LỚP ỨNG D ỤNG (Application Layer) 2: Lp ng d ng 1 Tng quan m c tiêu c a ch ơ ng Ì Làm quen v i các khái Ì Kh o sát các giao th c ni m cũng nh th c lp ng d ng ph bi n hi n các giao th c  HTTP ng d ng  FTP  Mô hình d ch v  SMTP / POP3 / IMAP lp truy n t i  DNS  Mô hình client- server  Mô hình peer-to- peer 2: Lp ng d ng 2 1
  2. NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 3 NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 4 2
  3. Các ki n trúc c a ng d ng m ng Ì Client-server Ì Peer-to-peer (P2P) Ì Lai gi a client-server và P2P 2: Lp ng d ng 5 Ki n trúc Client-server Ì server:  Là máy ch th ng tr c  Đa ch IP c đ nh Ì client:  Giao ti p v i server client/server  Có th kt n i không liên t c  Đa ch IP tĩnh hay đng  Không trao đ i tr c ti p l n nhau 2: Lp ng d ng 6 3
  4. Ki n trúc thu n P2P Ì Không có server th ng tr c Ì Các end system t do peer-peer giao ti p tr c ti p Ì Các máy k t n i v i nhau không liên t c và thay đi đ a ch IP Kh tri n t t nh ng khó qu n lý 2: Lp ng d ng 7 Lai gi a client-server và P2P Skype  Là ng d ng VoIP theo ki n trúc P2P  Server trung tâm: tìm đ a ch ca đ i tác xa  Kt n i client-client tr c ti p không thông qua server Instant messaging  Ch ơ ng trình chat gi a hai user là P2P  Service trung tâm: phát hi n s hi n h u c a client và v trí ca client •Mi khi user online s đăng ký đ a ch vi server trung tâm • user nh server tìm đ a ch ca ng i mu n g i đ n 2: Lp ng d ng 8 4
  5. Giao ti p gi a các quá trình (Process) Quá trình (Process): là Client process: là quá ch ơ ng trình ch y trên trình kh i s giao ti p mt host. Server process: là quá Ì Trên cùng host: giao trình đ i client ti p liên quá trình process liên h (inter-process communication) . Ì Trên các host khác bi t: Ì Trong ki n trúc P2P các trao đ i thông đi p host có c client process và server process 2: Lp ng d ng 9 Giao ti p gi a hai quá trình trên hai host khác bi t Ì process truy n/nh n thông đi p đ n/t socket ca nó host hay host hay server server Ng i l p trình ki m soát process process socket socket TCP vi TCP v i bm Internet bm và các bi n và các bi n Hu hành ki m soát 2: Lp ng d ng 10 5
  6. Đa ch quá trình Ì Đ nh n các thông đi p, Ì Danh đ nh g m đ a ch IP process ph i có danh đ nh và ch s port liên k t v i Ì Mi thi t b host có đ a process trên host . ch IP Ì Ví d các ch s port: Ì Li u đ a ch IP đ đ ch  HTTP server: 80 đnh mt process hay  Mail server: 25 không ? Ì Đ gi m t thông đi p HTTP đn ptithcm.edu.vn web server:  IP address: 203.162.44.162  Port number: 80 2: Lp ng d ng 11 Các đ nh nghĩa giao th c l p ng dng Ì Các lo i thông đi p đ c Các giao th c ch y trên trao đ i, khu v c công c ng:  Ví d request, response Ì Đc đ nh nghĩa trong Ì Cú pháp thông đi p: các RFC  Có các field nào, kích Ì Cho phép liên k t ho t th c đng Ì Ng nghĩa c a thông Ì Ví d HTTP, SMTP đi p Các giao th c riêng:  Ý nghĩa c a thông tin trong field Ì Ví d Skype Ì Các qui t c v th i đi m và cách th c truy n hay đáp ng cho các thông đi p 2: L p ng d ng 12 6
  7. Dch v truy n t i c n cho ng d ng Data loss Throughput Ì Mt s ng d ng ch p nh n Ì Mt s ng d ng yêu c u th t thoát s li u ví d thông l ng t i thi u, ví d audio multimedia Ì Các ng d ng khác nh Ì Các ng d ng khác dùng truy n file hay telnet yêu bt c thông l ng nào có cu truy n t i tin c y 100% đc Timing Security Ì Mt s ng d ng yêu Ì cu đ tr nh , ví d M t mã, b o toàn s li u, Internet telephony, game t ơ ng tác 2: Lp ng d ng 13 Các d ch v ca l p truy n t i trên Internet TCP service: UDP service: Ì Thi t l p k t n i (connection- Ì Truy n t i không tin c y oriented) Ì Không cung c p: thi t l p Ì Truy n t i tin c y kt n i, đi u khi n lu ng, Ì Đi u khi n lu ng (flow control) ki m soát ngh n, ki m soát Ì Ki m soát ngh n tr , đ m b o thông l ng, an ninh Ì Không cung c p: ki m soát tr , đm b o thông l ng t i thi u, an ninh 2: Lp ng d ng 14 7
  8. Mt s ng d ng và giao th c h tr Giao th ức l ớp Giao th ức l ớp Ứng d ụng ứng d ụng truy ền t ải e-mail SMTP [RFC 2821] TCP remote terminal access Telnet [RFC 854] TCP Web HTTP [RFC 2616] TCP file transfer FTP [RFC 959] TCP streaming multimedia HTTP (eg Youtube), TCP hay UDP RTP [RFC 1889] Internet telephony SIP, RTP, riêng (ví dụ Skype) Th ường là UDP 2: Lp ng d ng 15 NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 16 8
  9. Web và HTTP HTTP đ c đ c t trong RFC 2616 Vài thu t ng Ì Web page gm nhi u đi t ng (object) Ì Đi t ng có th là HTML file, nh JPEG, Java applet, audio file, Ì Web page cũng bao g m base HTML-file ch a các đi t ng tham chi u (referenced object) Ì Mi đ i t ng tham chi u đ c ch đ nh b i URL Ì Ví d URL: www.ptithcm.edu.vn/itDept/pic.gif host name path name 2: Lp ng d ng 17 Tng quan HTTP (1) HTTP: hypertext H transfer protocol TT P req Ì Giao th c l p ng d ng cho PC ch y H ue TT st trình duy t IE P r web esp ons Ì Mô hình client/server e  client: trình duy t yêu st ue eq c u, nh n và hi n th các r se Server TP on đi t ng web HT sp ch y re TP Apache Web  server: Web server g i HT server các đ i t ng đ đáp ng các yêu c u PC ch y trình duy t firefox 2: Lp ng d ng 18 9
  10. Tng quan HTTP (2) Dùng TCP: Ì client kh i t o k t n i TCP đ n port 80 c a server HTTP là “stateless” Ì server ch p nh n k t n i Ì server không l u gi Ì Thông đi p HTTP (thông thông tin v các yêu đi p giao th c l p ng cu đã qua dng) đc trao đ i gi a trình duy t (HTTP client) và Web server (HTTP server) Ì Đóng k t n i TCP 2: Lp ng d ng 19 Kt n i HTTP Kt n i HTTP không liên Kt n i HTTP liên t c tc Ì Nhi u đ i t ng đ c Ì Ch mt đ i t ng đ c chuy n qua m t k t n i chuy n qua m t k t n i TCP TCP 2: Lp ng d ng 20 10
  11. HTTP không liên t c Gi s ng i dùng nh p URL www.ptithcm.edu.vn/ITDep/home.index (ch ứa text và tham chi ếu đến 10 ảnh jpeg) 1a . HTTP client kh i đ ng k t n i HTTP server (process) ti www.ptithcm.edu.vn trên port 80 1b. HTTP server t i www.ptithcm.edu.vn đi k t n i ti port 80. “ch p nh n” kt ni, thông báo cho client 2. HTTP client truy n HTTP request message (ch a URL) vàoTCP socket. Thông đi p ch 3. HTTP server nh n request ra r ng client mu n đ i t ng message, to response ITDep/home.index message ch a đ i t ng đ c yêu c u, truy n thông đi p vào TCP socket c a nó. Th i gian 2: Lp ng d ng 21 HTTP không liên t c 4. HTTP server đóng k t n i 5. HTTP client nh n đáp ng ch a html file, hi n th html. Phân tích html file, tìm 10 tham chi u đ n các đ i t ng nh jpeg Th i gian 6. Lp l i các b c t 1-5 cho mi nh 2: Lp ng d ng 22 11
  12. HTTP không liên t c: th i gian đáp ng RTT: th i gian hành trình đi và v ca m t gói tin Th i gian đáp ng: Ì Kh i t o TCP Mt RTT đ kh i đ ng connection kt n i TCP RTT Ì Mt RTT cho HTTP Yêu c u file Th i gian request và m t vài byte RTT đáp ng đ u tiên truy n file Ì Nh n Th i gian truy n file file Tng = 2RTT+ th i gian truy n time time 2: Lp ng d ng 23 HTTP liên t c HTTP không liên t c: HTTP liên t c Ì Cn 2 RTT/đi t ng Ì server đ m kt n i sau khi Ì Ph i t o k t n i cho m i đ i gi đáp ng tng Ì Các thông đi p sau đ c g i Ì Trình duy t th ng m các qua k t n i đang m kt n i song song đ ly các Ì client nhanh chóng g i yêu đi t ng tham chi u cu v đ i t ng tham chi u Ì Mt RTT cho t t c các đ i tng tham chi u 2: Lp ng d ng 24 12
  13. HTTP request message Ì Hai lo i HTTP messages: request , response Ì HTTP request message:  Di d ng văn b n ASCII request line (GET, POST, GET /somedir/page.html HTTP/1.1 HEAD commands) Host: www.ptithcm.edu.vn User-agent: Mozilla/4.0 header Connection: close lines Accept-language:en-us Carriage return, (carriage return, line feed) line feed ch kt thúc thông đi p 2: Lp ng d ng 25 HTTP request message: đnh d ng t ng quát 2: Lp ng d ng 26 13
  14. Truy n lên form input Post method: URL method: Ì Ì Web page th ng ch a dùng GET method form input Ì Input đc truy n lên Ì Input đ c truy n lên di d ng URL field server d i d ng thân ca dòng yêu c u, ví d: th c th www.animalfood.com/animalsearch?monkeys&banana 2: Lp ng d ng 27 Các lo i Method HTTP/1.0 HTTP/1.1 Ì GET Ì GET, POST, HEAD Ì POST Ì PUT Ì HEAD  Truy n file lên máy ch , file n m trong thân th c  Yêu c u server đ đ i th , đng d n đ c ch tng đ c yêu c u ra ra trong URL ngoài đáp ng Ì DELETE  Xóa file đ c ch ra trong URL 2: Lp ng d ng 28 14
  15. HTTP response message status line (mã tr ng thái) HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 2010 12:00:15 GMT Server: Apache/1.3.0 (Unix) header Last-Modified: Mon, 22 Jun 2010 Content-Length: 6821 Content-Type: text/html data, ví d HTML file data data data data data đc yêu c u 2: Lp ng d ng 29 Các mã đáp ng HTTP Trong dòng đu tiên trong thôn đi p đáp ng t server ->client Ví d: 200 OK  request thành công, đi t ng yêu c u sau cùng có trong thông đi p này 301 Moved Permanently  Đi t ng yêu c u đã b chuy n, v trí mi đ c ch ra trong thông đi p này 400 Bad Request  Server không hi u 404 Not Found  Không tìm th y tài li u yêu c u trong server 505 HTTP Version Not Supported 2: Lp ng d ng 30 15
  16. Cookie (1) Nhi u Web site dùng cookie. Cookie là mt m u văn b n nh mà web server đ t trên máy user. M u này đ c g i l i server m i khi user truy c p vào web server. Stateless > stateful Thành ph n: 1) cookie header line trong các thông đi p HTTP 2) tp tin cookie trên máy ng i dùng, đ c trình duy t qu n lý 3) cơ s d li u n bên trong Web site Ví d: Ì User th ng truy c p Internet t máy tính PC Ì Vào m t web site bán hàng qua m ng nào đó ln đ u tiên Ì Khi HTTP request đ n web site, web site t o:  danh đ nh (ID) khác bi t  mt m c trong c ơ s d li u cho ID này 2: Lp ng d ng 31 Cookie (2) client server ebay 8734 http request Amazon server Tp tin cookie http response to ID Set-cookie: 1678 1678 cho user to ebay 8734 mc amazon 1678 http request cookie: 1678 S dng Truy c p cookie Cơ s Vài tu n sau: http response d li u Truy c p ebay 8734 http request amazon 1678 cookie: 1678 S dng cookie http response 2: Lp ng d ng 32 16
  17. Cookie (3) Cookie có th ch a: Cookie và tính riêng t : Ì Thông tin ch ng th c quy n Ì Cookie cho phép web site Ì Gi hàng hc và hi u nhi u v user Ì Khuy n ngh Ì User có th cung c p tên và Ì Tr ng thái phiên đa ch email cho web site (Web e-mail) Cách th c gi tr ng thái Ì các giao th c đ u cu i: duy trì tr ng thái t i sender/receiver qua nhi u giao tác Ì cookie: thông đi p http mang tr ng thái 2: Lp ng d ng 33 Ky thuât Caching Ì Kha i niêm cache Ì Đáp ng yêu c u c a client mà không c n truy vn server ngu n Ì Tr ng h p th c tê:  Môt c ơ quan co môt đ ng nôi đê n Internet  Tât ca l u l ng truy câp đê u đi qua kêt nôi nay  Nhiêu ng i dung co thê cu ng truy câp đê n cung môt nôi dung  Gia i pha p tăng tôc truy xuât: caching 2: Lp ng d ng 34 17
  18. Web cache (proxy server) Ì user cu hình trình duy t: truy xu t Web qua cache server Ì Trình dy t g i t t c Proxy HT t các yêu c u đ n cache TP ues re server eq H qu P r e  Đi t ng có trong client TT est TT ons P r H sp es re cache: cache đáp ng pon TP se HT t ngay es qu re e  P ns Đ i t ng không có T po HT es trong cache, cache yêu P r TT cu đ i t ng t server H ngu n, sau đó gi cho client client server 2: Lp ng d ng 35 Web caching Lý do dùng Web caching? Ì cache đóng hai vai trò Ì client, server Gi m th i gian đáp ng cho các yêu c u t Ì Thông th ng cache client đc cài đ t b i ISP Ì Gi m l u l ng trên các liên k t Internet c a cơ quan Ì Cho phép các nhà cung cp n i dung phân ph i ni dung hi u qu 2: Lp ng d ng 36 18
  19. Ví d Gi s Ì Trung bình m i đ i t ng có server 100,000 bit Ì Tc đ trung bình g i yêu c u Internet là 15/giây Ì Th i gian tr t router c a doanh nghi p đ n b t c web 1.5 Mbps server nào bên ngoài, c đi và access link v là 2 giây Mng c c b Hi u năng 10 Mbps LAN Ì Băng thông s dng trên LAN = 15% Ì Băng thông s dng trên access link = 100% Ì Tng tr = Tr qua Internet + tr truy c p + tr qua LAN = 2 giây + hàng phút + hàng mili giây 2: Lp ng d ng 37 Ví d (2) Gi i pháp 1 server Ì Tăng băng thông c a access link lên 10 Mbps Internet Hi u năng Ì Băng thông s dng trên LAN = 15% Ì Băng thông s d ng trên access link = 10 Mbps 15% access link Tng tr = Tr qua Internet + tr truy cp + tr qua LAN = 2 giây + c mili M ng c c b giây + c mili giây 10 Mbps LAN Ì Chi phí cho nâng c p 2: Lp ng d ng 38 19
  20. Ví d (3) Gi i pháp 2: cài đ t cache servers Ì Gi s xác su t tìm th y =0.45 Internet Hi u năng Ì 45% yêu c u s đ c đáp ng t c th i Ì 1.5 Mbps 55% yêu c u ph i l y t access link server ngu n Mng c c b Ì Băng thông s d ng trên 10 Mbps LAN access link đc gi m xu ng còn 55%, tr không đáng k , ch ng 10ms Ì Tng tr = Tr qua Internet + cache tr truy c p + tr qua LAN = 0,55*(2+0,01) + 0,45*(kho ảng m ười ms) 2: Lp ng d ng 39 GET có đi u ki n Ì Đ máy ch không ph i g i đ i cache server tng n u cache v n còn l u HTTP request msg gi bn c p nh t If-modified-since: Đ i t ng Ì cache: ch ra ngày c a b n sao Không b hi u ch nh đc c p nh t trong HTTP request HTTP response HTTP/1.0 If-modified-since: 304 Not Modified Ì server: kh ng đ nh không có HTTP request msg c p nh t gì m i: If-modified-since: HTTP/1.0 304 Not Đi t ng Modified đã b hi u ch nh Ì server:đi t ng đã b hi u ch nh HTTP response HTTP/1.0 200 OK HTTP/1.0 200 OK 2: Lp ng d ng 40 20
  21. NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 41 FTP (file transfer protocol) Giao di n Truy n file FTP FTP client server user H th ng file H th ng file xa cc b Ì Truy n/nh n file đ n/t máy xa Ì Mô hình client/server  client: kh i đ ng  server: ch đáp ng Ì ftp: đc đ c t trong RFC 959 Ì ftp server: dùng port 20 và 21 2: Lp ng d ng 42 21
  22. Kt n i cho đi u khi n và kt n i truy n s li u Cu n i TCP cho đi u Ì FTP client ti p xúc v i FTP khi n, port 21 server ti port 21, dùng TCP Ì client đc xác th c qua k t n i Cu n i TCP cho data ph c v đi u khi n FTP port 20 FTP client Ì client duy t các th m c xa server bng cách g i các l nh qua k t Ì Mu n truy n file khác, server ni đi u khi n. li m kt n i s li u. Ì Khi nh n l nh truy n file, server Ì Thông tin đi u khi n dùng m mt k t n i TCP th 2 đn kênh tách bi t v i s li u (out client of band) Ì Sau khi truy n file xong, server Ì FTP là stateful: lu gi th xóa k t n i s li u. mc hi n hành và xác th c tr c đó. 2: Lp ng d ng 43 Active FTP va Passive FTP Ì Active mode: FTP client kêt nôi t môt port ngâu nhiên N >1023 đê n command port tai server (21), client băt đâu lăng nghe trên port N+1 va truyên lênh PORT N+1 đê n FTP server. Server sau đo kêt nôi đê n công data đ c chi đinh trên client (N+1) t port 20 cua no . Ì Vi du 2: Lp ng d ng 44 22
  23. Active FTP va Passive FTP (2) Ì Passive mode: gi i pha p cho vân đê làm sao server kh i ta o môt kêt nôi đê n client Ì PASV: lênh bao v i server vê chê đô passive Ì Client kh i đông 2 kêt nôi đê n server, gia i quyêt vân đê ca c firewall loc kêt nôi đê n data port (t server đê n client). Hai port ngâu nhiên N>1023 va N+1, port N kêt nôi đê n port 21 cua server, sau đo client pha t lênh PASV, kêt qua la server m port ngâu nhiên P > 1023 va gi PORT P tr la i client, sau đo client kh i đông kêt nôi t port N+1 đê n port P trên server 2: Lp ng d ng 45 Active FTP va Passive FTP (3) Ì Vi du passive mode 2: Lp ng d ng 46 23
  24. Active FTP va Passive FTP (4) Ì Active FTP :  command : client >1023 > server 21  data : client >1023 1023 > server 21  data : client >1023 > server >1023 2: Lp ng d ng 47 Các l nh FTP và đáp ng Vài l nh ph bi n: Vài mã đáp ng Ì Lnh d i d ng ASCII text Ì Mã tr ng thái t ơ ng t nh qua kênh đi u khi n bên HTTP Ì USER username Ì 331 Username OK, Ì PASS password password required Ì 125 data connection Ì LIST tr v danh sách các already open; file trong th m c hi n transfer starting hành Ì 425 Can’t open data Ì RETR filename ly file connection Ì STOR filename gi file Ì 452 Error writing lên host xa file 2: Lp ng d ng 48 24
  25. Vi du FTP client Ì Command line Ì GUI FTP client: IE, firefox, FTPcute, 2: Lp ng d ng 49 NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 50 25
  26. outgoing Th đi n t (Electronic Mail) message queue user mailbox user Ba thành ph n chính: agent Ì user agent mail user server Ì mail server agent Ì SMTP: simple mail transfer SMTP mail protocol server user SMTP agent User Agent Ì composing, editing, reading SMTP mail messages mail user server agent Ì Ví d: Eudora, Outlook, Mozilla Thunderbird user Ì Hp th (hàng đ i) đi agent (outbox), h p th đ n user agent (inbox) cho m i user đ c lu trên server 2: Lp ng d ng 51 Mail server user Mail Server agent Ì mailbox ch a th đ n mail user Ì server outbox th ch gi agent Ì SMTP protocol đ truy n th SMTP mail server user SMTP agent SMTP mail user server agent user agent user agent 2: Lp ng d ng 52 26
  27. SMTP [RFC 2821] Ì Dùng TCP đ truy n th t client server, port 25 Ì Truy n tr c ti p: truy n server đ n server khác Ì Ba pha  Bt tay  Truy n th  đóng Ì Giao ti p l nh/đáp ng 2: Lp ng d ng 53 UserA truy n th sang UserB 1) User A dùng user agent t o 4) Th c th SMTP truy n th th và gi đ n ca user A qua k t n i TCP userB@ptithcm.edu.vn đn Server B. 2) User A g i th đ n server 5) Sever B nh n và đ t th vào A và server A x p th vào mailbox c a user B hàng đ i 6) User B dùng user agent đ 3) Th c th SMTP trên đc th Server A m mt k t n i TCP v i Server B 1 mail mail user user serverA serverB agent agent 2 3 6 4 5 User A User B 2: Lp ng d ng 54 27
  28. SMTP Ì SMTP dùng k t n i liên tc Ì SMTP yêu c u các thông đi p đ c mã hóa theo mã 7-bit ASCII Ì SMTP server dùng CRLF.CRLF xác đ nh kt thúc thông đi p 2: Lp ng d ng 55 Đnh d ng th đi n t Chu n đ nh d ng th đi n t header Dòng đc đ c t trong RFC 822 tr ng header lines, ví d  To:  From: body  Subject: khác vi l nh SMTP Ì body  Ni dung th ch ch a ký t ASCII 2: Lp ng d ng 56 28
  29. Dng m rng cho multimedia Ì MIME: multimedia mail extension, RFC 2045, 2056 Ì Thêm các dòng trong header đ khai báo lo i n i dung MIME From: alice@crepes.fr MIME version To: bob@hamburger.edu Subject: Picture of yummy crepe. Ph ơ ng pháp đc MIME-Version: 1.0 dùng đ mã hóa data Content-Transfer-Encoding: base64 Content-Type: image/jpeg Ki u s li u multimedia, khai báo tham s base64 encoded data base64 encoded data S li u đ c mã hóa 2: Lp ng d ng 57 Các giao th c l y th SMTP SMTP access user user agent agent protocol mail Server mail Server ca ng i g i ca ng i nh n Ì Giao th c : ly th t server  POP: Post Office Protocol [RFC 1939] • Xác th c (agent server) và download  IMAP: Internet Mail Access Protocol [RFC 1730] • Nhi u đ c tính, ph c t p • Thao tác x lý thông đi p đ c l u trên server  HTTP: gmail, Hotmail, Yahoo! Mail. 2: Lp ng d ng 58 29
  30. POP3 protocol S: +OK POP3 server ready C: user son Pha xác th c S: +OK C: pass ptithcm Ì client commands: S: +OK user successfully logged on  user: khai báo username C: list  pass: password S: 1 498 Ì Đáp ng t server S: 2 912 S: .  +OK C: retr 1  -ERR S: Pha t ơ ng tác, client: S: . C: dele 1 Ì list: li t kê mã s th C: retr 2 Ì retr: ly th b ng mã s S: S: . Ì dele: xóa C: dele 2 Ì quit C: quit S: +OK POP3 server signing off 2: Lp ng d ng 59 POP3 và IMAP POP3 IMAP Ì Ví d tr c là dùng ch Ì Gi tt c th trên đ download và xóa. server Ì User ch có th đ c l i Ì Cho phép user t ch c th trên client v a l y các th trong th m c th . Thay đ i client Ì IMAP gi tr ng thái không th đ c l i th qua các phiên: Ì Ch đ “Download-và-  Tên th m c và ánh x lu gi ”: các b n sao gi a các message ID và ca th đ c l u gi tên th m c trên client Ì POP3 là stateless 2: Lp ng d ng 60 30
  31. NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 61 DNS (Domain Name System) host, router: Domain Name System:  Đa ch IP đc dùng đ Ì Cơ s d li u phân tán đánh đ a ch các thi t đc hi n th c phân c p nhi u b, đc dùng b i máy name servers  Tên ví d Ì Giao th c l p ng d ng www.yahoo.com -đc host, router, name server giao dùng b i con ng i ti p nhau đ phân gi i tên Ánh x qua l i gi a đ a ch (thông d ch gi a tên và đ a ch ) IP và tên?  Lu ý: ch c năng c a core Internet, đc hi n th c nh giao th c l p ng d ng  Khá ph c t p t i vùng biên ca m ng 2: Lp ng d ng 62 31
  32. Cơ s d li u phân tán, phân c p Root DNS Servers com DNS servers org DNS servers edu DNS servers poly.edu umass.edu yahoo.com pbs.org amazon.com DNS servers DNS servers DNS servers DNS servers DNS servers Client mu n tìm đ a ch IP ca www.yahoo.com Ì client truy v n m t root server đ tìm com DNS server Ì client truy v n com DNS server đ ly yahoo.com DNS server Ì client truy v n yahoo.com DNS server đ ly đ a ch IP c a www.yahoo.com 2: Lp ng d ng 63 Root name server Ì Đc các name server c c b liên h mi khi chúng không th phân gi i m t tên Ì root name server:  Ti p xúc v i name server có th m quy n n u không hi u ánh x tên nào đó  Ly ánh x  Gi l i cho name server c c b H th ng tên mi n trãi ra kh p th gi i vi kho ng 13 root name server 2: Lp ng d ng 64 32
  33. TLD và các DNS Server c p th p Ì Các Top-level domain (TLD) server:  ch u trách nhi m cho com, org, net, edu, t t c các tên mi n qu c gia nh vn, uk, fr, ca, jp.  Network Solutions cai qu n các server cho com TLD  Educause cho edu TLD Ì Các server c p th p :  Các DNS server c a t ch c, doanh nghi p, cung cp ánh x tên host v i đ a ch IP xác th c cho các server bên trong (ví d Web, mail).  Có th đ c cai qu n b i t ch c, doanh nghi p hay nhà cung c p d ch v 2: Lp ng d ng 65 Name Server trong m ng c c b Ì Không ràng bu c vào phân c p Ì Mi ISP, công ty, trng h c có mt.  Cũng g i là name server m c đ nh Ì Khi host truy v n DNS, truy v n đ c g i đn DNS server c c b ca host  Tác đ ng nh m t proxy, chuy n truy n vào h th ng tên mi n phân c p. 2: Lp ng d ng 66 33
  34. Ví d v phân gi i tên root DNS server qua DNS 2 Ì 3 Host ti cis.icu.edu TLD DNS server mu n đ a ch IP c a 4 datacom.cs.ptithcm 5 .edu DNS server c c b Truy v n l p: dns.icu.edu Ì Server đ c truy v n 7 6 ch phúc đáp tên 1 8 server đ liên h Ì “Tôi không bi t tên DNS server th m quy n dns.cs.ptithcm.edu này, đ ngh hi server Host yêu c u này” cis.icu.edu datacom.cs.ptithcm.edu 2: Lp ng d ng 67 Ví d v phân gi i tên qua DNS root DNS server Truy v n đ qui: 2 3 Ì Đt trách nhi m phân 7 6 gi i tên lên name server đ c liên h TLD DNS server DNS server c c b dns.icu.edu 5 4 1 8 DNS server th m quy n dns.cs.ptithcm.edu Host yêu c u cis.icu.edu datacom.cs.ptithcm.edu 2: Lp ng d ng 68 34
  35. Caching và cp nh t các record Ì Khi name server hc ánh x tên, nó s cache li  Các m c trong cache bi n m t sau m t kho ng th i gian (timeout)  TLD server th ng cache trong các name server c c b • Do đó giúp gi m truy v n đ n root name server Ì Cơ ch cp nh t đ c xây d ng b i IETF  Xem thêm RFC 2136  2: Lp ng d ng 69 Các DNS record DNS: cơ s d li u phân tán l u các resource record (RR) Đnh d ng RR : (name, value, type, ttl) Ì Type=A Ì Type=CNAME  Tên là tên host  Tên là bí danh cho m ột  value là đ a ch IP số tên th ật www.ibm.com Ì Type=NS là th t servereast.backup2.ibm.com  Tên là tên mi ền (ví  value là tên th t d yahoo.com)  value là tên host c a Ì Type=MX name server có th m  value là tên c a mailserver quy n c a domain này liên h vi tên 2: Lp ng d ng 70 35
  36. Giao th c DNS (1) gm hai thông đi p query và reply , c hai có cùng đ nh dng header Ì identification: s 16 bit cho query, reply cho query này dùng cùng s Ì flags:  query hay reply  Cn đ qui  Sn sàng đ qui  reply là có th m quy n 2: Lp ng d ng 71 Giao th c DNS (2) Các tr ng name, type cho query RR trong đáp ng cho truy v n Các record cho server có th m quy n Thông tin b sung hu d ng 2: Lp ng d ng 72 36
  37. Dynamic DNS Ì Khái ni m DDNS Ì Đ ngh tìm hi u thêm d ch v tên mi n đ ng và áp d ng 2: Lp ng d ng 73 NI DUNG Ì Các nguyên lý Ì Web và HTTP Ì FTP Ì Electronic Mail  SMTP, POP3, IMAP Ì DNS Ì Các ng d ng P2P 2: Lp ng d ng 74 37
  38. Ki n trúc thu n P2P Ì Không có server th ng tr c Ì Các đ u cu i t do giao peer-peer ti p tr c ti p Ì Các peer k t n i v i nhau không liên t c và thay đi đ a ch IP 2: Lp ng d ng 75 Phân ph i File Câu h i đ t ra: mt bao lâu đ phân ph i file t mt server đ n N peer ? us: băng thông truy ền lên t ừ server Server ui: băng thông truy ền u lên từ peer u1 d1 2 d2 us di: băng thông t ải v ề từ File, kích peer th c F uN Network (bandwidth đy đ ) dN 2: Lp ng d ng 76 38
  39. Phân ph i File (2) Ì server gi l n l t N Server u2 bn sao: F u1 d1 d2 us  Ts=NF/u s u Network (đy đ Ì N client i mt T i=F/d i băng thông) d th i gian đ download N Th i gian đ phân ph i file đ n N client Tcs = max { NF/u s, F/min(d i) } i Tăng tuy n tính v i N 2: Lp ng d ng 77 Phân ph i File theo P2P Server Ì server ph i g i m t b n sao F u d u2 mt kho ng th i gian F/u 1 1 d s u 2 Ì s client i mt F/di đ download Ì Tng s bit ph i download là uN Network (đ y đ NF băng thông) dN Ì Σ Tc đ ti lên nhanh nh t có th : u s + ui Σ TP2P = max { F/u s, F/min(d i) , NF/(u s + ui) } i 2: Lp ng d ng 78 39
  40. BitTorrent (1) Ì Dùng phân ph i file theo P2P tracker: theo dõi các peer torrent: nhóm các tham gia vào torrent Peer trao đ i các m u file (chunk) Ly danh sách các peer Các m u trao đ i peer 2: Lp ng d ng 79 BitTorrent (2) Ì file đc chia thành các m u (chunk) 256KB. Ì peer gia nh p torrent:  Không có chunk, nhng s tích lũy chúng theo th i gian  Đăng ký v i tracker đ ly danh sách các peer, ni đ n t p con các peer (láng gi ng) Ì Trong khi t i v , peer cũng t i lên các chunk đ n các peer khác. Ì Các peer có th là đi m đ n hay đi Ì Khi peer đã có toàn b file, nó có th b đi hay gi li. 2: Lp ng d ng 80 40
  41. BitTorrent (3) Kéo các chunk Truy n các chunk Ì Ti b t lỳ th i đi m nào, Ì Peer A truy n các chunk đ n b n các peer khác nhau đ u láng gi ng hi n hành, truy n v i tc đ cao nh t có các t p con chunk c a  Mi 10 giây đánh giá li top 4 file khác nhau Ì Mi 30 giây, ch n ng u nhiên Ì Đnh kỳ, peer h i m i mt peer khác, kh i đ ng truy n peer láng gi ng v danh chunk sách các chunk mà  Peer m i đ c ch n có th chúng có. tham gia vào top 4 Ì Peer g i yêu c u l y các  Khai thông chunk b thi u 2: Lp ng d ng 81 BitTorrent (4) (1) peer A khai thông v i peer B (2) Peer A tr thành m t trong b n nhà cung c p cho peer B, peer B đáp l i (3) Peer B tr thành m t trong b n nhà cung c p cho peer A Peer B Vi t c đ ti lên cao h ơn, có Peer A th tìm th y các đ i tác t t hơn và ly file nhanh h ơn! 2: Lp ng d ng 82 41
  42. Tìm ki m thông tin Index trong h th ng P2P: ánh x thông tin sang v trí peer (v trí = IP address & port number) Chia s file (ví d e-mule) Dch v chat Ì Index theo dõi đng các Ì Index ánh x tên user v trí ca file mà các sang v trí peer chia s . Ì Khi user kh i đ ng ng Ì Các peer c n báo v i dng IM, c n thông index nh ng gì nó có. báo v trí vi index Ì Các Peer tìm ki m trong Ì Các peer tìm ki m index đ xác đ nh v trí trong index đ xác ca file đnh đ a ch IP c a user. 2: Lp ng d ng 83 Index t p trung Peer B 1) khi peer k t n i, nó Server th m c thông báo server trung trung tâm 1 tâm: peers  Đa ch IP 1  Ni dung 3 2) peer A truy v n trung 1 tâm 2 1 3) Peer A yêu c u file t peer B Peer A 2: Lp ng d ng 84 42
  43. Index t p trung: Nh c Ì Đi m l i đ ơn Ì C chai Ì Vn đ bn quy n Ho t đ ng truy n file là phân tán nh ng vi c đ nh v file là tp trung 2: Lp ng d ng 85 Truy v n ki u lũ (query flooding) Ì Phát tán truy v n ra Đ th mng mi n ơi Ì Có cnh n i gi a peer X  Không có server trung và Y n u có kt n i TCP tâm Ì Tt c các peer ho t Ì Đc dùng trong Gnutella đ ng và các c nh t o nên m ng bao ph Ì Mi peer l p danh sách các file mà nó sn sàng Ì Cnh: liên k t o chia s Ì Thông th ng m t peer có kt n i d i 10 láng gi ng 2: Lp ng d ng 86 43
  44. Truy v n ki u lũ Truy n File: Ì thông đi p truy v n (query) đ c g i HTTP qua các k t n i TCP đang m Ì các peer chuy n ti p Query thông đi p truy v n response Ì Ph n h i đ c g i v qua đ ng ng c l i ry Q ue ue Q se ry on sp re Query response Q ue ry 2: Lp ng d ng 87 Gia nh p Gnutella 1. peer A ph i tìm m t peer khác trong m ng Gnutella, dùng danh sách các peer ng viên 2. Peer A c gng liên t c đ có kt n i TCP v i các peer ng viên cho đn khi k t n i đ c v i peer B nào đó 3. To lũ truy v n: peer A Ping đ n peer B; peer B chuy n Ping đ n các láng gi ng c a nó, đn l t các láng gi ng l i chuy n đi ti p 4. Các peer nh n Ping ph n h i l i cho peer A b ng thông đi p Pong 5. Peer A nh n nhi u Pong và sau đó có th thi t l p thêm các k t n i TCP 2: Lp ng d ng 88 44
  45. Mng bao ph phân c p Ì Gi a các index trung tâm, dùng truy v n ki u lũ Ì Mi peer là mt super node hay đ c gán là super node  Kt n i TCP gi a peer và super node c a nó.  Kt n i TCP gi a các super node. Ì Super node theo dõi n i ordinary peer dung trong node con c a group-leader peer neighoring relationships nó in overlay network 2: Lp ng d ng 89 Skype Skype clients (SC) Ì Th a k P2P, giao ti p tng c p. Ì Là giao th c l p ng Skype dng riêng login server Supernode Ì Mng bao ph phân c p (SN) vi các super node Ì Index ánh x tên user sang các đ a ch IP; đc phân ph i qua các super node 2: Lp ng d ng 90 45
  46. Các peer làm relay Ì Vn đ phát sinh khi c peer A và Peer B đ u nm phía sau NAT. NAT ngăn ch n peer ngoài kh i t o cu c g i vào v i peer bên trong Ì Gi i pháp:  Dùng super node c a peer A và peer B_ ch n relay  Mi peer kh i t o phiên vi relay.  Nh vy các Peer có th giao ti p v i nhau v t NAT b ng relay. 2: Lp ng d ng 91 Đ ngh Ì Tìm hi u Limewire và mt s ng d ng P2P khác 2: Lp ng d ng 92 46
  47. Hết ch ươ ng 2 2: Lp ng d ng 93 47