Bài giảng Mạng máy tính - Chương 2: Giao thức tầng ứng dụng (Application Layer) - Trần Quang Hải Bằng

pdf 22 trang ngocly 3710
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: Giao thức tầng ứng dụng (Application Layer) - Trần Quang Hải Bằ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_giao_thuc_tang_ung_dung_app.pdf

Nội dung text: Bài giảng Mạng máy tính - Chương 2: Giao thức tầng ứng dụng (Application Layer) - Trần Quang Hải Bằng

  1. Ch ươ ng 2. Giao th c tng ng dng (application layer) Tr n Quang H i B ng Computer Networking and Internet (course of 2009) Faculty of Information Technology University of Communication and Transport (Unit 2) Office location: Administration building, Block D3, Room 6 Office phone: 38962018 Cell phone: N/A Email: bangtqh@hotmail.com Application Layer 24/8-25/10/2009 Chapter 2. The Application Layer 2
  2. Ch2. The Application Layer 2.1. Mt s khái ni m và nguyên tc. 2.2. Web & Hyper Text Transfer Protocol. 2.3. Web design and HTTP, Web programming. 2.4. File Transfer Protocol. 2.5. Electronic Mail Protocols. 2.6. Domain Name System. 24/8-25/10/2009 Chapter 2. The Application Layer 3 2.1. Mt s khái ni m và nguyên tc n Mt s ch ươ ng trình ng dng (network applications): ¤ Email (Yahoo! Mail, MS Outlook, Google mail, ). ¤ Web browser (MS Internet Explorer, Fire Fox, Netscape Navigator, ). ¤ Instant messenger (Yahoo! Messenger, ICQ, AOL, ). ¤ P2P file sharing (Napster, KazaA ). ¤ Internet games (Yahoo! Games). ¤ Internet telephone (Skype, FPTFone,VNNFone ). ¤ Streaming stored video clips. ¤ Real-time video conference. ¤ Massive parallel computing. 24/8-25/10/2009 Chapter 2. The Application Layer 4
  3. Mt s giao th c (application-layer protocols) n HTTP (Hyper Text Transfer Protocol) ¤ Giao th c web. n FTP (File Transfer Protocol) ¤ Giao th c truy n tp. n SMTP (Simple Mail Transfer Protocol) ¤ Giao th c truy n th ư đ i n t. n POP (Post Office Protocol) ¤ Giao th c nh n th ư đ i n t. n IMAP (Internet Mail Access Protocol) ¤ Giao th c nh n th ư đ i n t (khác POP3) n DNS (Domain Name System) ¤ DNS = h th ng tên mi n, giao th c DNS quy đnh quy tc s dng tên mi n. n TFTP (Trivial FTP) ¤ Mt dng khác ca FTP. 24/8-25/10/2009 Chapter 2. The Application Layer 5 Net applications vs. application-layer protocols n Applications: ¤ Ch ươ ng trình ng dng ch y trên các máy tính. ¤ Trao đi thơng đ i p (message) vi các ng dng khác nh m th c thi vai trị ca ng dng. ¤ Vd: web browser, email client n Application-layer protocols: ¤ Là mt thành ph n ca ch ươ ng trình ng dng. ¤ Đnh ngh ĩa các quy tc trao đi thơng đ i p. ¤ Giao ti p vi các dch v đưc cung cp bi tng dưi (TCP, UDP). 24/8-25/10/2009 Chapter 2. The Application Layer 6
  4. Các ch ươ ng trình giao ti p vi nhau ntn? n Các ch ươ ng trình trên cùng mt máy tính ¤ S dng các dch v đưc cung cp bi h đ i u hành (interprocess communication ). n Các ch ươ ng trình trên các máy tính khác nhau ¤ Giao ti p thơng qua giao th c ca tng ng dng (application-layer protocol ). n Ch ươ ng trình phía ng ưi dùng = user agent ¤ Giao ti p vi ng ưi s dng (giao di n s dng). ¤ Giao ti p vi các giao th c mng. 24/8-25/10/2009 Chapter 2. The Application Layer 7 Mơ hình khách-ph c v (client-server paradigm) Mơ hình khách-ph c v đưc quen gi là mơ hình khách-ch . Mt ng dng application c th bao g m hai ph n: transport network data link n Client physical ¤ Thi t lp liên kt vi server. request ¤ Yêu cu dch v t server. ¤ Nhi u clients. ¤ Vd: web browser. n Server reply ¤ Ch và cung cp các dch v khi client yêu cu. application transport ¤ Th ưng ch cĩ 1 server, khơng thay đi network đ data link a ch , ch y 24/7. physical ¤ Vd: web server. 24/8-25/10/2009 Chapter 2. The Application Layer 8
  5. Mơ hình ngang hàng (Peer-to-peer paradigm) n Khơng cĩ máy dch v c đnh, các máy tính trong mng lúc này là server (nh n yêu cu kt ni) nh ưng lúc khác li là client (yêu cu máy khác kt ni). n Các máy tính là ngang hàng , t do kt ni và giao ti p đ ơi mt. n Đa ch ca các máy tính tham gia giao ti p liên tc thay đi. 24/8-25/10/2009 Chapter 2. The Application Layer 9 Client-server & P2P examples n CNN.com Client-server n Yahoo! Mail Client-server n Google Client-server n Yahoo! Messenger Client-server & P2P n Internet Relay Chat (IRC) Client-server & P2P 24/8-25/10/2009 Chapter 2. The Application Layer 10
  6. Dch v tng dưi đi vi application-layer n Cĩ th coi tng application (Internet) = tng application + presentation + session trong mơ hình OSI. Các dch v vi application: § Presentation: gn li n vi application trong TCP/IP § File formats: picture (JPEG, GIF ), audio (MP3, RM ), video (MPEG, MOV ), document (HTML, XML ). § Data encryption & compression. § Session: gn li n vi application trong TCP/IP § NFS (Network File System), RPC (Remote Procedure Call), SQL (Structured Query Language), SSL (Secure Socket Layer). § Transport (*) § Cung cp dch v vn chuy n cho application (TCP/IP). § Hai giao th c: TCP và UDP. 24/8-25/10/2009 Chapter 2. The Application Layer 11 Yêu cu đi vi vi c vn chuy n d li u n Data loss ¤ Các ng dng audio/video cĩ th ch p nh n mt mát, sai lch d li u trong kho ng cho phép. ¤ Email, file transfer yêu cu d li u ph i chính xác. n Timing ¤ Các ng dng online cn đ tr (delay) nh (phone, games). n Bandwidth ¤ Các ng dng multimedia cn đưng truy n tc đ cao đ đm bo ch t lưng. ¤ Các ng dng email, file transfer mm do hơn, tu ỳ theo tc đ. 24/8-25/10/2009 Chapter 2. The Application Layer 12
  7. Các yêu cu giao vn ca mt s ng dng 24/8-25/10/2009 Chapter 2. The Application Layer 13 Internet Transport protocols: TCP & UDP TCP (Transmission Control Protocol) UDP (User Datagram Protocol) § connection-oriented: setup § unreliable data transfer required between client, server. between sending and receiving § reliable transport between process sending and receiving process. § does not provide: connection § flow control: sender won’t setup, reliability, flow control, overwhelm receiver. congestion control, timing, or bandwidth guarantee. § congestion control: throttle sender when network overloaded. § does not providing: timing, minimum bandwidth guarantees. 24/8-25/10/2009 Chapter 2. The Application Layer 14
  8. Internet applications: TCP or UDP? 24/8-25/10/2009 Chapter 2. The Application Layer 15 Ch2. The Application Layer 2.1. Mt s khái ni m và nguyên tc. 2.2. Web & Hyper Text Transfer Protocol. 2.3. Web design and programming. 2.4. File Transfer Protocol. 2.5. Electronic Mail Protocols. 2.6. Domain Name System. 24/8-25/10/2009 Chapter 2. The Application Layer 16
  9. 2.2. Web & HTTP n Trang web (web page): mt lo i tài li u cĩ ch a trong đĩ nhi u đi tưng: text, image, audio, Java applet, HTML n V cơ bn, web page = HTML file (base HTML). ¤ HTML = Hyper Text Markup Language. ¤ HTML s dng các th (tag) đ mơ t đi tưng ch a trong nĩ. n Mi đi tưng đưc ch ra bi đa ch URL (Uniform Resource Locator) ¤ ¤ Protocol Host name & port Path 24/8-25/10/2009 Chapter 2. The Application Layer 17 HTTP (Hyper Text Transfer Protocol) n Giao th c tng ng dng web. n S dng mơ hình client/server. ¤ Client (user agent): n Trình duy t web (web browser) n Yêu cu truy cp web thơng qua URL (URL request). ¤ Server n Máy ph c v web (web server). n Gi các đi tưng ti client thơng quan ph n hi (response). n HTTP version: ¤ HTTP 1.0: RFC 1945 ¤ HTTP 1.1: RFC 2068 24/8-25/10/2009 Chapter 2. The Application Layer 18
  10. HTTP: Quá trình trao đi thơng đi p n Client (browser) thi t lp liên kt ti web server (TCP connection) qua cng 80 (mc đnh). n Server đng ý kt ni (accept). n Các thơng đ i p (HTTP messages) đưc trao đi gi a browser và server. n Ng t kt ni. 24/8-25/10/2009 Chapter 2. The Application Layer 19 HTTP example Gi s ng ưi dùng truy cp URL: www.uct2.edu/index.html (trang web cĩ text và 10 hình ảnh jpeg) 1a . http client thi t lp liên kt TCP vi http server (process) 1b. http server ti máy ph c v đ ti a ch www.uct2.edu.vn, www.uct2.edu.vn ch yêu cu đ cng 80 (ng m nh vi http kt ni TCP ti cng 80, ch p server). nh n kt ni ri thơng báo vi 2. http client gi http request client. message (bao gm c URL) ti TCP connection socket 3. http server nh n request message, to ra http response message cĩ ch a các đi tưng đ time ưc yêu cu ri gi vào socket. 24/8-25/10/2009 Chapter 2. The Application Layer 20
  11. 4. http server ng t liên kt. 5. http client nh n response message cĩ ch a html file, hi n th html. Sau đĩ, phân tích html file, tìm URL ca 10 hình nh time jpeg trong tài li u. 6. Bưc 1-5 đưc lp li vi tng hình nh. 24/8-25/10/2009 Chapter 2. The Application Layer 21 HTTP Connection: Persistent & Non-persistent Non-persistent HTTP Persistent HTTP n Nhi u nh t là mt đi n Cho phép nhi u đi tưng tưng đưc truy n qua đưc truy n trên cùng mt liên liên kt TCP. kt. n HTTP 1.0 n Client phân tích, tìm ra và gi yêu cu ti tt c các đi tưng ngay sau khi nh n đưc trang HTML ban đu (base HTML). n HTTP 1.1 s dng liên kt lo i này ch đ mc đnh. 24/8-25/10/2009 Chapter 2. The Application Layer 22
  12. HTTP Message Format: request & response n Hai lo i message: request và response. n HTTP request message: dng ASCII ( đc đưc!) request line (GET, POST, GET /somedir/page.html HTTP/1.0 HEAD commands) User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg header Accept-language:fr lines (extra carriage return, line feed) Carriage return, line feed indicates end of message 24/8-25/10/2009 Chapter 2. The Application Layer 23 HTTP request message 24/8-25/10/2009 Chapter 2. The Application Layer 24
  13. HTTP response message status line (protocol status code HTTP/1.0 200 OK status phrase) Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 header Content-Length: 6821 lines Content-Type: text/html data data data data data data, e.g., requested html file 24/8-25/10/2009 Chapter 2. The Application Layer 25 HTTP response message 24/8-25/10/2009 Chapter 2. The Application Layer 26
  14. HTTP response message: status codes 200 OK ¤ request succeeded, requested object later in this message 301 Moved Permanently ¤ requested object moved, new location specified later in this message (Location:) 400 Bad Request ¤ request message not understood by server 404 Not Found ¤ requested document not found on this server 505 HTTP Version Not Supported 24/8-25/10/2009 Chapter 2. The Application Layer 27 Ví d th c hành 1. Telnet ti web server: telnet www.uct2.edu.vn 80 M mt kt ni (TCP) ti cng 80 ti web server ca UCT2. Sau khi kt ni, tt c ký t gõ vào s đưc gi ti cng 80. 2. Nh p vào GET http request : GET /dangkythilai/help.htm HTTP/1.0 Đ ây là mt http request đơn gi n. Nh p xong gõ 2 ln Enter đ gi ti server 3. Ki m tra kt qu nh n đưc (http response message)! 24/8-25/10/2009 Chapter 2. The Application Layer 28
  15. User-server interaction: authentication & cookies Authenthication client server usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization: usual http response msg usual http request msg + Authorization: time usual http response msg 24/8-25/10/2009 Chapter 2. The Application Layer 29 Cookies: keeping “state” n Server phát sinh mt con s nào đĩ (#) khi client request, client server đng th i ghi nh s này đ s dng sau này: usual http request msg ¤ Ch ng th c usual http response + (authentication) Set-cookie: # ¤ Ghi nh s thích, thĩi quen, la ch n truy cp usual http request msg ln tr ưc. cookie: # cookie- spectific n server gi “cookie” ti usual http response msg action client qua response msg, vd: Set-cookie: 1678453 usual http request msg n Ln sau truy cp website, cookie: # cookie- client gi kèm cookie, vd: spectific cookie: 1678453 usual http response msg action 24/8-25/10/2009 Chapter 2. The Application Layer 30
  16. Conditional GET: client-side caching Đ n M : server khơng cn gi client server obj ti client khi client đã cĩ http request msg phiên bn cp nh t (up-to- If-modified-since: date) ca obj. object not n Client ph i ch ra th i gian http response modified sa gn đ ây nh t ca obj HTTP/1.0 trong http request msg. 304 Not Modified If-modified-since: n Server s tr v response msg http request msg If-modified-since: khơng ch a obj nu obj là object cp nh t: modified HTTP/1.0 304 Not Modified http response HTTP/1.1 200 OK 24/8-25/10/2009 Chapter 2. The Application Layer 31 Web Caches (proxy server) n Client gi http requests ti web cache thay vì ti server. ¤ Nu obj cĩ ti web cache: web cache to http response origin msg gi v cho client. server ¤ Proxy Nu khơng, web cache to gi h ttp st r server que http request ti server, nh n equ re ht es tp se client tp t ht on obj, lưu tr , ri gi http res esp pon p r response msg ti client. se htt st ue n eq Web cache s khi n ng ưi r se tp on ht sp dùng cĩ cm giác duy t web re tp nhanh hơn, gi m ngh n ht mng. client origin n Vd: proxy server trong IE. server 24/8-25/10/2009 Chapter 2. The Application Layer 32
  17. Why Web Caching? Assume: cache is “close” to origin client (e.g., in same servers public network) Internet n smaller response time: cache “closer” to client 1.5 Mbps n decrease traffic to distant access link servers institutional network ¤ link out of 10 Mbps LAN institutional/local ISP network often bottleneck institutional cache 24/8-25/10/2009 Chapter 2. The Application Layer 33 Web servers n IIS (Microsoft Internet Information Server) ¤ Ch y trên mơi tr ưng Windows ¤ Đ i kèm Windows 2000 Server (IIS 5.0). n Apache web server ¤ Mã ngu n m. ¤ Linux/Windows ¤ ¤ Web server đưc dùng nhi u nh t. n Tomcat, Netscape, Xitami 24/8-25/10/2009 Chapter 2. The Application Layer 34
  18. Ch2. The Application Layer 2.1. Mt s khái ni m và nguyên tc. 2.2. Web & Hyper Text Transfer Protocol. 2.3. Web design and HTTP, Web programming. 2.4. File Transfer Protocol. 2.5. Electronic Mail Protocols. 2.6. Domain Name System. 24/8-25/10/2009 Chapter 2. The Application Layer 35 Web design: HTML n Thi t k web: To ra tài li u HTML n HTML (Hyper Text Markup Language) ¤ Trong tài li u HTML cĩ th cĩ nhi u đi tưng n Text n Images n Hyper link ¤ S dng th (tag) đ di n đt đi tưng. n Th m, vd: ; ; ; n Th đĩng, vd: ; ; ; n Cơng c: ¤ Text editor: Notepad, Ultra Edit ¤ Microsoft FrontPage ¤ Macromedia Dreamweaver n ( ) 24/8-25/10/2009 Chapter 2. The Application Layer 36
  19. Web programming n HTML = trang web tĩnh (Static web): Web server luơn tr v mt trang HTML c đnh khi nh n đưc yêu cu ca ng ưi dùng. n Lp trình web: tươ ng tác vi ng ưi s dng thơng qua web. ¤ Lp trình web # Lp trình Pascal, C: n Tươ ng tác thơng qua HTTP Message. ¤ Client-side scripts: Java script, VB script. ¤ Server-side scripts: ASP, JSP, PHP, Perl 24/8-25/10/2009 Chapter 2. The Application Layer 37 HTML Form: Send user requests HTML ASP Simple Form Simple ASP dim welcome myName=Request.Form("myName") welcome = “ Welcome " & myName & “! ” Response.Write (welcome ) %> 24/8-25/10/2009 Chapter 2. The Application Layer 38
  20. ASP (Active Server Page) n Microsoft/IIS. n Mt tài li u ASP cĩ th coi nh ư mt tài li u HTML cĩ nhúng các script ASP, đưc ghi li dng tp *.asp, đt ti web server. n Mi khi đưc request, các script đưc ch y phía server, kt qu tr v client dng HTML (client khơng th y source). n Các đi tưng: ¤ Request Client request. ¤ Response Server response. ¤ Application ¤ QueryString n Cơng c: MS Visual InterDev 24/8-25/10/2009 Chapter 2. The Application Layer 39 Mơ hình 3 lp trong lp trình web req WEB BROWSER WEB SERVER (Apache, IIS) resp Server-side scripts ASP, PHP, JSP Các th ủ tục truy xu ất CSDL DB API CSDL DB 24/8-25/10/2009 Chapter 2. The Application Layer 40
  21. TCP Socket Programming n Giao th c HTTP: application-layer protocol n Hai ng dng application mu n giao ti p ph i s dng dch v ca tng giao vn: ¤ Socket: a door between application process and end-end-transport protocol (UCP or TCP). controlled by controlled by process process application application developer developer socket socket TCP with controlled by controlled by TCP with operating operating buffers, buffers, internet system system variables variables host or host or server server 24/8-25/10/2009 Chapter 2. The Application Layer 41 TCP Socket: Client/server n Server socket đã m sn và đi ti mt cng (port) nào đĩ. ¤ Port đưc s dng đ ch mt process c th s dng TCP trên mt host. n Client ph i thi t lp kt ni vi server (request). n Khi server nh n yêu cu kt ni, nĩ to ra mt socket mi đ ti p nh n (cho phép nhi u clients). n Microsoft Visual Basic: ¤ Winsock: Windows Socket Component. 24/8-25/10/2009 Chapter 2. The Application Layer 42
  22. Winsock & OSI 24/8-25/10/2009 Chapter 2. The Application Layer 43 Bài tp n Tìm hi u cú pháp ngơn ng HTML, t đ ĩ xây d ng 3 trang web t ĩnh page1.htm, page2.htm, page3.htm ( ni dung ca 3 trang web này tùy theo ý t ưng sáng t o c a m i ng ưi) n S dng mt trong các ngơn ng script ASP, PHP, JSP lp trang web đng (khơng b t bu c). ¤ Tham kh o: n S dng cơng c Visual Basic và Winsock component đ vi t mt web server đơn gi n (khơng b t bu c) ¤ Phân tích lnh GET ¤ Tr v response message thích hp. n Header n Body 24/8-25/10/2009 Chapter 2. The Application Layer 44