intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Mạng máy tính: Chương 2 - Nguyễn Quang Hải Bằng

Chia sẻ: Sơn Tùng | Ngày: | Loại File: PDF | Số trang:22

69
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

 Bài giảng "Mạng máy tính - Chương 2: Giao thức tầng ứng dụng (application layer)" cung cấp cho người học các kiến thức: Một số khái niệm và nguyên tắc, Web & Hyper Text Transfer Protocol, Web design and HTTP, Web programming. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Mạng máy tính: Chương 2 - Nguyễn Quang Hải Bằng

  1. Chương 2. Giao thức tầng ứng dụng (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. Một số khái niệm và nguyên tắc. 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. Một số khái niệm và nguyên tắc n Một số chương trình ứng dụng (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. Một 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 tệp. 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 tắc sử dụng tên miền. n TFTP (Trivial FTP) ¤ Một dạng khác của 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 dụng chạy trên các máy tính. ¤ Trao đổi thông điệp (message) với các ứng dụng khác nhằm thực thi vai trò của ứng dụng. ¤ Vd: web browser, email client… n Application-layer protocols: ¤ Là một thành phần của chương trình ứng dụng. ¤ Định nghĩa các quy tắc trao đổi thông điệp. ¤ Giao tiếp với các dịch vụ được cung cấp bởi tầng 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 với nhau ntn? n Các chương trình trên cùng một máy tính ¤ Sử dụng các dịch vụ được cung cấp bởi 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 của tầng ứng dụng (application-layer protocol). n Chương trình phía người dùng = user agent ¤ Giao tiếp với người sử dụng (giao diện sử dụng). ¤ Giao tiếp với các giao thức mạng. 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 gọi là mô hình khách-chủ. Một ứng dụng cụ thể bao gồm hai phần: application transport network data link physical n Client ¤ Thiết lập liên kết với server. request ¤ Yêu cầu dịch vụ từ server. ¤ Nhiều clients. ¤ Vd: web browser. n Server reply ¤ Chờ và cung cấp các dịch vụ khi client yêu cầu. 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 dịch vụ cố định, các máy tính trong mạng lúc này là server (nhận yêu cầu kết nối) nhưng lúc khác lại là client (yêu cầu máy khác kết nối). n Các máy tính là ngang hàng, tự do kết nối và giao tiếp đôi một. n Địa chỉ của các máy tính tham gia giao tiếp liên tục 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. Dịch vụ tầng dưới đối với application-layer n Có thể coi tầng application (Internet) = tầng application + presentation + session trong mô hình OSI. Các dịch vụ với application: § Presentation: gắn liền với application trong TCP/IP § File formats: picture (JPEG, GIF…), audio (MP3, RM…), video (MPEG, MOV…), document (HTML, XML…). § Data encryption & compression. § Session: gắn liền với application trong TCP/IP § NFS (Network File System), RPC (Remote Procedure Call), SQL (Structured Query Language), SSL (Secure Socket Layer). § Transport (*) § Cung cấp dịch vụ vận 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 cầu đối với việc vận chuyển dữ liệu n Data loss ¤ Các ứng dụng audio/video có thể chấp nhận mất mát, sai lệch dữ liệu trong khoảng cho phép. ¤ Email, file transfer yêu cầu dữ liệu phải chính xác. n Timing ¤ Các ứng dụng online cần độ trễ (delay) nhỏ (phone, games). n Bandwidth ¤ Các ứng dụng multimedia cần đường truyền tốc độ cao để đảm bảo chất lượng. ¤ Các ứng dụng email, file transfer mềm dẻo hơn, tuỳ theo tốc độ. 24/8-25/10/2009 Chapter 2. The Application Layer 12
  7. Các yêu cầu giao vận của một số ứng dụng 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 § congestion control: throttle bandwidth guarantee. 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. Một số khái niệm và nguyên tắc. 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): một loại tài liệu có chứa trong đó nhiều đối tượng: text, image, audio, Java applet, HTML… n Về cơ bản, web page = HTML file (base HTML). ¤ HTML = Hyper Text Markup Language. ¤ HTML sử dụng các thẻ (tag) để mô tả đối tượng chứa trong nó. n Mỗi đối tượng được chỉ ra bởi địa chỉ URL (Uniform Resource Locator) ¤ http://www.uct2.edu.vn/ ¤ http://uct2.edu.vn:80/userimages/tqhbang/nhaphoc.jpg 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 tầng ứng dụng web. n Sử dụng mô hình client/server. ¤ Client (user agent): n Trình duyệt web (web browser) n Yêu cầu truy cập web thông qua URL (URL request). ¤ Server n Máy phục vụ web (web server). n Gửi các đối tượng tới client thông quan phản hồi (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 lập liên kết tới web server (TCP connection) qua cổng 80 (mặc định). n Server đồng ý kết nối (accept). n Các thông điệp (HTTP messages) được trao đổi giữa browser và server. n Ngắt kết nối. 24/8-25/10/2009 Chapter 2. The Application Layer 19 HTTP example Giả sử người dùng truy cập URL: www.uct2.edu/index.html (trang web có text và 10 hình ảnh jpeg) 1a. http client thiết lập liên kết TCP với http server (process) 1b. http server tại máy phục vụ tại địa chỉ www.uct2.edu.vn, www.uct2.edu.vn chờ yêu cầu cổng 80 (ngầm định với http kết nối TCP tại cổng 80, chấp server). nhận kết nối rồi thông báo với 2. http client gửi http request client. message (bao gồm cả URL) tới TCP connection socket 3. http server nhận request message, tạo ra http response message có chứa các đối tượng time được yêu cầu rồi gửi vào socket. 24/8-25/10/2009 Chapter 2. The Application Layer 20
  11. 4. http server ngắt liên kết. 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 của 10 hình ảnh time jpeg trong tài liệu. 6. Bước 1-5 được lặp lại với từng 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à một đối n Cho phép nhiều đối tượng tượng được truyền qua được truyền trên cùng một liên liên kết TCP. kết. n HTTP 1.0 n Client phân tích, tìm ra và gửi yêu cầu tới tất cả các đối tượng ngay sau khi nhận được trang HTML ban đầu (base HTML). n HTTP 1.1 sử dụng liên kết loại này ở chế độ mặc đị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: dạng 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 tới web server: telnet www.uct2.edu.vn 80 Mở một kết nối (TCP) tới cổng 80 tại web server của UCT2. Sau khi kết nối, tất cả ký tự gõ vào sẽ được gửi tới cổng 80. 2. Nhập vào GET http request: GET /dangkythilai/help.htm HTTP/1.0 Đây là một http request đơn giản. Nhập xong gõ 2 lần Enter để gửi tới server 3. Kiểm tra kết 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 một con số nào đó (#) khi client request, client server đồng thời ghi nhớ số này để usual http request msg sử dụng sau này: usual http response + ¤ Chứng thực Set-cookie: # (authentication) ¤ Ghi nhớ sở thích, thói quen, lựa chọn truy cập usual http request msg cookie: # cookie- lần trước. spectific n server gửi “cookie” tới usual http response msg action client qua response msg, vd: Set-cookie: 1678453 usual http request msg n Lần sau truy cập website, cookie- cookie: # client gửi 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 cần gửi client server obj tới client khi client đã có http request msg phiên bản cập nhật (up-to- If-modified-since: date) của obj. object not n Client phải chỉ ra thời gian modified http response sửa gần đây nhất của 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 nếu obj là object cập 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 gửi http requests tới web cache thay vì tới server. ¤ Nếu obj có tại web cache: web cache tạo http response origin server msg gửi về cho client. ¤ Nếu không, web cache tạo gửi h tt Proxy pr server es t http request tới server, nhận eq u req u client http es t h tt p se obj, lưu trữ, rồi gửi http res e s pon pon pr response msg tới client. se h tt st q ue n Web cache sẽ khiến người pr e nse ht t spo dùng có cảm giác duyệt web tp re ht nhanh hơn, giảm nghẽn mạng. 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 servers client (e.g., in same public network) Internet n smaller response time: cache “closer” to client 1.5 Mbps n decrease traffic to distant access link servers institutional network 10 Mbps LAN ¤ link out of 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… ¤ http://www.apache.org ¤ 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. Một số khái niệm và nguyên tắc. 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: Tạo 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ử dụng 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 http://www.w3schools.org (http://www.w3schools.com) 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ề một trang HTML cố định khi nhận được yêu cầu của người dùng. n Lập trình web: tương tác với người sử dụng thông qua web. ¤ Lập trình web # Lập 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
  20. ASP (Active Server Page) n Microsoft/IIS. n Một tài liệu ASP có thể coi như một tài liệu HTML có nhúng các script ASP, được ghi lại dạng tệp *.asp, đặt tại web server. n Mỗi khi được request, các script được chạy ở phía server, kết quả trả về client dạng 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 lớp trong lập 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2