Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn
Tổng quan
Buổi trước: Tầng giao vận
Nguyên lý của tầng giao vận
TCP và UDP
Khái niệm kiểm soát luồng và kiểm soát tắc
nghẽn
Hôm nay: Tầng ứng dụng
Nguyên lý của tầng ứng dụng
Case study: HTTP, Mail, FTP, DNS, P2P
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 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn
1Chương 7: Tầng ứng dụng Giảng viên: Ngô Hồng Sơn Bộ môn Truyền thông và Mạng máy tính Khoa CNTT- ðHBK Hà Nội 2Tổng quan Buổi trước: Tầng giao vận Nguyên lý của tầng giao vận TCP và UDP Khái niệm kiểm soát luồng và kiểm soát tắc nghẽn Hôm nay: Tầng ứng dụng Nguyên lý của tầng ứng dụng Case study: HTTP, Mail, FTP, DNS, P2P 3Khái niệm cơ bản 4Nhắc lại về kiến trúc phân tầng Application (HTTP, Mail, ) Transport (UDP, TCP ) Network (IP, ICMP) Datalink (Ethernet, ADSL) Physical (bits) Hỗ trợ các ứng dụng trên mạng Truyền dữ liệu giữa các ứng dụng Chọn ñường và chuyển tiếp gói tin giữa các máy, các mạng Hỗ trợ việc truyền thông cho các thành phần kế tiếp trên cùng 1 mạng Truyền và nhận dòng bit trên ñường truyền vật lý 5Ứng dụng và dịch vụ trên mạng? CHATGAME ON LINE WEB MAIL SKYPE YOUTUBE SSH TELNET FTP VoD SCHOOL ON THE INTERNET GOOGLE BITTORENT E-COMMERCE EBAY MUSIC ONLINE GRID VIDEO CONFERENCE e-BANK VoIP NEWS SMS e-Office e-Goverment 6Ứng dụng và giao thức ứng dụng Giao thức ứng dụng ðịnh nghĩa các quy tắc giao tiếp Sử dụng các dịch vụ giao vận (TCP/UDP) Ứng dụng : Các tiến trình giao tiếp với nhau trên Internet qua việc trao ñổi thông ñiệp Hoạt ñộng trên các hệ thống cuối Cài ñặt giao thức ứng dụng ñể cung cấp dịch vụ Ví dụ ứng dụng/giao thức: Web (HTTP) Mail (SMTP/POP/IMAP) application transport network data link physical application transport network data link physical application transport network data link physical 7Các thành phần của ứng dụng Chương trình Giao diện NSD: Hỗ trợ cho NSD ñể làm việc với ứng dụng, e.g. trình duyệt Web (Firefox, IE), phần mềm thư ñiện tử (Thunderbird, Outlook,..) Cài ñặt các giao thức và sử dụng dịch vụ giao vận Chương trình máy chủ Cung cấp dịch vụ cho người sử dụng Tiến trình ứng dụng: chương trình ñang chạy trên hệ ñiều hành Các tiến trình giao tiếp? Trên một máy: IPC (inter-process communication) Giữa các máy trên mạng: qua socket 8Giao tiếp giữa các tiến trình trên Internet Nhắc lại: Socket là một giao diện giữa tiến trình ứng dụng và tầng giao vận Socket ñược ñịnh danh bởi Số hiệu cổng ðịa chỉ IP Kiểu giao thức giao vận (TCP hay UDP) Socket API (Application Programming Interface): Cho phép các tiến trình lựa chọn tham số, lựa chọn dịch vụ process transport layer services socket host or server process transport layer services socket host or server Internet controlled by app developer controlled by OS 9Các mô hình ứng dụng Khách-chủ P2P Mô hình lai 10 Mô hình khách chủ Khách Gửi yêu cầu truy cập dịch vụ ñến máy chủ Về nguyên tắc, không liên lạc trực tiếp với các máy khách khác Chủ Thường xuyên online ñể chờ y/c ñến từ máy trạm Có thể có máy chủ dự phòng ñể nâng cao hiệu năng, phòng sự cố e.g. Web, Mail, client client client client Server 11 Mô hình ñiểm-ñiểm thuần túy Không có máy chủ trung tâm Các máy có vai trò ngang nhau Hai máy bất kỳ có thể liên lạc trực tiếp với nhau Không cần vào mạng thường xuyên E.g. Gnutella PeerPeer Peer Peer Peer Peer 12 Mô hình lai Một máy chủ trung tâm ñể quản lý NSD, thông tin tìm kiếm Các máy khách sẽ giao tiếp trực tiếp với nhau sau khi ñăng nhập E.g. Skype Máy chủ Skype quản lý các phiên ñăng nhập, mật khẩu Sau khi kết nối, các máy sẽ gọi VoIP trực tiếp cho nhau Server Client Client Client Client-Server Comm. P2P Comm. 13 Case study 1: HTTP và WWW 14 HTTP và Web WWW: World Wide Web trao ñổi dữ liệu siêu văn bản HTML (HyperText Markup Language) trên Internet HTTP: HyperText Transfer Protocol Mô hình Client/Server Client yêu cầu truy nhập tới các trang web (các ñối tượng web) và hiển thị chúng lên trình duyệt Server: Nhận yêu cầu và trả lời cho client http request h t t p r e q u e s t h t t p r e s p o n s e http response Web clients Web server IE Firefox Navigator 15 HTTP hoạt ñộng ntn? Server mở một TCP socket chờ tại cổng 80 (default) Client khởi tạo một liên kết TCP tới server Server chấp nhận yêu cầu tạo liên kết Trao ñổi thông ñiệp HTTP (giao thức ứng dụng) HTTP Request HTTP Response ðóng liên kết TCP IP header TCP header Dữ liệu - payloadHTTP header 16 Khuôn dạng HTTP request Mã ASCII (dễ dàng ñọc ñược dưới dạng văn bản) GET /dccn/index.html HTTP/1.1 Host: www.it-hut.edu.vn User-agent: Mozilla/4.0 Connection: close Accept-language:en-us (extra carriage return, line feed) request line (GET, POST, HEAD commands) header lines CR, LF indicates end of message 17 Khuôn dạng HTTP response HTTP/1.1 200 OK Connection close Date: Tue, 16 Mar 2008 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 15 Mar 2008 ... Content-Length: 8990 Content-Type: text/html data data data data data ... status line (protocol status code status phrase) header lines data, e.g., requested HTML file 18 Các liên kết HTTP HTTP không duy trì Chỉ một ñối tượng web ñược gửi qua liên kết TCP Sử dụng mặc ñịnh trong HTTP/1.0 HTTP 1.0: RFC 1945 HTTP có duy trì Nhiều ñối tượng có thể ñược gửi qua một liên kết TCP. Sử dụng mặc ñịnh trong HTTP/1.1 HTTP 1.1: RFC 2068 19 Hoạt ñộng của HTTP/1.0 Time Time Web client Web server TCP Conn. Req. GET /index.html i n d e x . h t m l A c c e p t e d Init TCP connection Send HTTP response: index.html Close TCP connection OK, send HTTP request Accept TCP connection GET img1.jpg Parse index.html: has 10 reference to 10 images Repeat above steps 10 times! Send images 1 Close TCP connection TCP Conn. Req. i m g 1 . j p g Accept TCP connection 2xRTT 20 Hoạt ñộng của HTTP/1.1 Time Time Web client Web server TCP Conn. Req. GET /index.html GET i n d e x . h t m l A c c e p t e d Init TCP connection Send HTTP response: index.html OK, send HTTP request Accept TCP connection GET i m g 1 . j p g request images 2 Parse index.html: has 10 reference to 10 images request images 1 Send images 1 Send images 2 request images 10 Stop-and- wait! Pipeline 21 HTTP/1.1 với pipeline Time Time Web client Web server TCP Conn. Req. GET /index.html GET i n d e x . h t m l A c c e p t e d Init TCP connection Send HTTP response: index.html OK, send HTTP request Accept TCP connection Parse index.html: has 10 reference to 10 images request images 1 -10 Send images 1-10 22 Các phương thức trong thông ñiệp yêu cầu HTTP/1.0 GET POST HEAD yêu cầu máy chủ loại một số ñối tượng ra khỏi thông ñiệp trả lời HTTP/1.1 GET, POST, HEAD PUT tải file lên máy chủ, ñường dẫn chỉ ra trong URL, file ñể trong body DELETE Xóa file chỉ ra bới ñường dẫn Lưu ý: Có 2 cách ñể gửi tham số ñến server: POST hoặc GET 23 Mã trạng thái trả lời 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 Trong dòng ñầu tiên của thông ñiệp trả lời, ví dụ 24 Bộ ñệm- Caching “Cache”: Bộ nhớ ñệm Khái niệm bộ nhớ cache trong máy tính L1 cache, L2 cache “cache miss”, “cache hit” Xem xét trường hợp sau: Một tổ chức có một ñường nối tới Internet Tất cả lưu lượng truy cập web ñều ñi qua liên kết này Nhiều NSD web có thể cùng truy nhập tới cùng một nội dung Giải pháp cải tiến? www.xyz.com/index.htm 25 Sử dụng bộ ñệm web - proxy NSD ñặt tham số kết nối truy cập web của trình duyệt qua một máy chủ proxy trình duyệt gửi yêu cấu ñến proxy Miss: Proxy gửi yêu cầu tới máy chủ web, trả lời trình duyệt và lưu ñệm ñối tượng web Hit: Proxy trả ñối tượng web cho trình duyệt client Proxy server client H T T P r e q u e s t H T T P r e s p o n s e HTTP request H T T P r e q u e s t Web server HTTP response H T T P r e s p o n s e 26 Web caches Proxy: Vừa là client, vừa là server Sử dụng bởi các ISP nhỏ, các tổ chức như trường học, công ty Ảnh hưởng của proxy Làm giảm lưu lượng web trên ñường ra Internet Có thể làm giảm thời gian ñáp ứng Thử phân tích vài trường hợp cache hit cache miss proxy bị quá tải Trang web thay ñổi/trang web ñộng? 27 Local cache Các trang web còn có thể ñược lưu trên máy cục bộ Sử dụng local cache ñể Duyệt web offline Duyệt các trang web hiệu quả hơn: 28 Phương thức GET có ñiều kiện Mục ñích: Máy chủ sẽ không gửi ñối tượng web nếu proxy còn lưu giữ thông tin cập nhật Proxy: chỉ ra thời gian cũ của ñối tượng If-modified-since: server: Xác nhận lại có thay ñổi hay không: HTTP/1.0 304 Not Modified proxy server HTTP request msg If-modified-since: HTTP response HTTP/1.0 304 Not Modified object not modified HTTP request msg If-modified-since: HTTP response HTTP/1.0 200 OK object modified 29 Quiz Hãy cho biết liên kết TCP ñược thiết lập giữa các máy ntn trong trường hợp dùng web proxy? Hình vẽ? 30 Case study 2: Email 31 Thư ñiện tử MUA (Mail User Agent) Lấy thư từ máy chủ, gửi thư ñến máy chủ e.g. Outlook, Thunderbird MTA (Mail Transfer Agent): : Chứa hộp thư ñến của NSD (mail box) Hàng ñợi ñể gửi thư ñi e.g. Sendmail, MS Exchange user agent mail server mail server user agent Giao thức: Chuyển thư: STMP-Simple Mail Transfer Protocol nhận thư POP – Post Office Protocol IMAP – Internet Mail Access Protocol SMTPPOP IMAP Mail box Message queue IMAP POP SMTPSMTP 32 Giao thức SMTP RFC 2821 TCP, port 25: Chuyển thư từ client ñến server và giữa các server với nhau Tương tác yêu cầu/trả lời Yêu cầu: Lệnh với mã ASCII Trả lời: mã trạng thái và dữ liệu 33 Các giao thức nhận thư POP: Post Office Protocol [RFC 1939] ðăng nhập và lấy hết thư về IMAP: Internet Mail Access Protocol [RFC 1730] Phức tạp hơn POP Cho phép lưu trữ và xử lý thư trên máy chủ Quota? user agent sender’s mail server user agent SMTP SMTP access protocol receiver’s mail server 34 Web Mail Sử dụng Web browser như một MUA MUA và MTA giao tiếp thông qua HTTP Mails ñược lưu trữ trên máy chủ E.g. Gmail, Hotmail, Yahoo! Mail, etc. Ngày nay, rất nhiều các MTA cho phép truy cập thông qua giao diện web 35 Khuôn dạng thông ñiệp thư ñiện tử SMTP: Giao thức ñể truyền thư RFC 822: ðịnh nghĩa khuôn dạng Phần ñầu To: From: Subject: Phần thân mã hóa dưới dạng mã ASCII header body blank line 36 ðể chuyển dữ liệu ña phương tiện: multimedia extensions MIME: multimedia mail extension, RFC 2045, 2056 Thêm một dòng trong phần ñầu chỉ rõ khuôn dạng dữ liệu gửi ñi From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data multimedia data type, subtype, parameter declaration method used to encode data MIME version encoded data 37 Case Study 3 Ứng dụng truyền tệp 38 FTP: File Transfer Protocol Mô hình Client-server Trao ñổi file giữa các máy RFC 959 Sử dụng TCP, cổng 20, 21 TCP data connection, port 20 FTP server user interface FTP client local file system remote file system user TCP control connection, port 21 ðiều khiển Out-of-band : Lệnh của FTP : cổng 21 Dữ liệu: cổng 20 NSD phải ñăng nhập trước khi truyền file Một số server cho phép NSD với tên là anonymous 39 Lệnh và mã trả lời Một số ví dụ USER username PASS password LIST : trả về danh sách file RETR filename Lấy file STOR filename ðặt file lên máy chủ Ví dụ về mã trả lời 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file 40 Ví dụ về ftp client C:\Documents and Settings\hongson>ftp ftp> ? Commands may be abbreviated. Commands are: ! delete literal prompt send ? debug ls put status append dir mdelete pwd trace ascii disconnect mdir quit type bell get mget quote user binary glob mkdir recv verbose bye hash mls remotehelp cd help mput rename close lcd open rmdir Command line GUI FTP clients: IE, Firefox, GFTP, . 41 Tóm tắt Mô hình ứng dụng Client-server vs. P2P Một số ứng dụng và giao thức HTTP Mail FTP Về nhà, hãy tìm hiểu thêm P2P Giao diện lập trình Socket 42 Buổi học tới: Data-link Layer Các nguyên lý tầng Data-link Mạng LAN 43 Acknowledgment Bài giảng có sử dụng các tư liệu và hình vẽ từ: Tài liệu của trường ñại học Keio và Ritsumekan Tài liệu “Computer Network, a top down approach” của J.F Kurose và K.W. Ross
File đính kèm:
- bai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_1_ngo_ho.pdf