Xem mẫu

  1. Chương 2 : T ng ng D ng M c tiêu: S h c cái gì ? ð nh nghĩa, Ho t ñ ng các giao Các giao th c c th : th c trong t ng ng d ng. o HTTP o Mô hình Khách hàng - Ngư i ph c v (client- o FTP server) o SMTP o Mô hình ñ ng ñ ng o POP o Tìm hi u m t s giao th c o DNS t ng ng d ng thông qua các ví d c th . o MSN, Gnutella L p trình các ng d ng m ng : socket API 2: T ng ng d ng 1
  2. 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 application transport tán truy n thông v i nhau network data link physical o Ch y trên các thi t b ñ u cu i o Trao ñ i thông ñi p v i nhau. o email, FTP, Web Giao th c t ng ng d ng o Là m t ph n c a trình ng d ng. o Xác ñ nh thông ñi p trao ñ i application application transport gi a các ng d ng. transport network network data link o S d ng d ch v truy n thông data link physical physical do giao th c t ng dư i (TCP, UDP) cung c p. 2: T ng ng d ng 2
  3. M t s thu t ng Ti n trình : là chương User agent: ph n m m trình ch y trên thi t b ñóng vai trò giao di n ñ u cu i. gi a ngư i dùng và Trên cùng máy tính, hai m ng. ti n trình có th truy n o Cài ñ t Giao th c thông v i nhau thông qua t ng ng d ng. truy n thông liên ti n o Web: browser trình (HðH qu n lý). o E-mail: mail reader Các ti n trình ch y trên o streaming các máy tính khác nhau : audio/video: media tuân th giao th c t ng player ng d ng. 2: T ng ng d ng 3
  4. Mô hình Client-Server ng d ng g m hai thành ph n : application transport Client và Server network data link physical Client: Yêu c u Kh i t o giao ti p v i server (“speaks first”) Yêu c u d ch v t server. Web : client nh n và hi n th web Tr l i page ; e-mail: các trình ñ c thư. application transport Server: network data link Cung c p d ch v theo yêu c u t physical Client Web server g i Web page, Mail server g i và nh n E-mail 2: T ng ng d ng 4
  5. Giao th c t ng ng d ng API: Application V y thì Phân bi t các ti n Programming Interface trình b ng cách nào? Là giao di n gi a t ng ng o ð a ch IP c a máy. d ng và t ng Giao v n. o S hi u C ng – cho Socket : Internet API phép bên máy tính nh n o Hai ti n trình truy n xác ñ nh ti n trình nào thông b ng cách nh n thư. g i/nh n d li u vào/t socket. Còn ti p … 2: T ng ng d ng 5
  6. ng d ng c n D ch v Giao v n gì? M t mát d li u (Data loss) Băng thông (Bandwidth) M t s ng d ng có th ch p M t s ng d ng (ña phương nh n m t s m t mát. ti n) yêu c u băng thông t i M t s ng d ng l i ñòi h i thi u ñ có th ho t ñ ng 100% d li u truy n tin c y ñư c. (web). M t s ng d ng khác có th s d ng b t c băng thông Th i gian (Timing) nào ñư c c p phát. M t s ng d ng (h i tho i qua Internet, các trò chơi tr c tuy n) ñòi h i ñ tr th p. 2: T ng ng d ng 6
  7. Yêu c u v i m t s ng d ng c th ng d ng M t mát Băng thông Th i gian Truy n file Không Co dãn Không Thư tín ñi n t Không Co dãn Không Web Có th Co dãn Không ða phương ti n Có th audio: 5Kb-1Mb Có, 100’s msec Th i gian th c video:10Kb-5Mb stored audio/video Ch p nh n same as above Có, few secs Trò chơi tương tác Ch p nh n few Kbps up Có, 100’s msec ng d ng Tài chính Không Co dãn Không xác ñ nh 2: T ng ng d ng 7
  8. D ch v Giao th c Giao v n Internet D ch v TCP: D ch v UDP: Hư ng n i : Yêu c u thi t l p Truy n d li u không tin k t n i gi a client và server. c y gi a các ti n trình g i Truy n d li u tin c y gi a và nh n. ti n trình g i và nh n Không h tr : thi t l p ði u khi n lưu lư ng : bên k t n i, ñ tin c y, ñi u g i s không làm “l t” bên khi n lưu lư ng, ki m soát nh n. t c ngh n, th i gian, băng thông t i thi u. Ki m soát t c ngh n: ñi u ch nh t c ñ g i khi m ng quá t i. T i sao m t s ng d ng s Không h tr : th i gian, băng d ng UDP thông t i thi u. 2: T ng ng d ng 8
  9. Các ng d ng trên Internet và giao th c giao v n tương ng Giao th c Giao th c Giao v n ng d ng ng d ng tương ng Thư tín ði n t SMTP [RFC 821] TCP Truy c p t xa telnet [RFC 854] TCP Web HTTP [RFC 2068] TCP Truy n file FTP [RFC 959] TCP ða phương ti n lu ng ð c quy n TCP ho c UDP (vd. RealNetworks) file server xa NSF TCP ho c UDP ði n tho i Internet ð c quy n Thư ng là UDP (vd. Vocaltec) 2: T ng ng d ng 9
  10. Giao th c Web : HTTP HTTP: Giao th c truy n siêu văn b n. HT TP Là giao th c t ng ng d ng cho ng r equ PC s d ng HT est d ng Web. Explorer TP r esp ons S d ng mô hình client/server e o client: browser yêu c u, nh n, st hi n th các ñ i tư ng Web. q ue e T Pr on se Server o server: Web server g i các ñ i HT res p s d ng P tư ng khi có yêu c u H TT NCSA Web server HTTP1.0 : RFC 1945 HTTP1.1 : RFC 2068 Mac s d ng Navigator 2: T ng ng d ng 10
  11. Giao th c HTTP HTTP là giao th c “không HTTP s d ng giao th c TCP. tr ng thái” server không lưu l i Client kh i t o k t n i TCP thông tin v yêu c u c a (socket) t i server qua c ng 80 client Server ch p nh n k t n i TCP t Giao th c lưu l i tr ng r t Client ph c t p ! Các tr ng thái trư c ñây Các thông ñi p HTTP : trao ñ i ph i ñư c lưu l i (t n b gi a Browser (HTTP client) và Web server (HTTP server) nh ). N u k t n i server/client b ðóng k t n i TCP. gián ño n, tr ng thái trên chúng có th sai khác => c n cơ ch ñi u ch nh l i 2: T ng ng d ng 11
  12. Ví d v HTTP B n ñánh ñ a ch trên trình duy t (bao g m file HTML www.someSchool.edu/someDepartment/home.index tham chi u t i 10 nh JPEG) 1a. HTTP client kh i t o k t n i TCP t i HTTP server t i ñ a 1b. HTTP server ñ a ch ch www.someSchool.edu. C ng m c ñ nh là 80. www.someSchool.edu ñ i k t n i TCP c ng 80, ch p nh n k t n i, thông báo l i 2. HTTP client g i thông ñi p cho client. HTTP yêu c u (bao g m URL) qua k t n i TCP v a 3. HTTP server nh n thông ñi p yêu thi t l p c u,l y các ñ i tư ng ñư c yêu c u g i vào trong thông ñi p tr l i, (someDepartment/home.index) Th i gian g i thông ñi p vào socket 2: T ng ng d ng 12
  13. Ví d v HTTP 4. HTTP server ñóng k t n i TCP. 5. HTTP client nh n thông ñi p tr l i bao g m t p html, hi n th html.Phân tích t p html file, tìm 10 jpeg ñ i tư ng ñư c tham chi u Th i gian 6. Các bư c t 1 ñ n 5 ñư c l p l i cho t ng ñ i tư ng trong 10 ñ i tư ng jpeg 2: T ng ng d ng 13
  14. K t n i liên t c và không liên t c Không kiên trì: Kiên trì: HTTP/1.0 : server phân M c ñ nh cho HTTP/1.1 tích yêu c u, tr l i r i server phân tích yêu ñóng k t n i TCP. c u, tr l i, phân tích M t ñ i tư ng : 2 RTT yêu c u k ti p: trên (ñ tr ). cùng m t k t n i TCP M i l n truy n, ch u m t client g i yêu c u cho ñ tr do thi t l p k t n i. t t c các ñ i tư ng khi Nhưng ph n l n trình nh n ñư c file HTML duy t m ñ ng th i cơ s nhi u k t n i TCP. Ít bư c hơn, nhanh hơn. 2: T ng ng d ng 14
  15. ð nh d ng Thông ñi p Yêu c u HTTP Có hai ki u thông ñi p HTTP : Thông ñi p yêu c u (request) và Thông ñi p tr l i (response) Thông ñi p HTTP request: o Theo ñ nh d ng mã ASCII. Dòng yêu c u (L nh GET, POST, GET /somedir/page.html HTTP/1.0 HEAD) User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Các dòng header Accept-language:fr (CR,LF) CR,LF: K t thúc thông ñi p 2: T ng ng d ng 15
  16. ð nh d ng Thông ñi p Yêu c u HTTP 2: T ng ng d ng 16
  17. ð nh d ng Thông ñi p Tr l i HTTP Dòng tr ng thái (mã tr ng thái) HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Các dòng tiêu ñ Content-Length: 6821 Content-Type: text/html data data data data data ... D li u (ch ng h n file html ñư c yêu c u) 2: T ng ng d ng 17
  18. Mã tr ng thái trong Thông ñi p Tr l i ðư c ghi dòng ñ u tiên trong thông ñi p Server tr l i Client M t s mã thư ng g p: 200 OK o Yêu c u thành công, các ñ i tư ng ñư c yêu c u ph n thân thông ñi p. 301 Moved Permanently o ð i tư ng yêu c u ñã ñư c chuy n và ñ a ch m i c a ñ i tư ng ñư c ñ t trong trư ng Location: 400 Bad Request o Server không hi u ñư c Thông ñi p yêu c u 404 Not Found o ð i tư ng ñư c yêu c u không có trong server 505 HTTP Version Not Supported o Server không h tr phiên b n giao th c HTTP. 2: T ng ng d ng 18
  19. Th ki m nghi m HTTP (phía Client) 1. Telnet t i Web server: telnet www.eurecom.fr 80 T o k t n i TCP t i c ng 80 (c ng m c ñ nh cho HTTP server) ñ a ch www.eurecom.fr 2. L nh GET trong thông ñi p HTTP request: GET /~ross/index.html HTTP/1.0 G i thông ñi p yêu c u l y t p index.html trong thư m c ~ross cho client 3. Xem thông ñi p response do HTTP server g i v ! 2: T ng ng d ng 19
  20. Tương tác User-Server: Ki m ch ng M c tiêu : ki m soát quy n truy server c p t i ñ i tư ng lưu trên server. client Phương pháp : s d ng Tên truy usual http request msg c p và M t kh u 401: authorization req. Không tr ng thái : m i l n yêu c u, WWW authenticate: client ph i ch ng t mình có quy n Ki m ch ng : usual http request msg o Tiêu ñ authorization: trong + Authorization:line m i yêu c u g i ñi. usual http response msg o N u không có quy n : server t ch i truy c p và g i yêu c u có trư ng tiêu ñ WWW usual http request msg authenticate: + Authorization:line Thông thư ng, trình duy t cache usual http response msg username/pass ñ ngư i dùng không ph i gõ l i trong m i truy c p 2: T ng ng d ng 20