Tài liệu mạng máy tính và internet - Chương 3: Các giao thức tầng ứng dụng
Bạn đang xem tài liệu "Tài liệu mạng máy tính và internet - Chương 3: Các giao thức tầng ứ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:
- tai_lieu_mang_may_tinh_va_internet_chuong_3_cac_giao_thuc_ta.pdf
Nội dung text: Tài liệu mạng máy tính và internet - Chương 3: Các giao thức tầng ứng dụng
- MẠNG MÁY TÍNH VÀ INTERNET Chương 3: Các giao thức tầng ứng dụng bangtqh@utc2.edu.vn Nội dung 1. Các nguyên lý của tầng ứng dụng 2. Web và HTTP 3. FTP 4. Thư điện tử - SMTP, POP 3, IMAP 5. DNS 6. Ứng dụng P2P bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 2
- 3.1. Các nguyên lý tầng ứng dụng Kiến trúc ứng dụng mạng – Client – Server – Peer – to – Peer (P2P) – Lai giữa P2P và Client-Server bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 3 3.1. Các nguyên lý tầng ứng dụng (tt) Kiến trúc Client-Server Server: Hoạt động 24/7 Địa chỉ IP cố định Hệ thống máy chủ cho việc mở rộng Client: Giao tiếp với máy chủ Có thể kết nối không liên tục Có thể có địa chỉ IP động Không kết nối trực tiếp với người dùng khác bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 4
- 3.1. Các nguyên lý tầng ứng dụng (tt) Kiến trúc P2P – Không có máy chủ – Các máy đầu cuối liên lạc trực tiếp với nhau – Các bên thực hiện kết nối không liên tục có thể có địa chỉ IP động • Quản lý phức tạp bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 5 3.1. Các nguyên lý tầng ứng dụng (tt) Kiến trúc lai giữa P2P và Client-Server – Skype, Zalo • Điện thoại – IP: ứng dụng P2P • Máy chủ tập trung quảng lý địa chỉ các bên tham gia • Kết nối khách-khách: trực tiếp (không thông qua máy chủ) – Nhắn tin trực tiếp • Hai người dùng chat với nhau bằng P2P • Máy chủ đảm bảo: quản lý người dùng – Mgười dùng đăng kí địa chỉ IP với máy chủ khi họ đăng nhập – Máy chủ cung cấp danh sách bạn bè đang trên mạng – Mgười dùng hỏi máy chủ để có địa chỉ IP của bạn bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 6
- Liên lạc giữa các tiến trình Tiến trình (process): – Chương trình chạy trên 1 Tiến trình trên client: máy Bắt đầu quá trình kết Trên 1 máy 2 tiến trình khác nối nhau liên lạc với nhau bằng cách sử dụng giao tiếp liên tiến trình (inter-process Tiến trình trên server: communication) do OS quy Chờ client kết nối tới định Các tiến trình trên các máy khác nhau liên lạc với nhau Các ứng dụng P2P có thông qua việc trao đổi các cả tiến trình khách và thông điệp (message) tiến trình chủ bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 7 Socket – hốc kết nối Các tiến trình gửi/nhận thông điệp qua socket Socket tương tự như cánh cửa – Tiến trình gửi đẩy message ra ngoài cánh cửa – Tiến trình gửi phụ thuộc vào hạ tầng truyền tải phía bên kia của cánh cửa để mang thông điệp tới socket của tiến trình nhận application application socket Điều khiển bởi process process lập trình viên ứng dụng transport transport network network Điều khiển bởi Hệ điều hành link Internet link physical physical bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 8
- Quá trình đánh địa chỉ Để nhận được các Ký hiệu nhận dạng message, tiến trình bao gồm địa chỉ IP và phải có ký hiệu nhận số hiệu cổng (port ) dạng tương ứng với mỗi Mỗi máy tính tham gia tiến trình trên máy vào mạng có 1 địa chỉ IP duy nhất Ví dụ về port : Hỏi : Địa chỉ IP có thể – Máy chủ HTTP: 80 đùng để định danh – Máy chủ Mail: 25 các tiến trình không? – Đáp : Không! Một máy có thể có nhiều tiến trình bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 9 3.1. Các nguyên lý tầng ứng dụng (tt) Giao thức tầng ứng dụng Các giao thức quy định công khai – Loại thông điệp được trao đổi – Định nghĩa trong • Truy vấn, phản hồi các bản RFC – Cú pháp của thông điệp – Cho phép tương • Có những trường hợp nào của thông điệp & Chúng được trình tác qua lại bày ntn? Các giao thức sở – Ngữ nghĩa của thông điệp hữu • Ý nghĩa các trường thông tin có trong thông điệp – Vd: Skype, Zalo – Quy tắc về thời điểm và cách thức các tiến trình gửi/nhận các thông điệp bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 10
- Các ứng dụng yêu cầu gì ở tầng truyền tải? Mất mát dữ liệu Thông lượng Một số ứng dụng yêu cầu Một số ứng dụng yêu dữ liệu gửi/nhận phải chính cầu một thông lượng tối xác 100% (không mất mát) thiểu để làm việc hiệu Một số ứng dụng khác lại quả có chấp nhật mất mát ở 1 tỷ Số khác lại tận dụng mọi lệ nhất định thông lượng mà nó có thể sử dụng Độ trễ Một số ứng dụng (vd: Điện thoại, trò chơi ) Bảo mật yêu cầu độ trễ thấp Mã hóa, toàn vẹn dữ liệu, bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 11 Ứng dụng yêu cầu gì ở tầng truyền tải? Yêu cầu của một số ứng dụng phổ biến bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 12
- Các dịch vụ tầng truyển tải TCP UDP – Hướng kết nối: Yêu cầu tạo – Truyền tải dữ liệu kết nối giữa khách / chủ không tin cậy (có thể – Truyền tải tin cậy: đảm bảo dữ liệu truyền tải đúng và đủ mất dữ liệu) – Kiểm soát lưu lượng: Bên – Không cung cấp: gửi chỉ gửi số lượng phù • Thiết lập kết nối hợp với khả năng xử lý của • Kiểm soát lưu lượng bên nhận • Kiểm soát tắc nghẽn, – Kiểm soát tắc nghẽn : Giảm độ trễ, thông lượng tối tốc độ gửi khi mang bị quá thiểu tải • Bảo mật – Không đảm bảo: độ trễ, thông lượng tối thiểu, bảo Hỏi : Tại sao cần có UDP ? mật bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 13 Ứng dụng internet và giao thức tầng truyền tải application underlying Application layer protocol transport protocol 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 (e.g., YouTube), TCP or UDP RTP [RFC 1889] Internet telephony SIP, RTP, proprietary (e.g., Skype) TCP or UDP bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 14
- TCP/UDP có an toàn? TCP/UDP – Không mã hóa – Dữ liện thô từ socket truyền vào môi trường Internet SSL (Secure Socket Layer) – Mã hóa dữ liệu kết nối – Đảm bảo an toàn dữ liệu – Xác thực tại đầu cuối Triển khai SSL – Applications sử dụng SSL API để “trao đổi” với TCP – Sử dụng SSL Socket API: Ứng dụng “trao đổi” plan-text với Socket nhưng trước khi gửi vào môi trường internet SSL Socket sẽ mã hóa dữ liệu. bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 15 Nội dung 1. Các nguyên lý của tầng ứng dụng 2. Web và HTTP 3. FTP 4. Thư điện tử - SMTP, POP3, IMAP 5. DNS 6. Ứng dụng P2P bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 16
- 3.2. Web và HTTP Khái niệm cơ bản Một trang web chứa nhiều đối tượng Một đối tượng có thể là tập tin HTML, ảnh JPEG, tệp âm thanh, Trang web ~ tập tin HTML chính, trong tập tin này sẽ chỉ dẫn tham chiếu tới các đối tượng khác trên trang. Mối đối tượng được tham chiếu quá URL – Unified Resource Locator (định vị tài nguyên thống nhất) Ví dụ URL: www.someschool.edu/someDept/pic.gif host name path name bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 17 3.2. Web và HTTP Tóm tắt HTTP – Hyper text Transfer Protocol Là giao thức ứng dụng web Hoạt động theo mô hình PC running Client-Server Firefox browser – Client: Chạy các trình duyệt web có nhiệm vụ gửi yêu cầu, nhận và trình bày các đối tượng trong 1 trang web server running – Server: Tổng hợp, gửi các đối Apache Web tượng theo yêu cầu từ phía server clien iphone running Safari browser bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 18
- Tóm tắt HTTP (tt) Sử dụng kết nối TCP HTTP là giao thức ở tầng truyền tải không lưu giữ trạng – Client khởi tạo kết nối thái TCP (tạo socket) tới – Server không lưu máy chủ (cổng 80) thông tin nào về người – Server chấp nhận kết dùng Hơn n ữa nối TCP từ Client Những giao thức có lưu lại – Thông điệp HTTP trạng thái khá phức tạp (giao thức tầng ứng Lịch sử truy vấn (trạng thái) dụng) được trao đổi phải được lưu giữ Trường hợp máy chủ/máy giữa web-browser và khách bị hỏng hoặc đứt kết nối web-server thì trạng thái của 2 máy phải “cân chỉnh” lại cho thống nhất – Đóng kết nối TCP bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 19 Các loại HTTP non-persistent HTTP Persistent – HTTP – Mỗi đối tượng được – Nhiều đối tượng được gửi thông qua 1 phiên truyền qua 1 phiên kết kết nối giữa Client và nối giữa client và web- Web-Server server bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 20
- Non-persistent HTTP Giả sử người dùng yêu cầu URL sau: (Chứa text tham www.someSchool.edu/someDepartment/home.index chiếu tới 10 ảnh jpeg) 1a . Client khởi tạo kết nối TCP tới máy chủ HTTP (tiến trình) tại 1b . Máy chủ HTTP tại www.someSchool.edu ở cổng 80 www.someSchool.edu chờ kết nối TCP tại cổng 80. “chấp nhận ” kết nối và báo lại cho client 2. Client gửi request message (chứa URL) vào hốc kết nối TCP. Message này chỉ ra client 3. Máy chủ HTTP server nhận được muốn có đối tượng thông điệp truy vấn, tạo ra một “someDepartment/home.index” response message chứa đối tượng được yêu cầu, và gửi thông điệp vào hốc kết nối time bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 21 Non-persistent HTTP (tt) 4. máy chủ HTTP đóng kết nối TCP. 5. Client nhận được thông điệp phản hồi chứa tệp html, hiển thị html. Phân tích tệp html tìm ra 10 liên kết tới các đối tượng jpeg time 6. các bước 1-5 lặp lại cho mỗi trong 10 đối tượng jpeg bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 22
- Thời gian phản hồi của Non-persistent HTTP Thời gian xoay vòng – RTT: – RTT = Round Trip Time – là thời gian cần để một gói tin di chuyển từ khách tới initiate TCP chủ và quay trở lại connection RTT Thời gian phản hồi: request file – Một RTT để khởi tạo kết nối time to TCP RTT transmit file – Một RTT để gửi truy vấn file received HTTP và vài byte đầu của response mesage nhận lại time time – thời gian truyền tải tệp tổng = 2RTT+ t/g truyền tải bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 23 persistent HTTP Những vấn đề của Persistent HTTP non-persistent HTTP : – Máy chủ giữ lại liên kết sau khi gửi phản hồi, gọi – Yêu cầu 2 RTT cho là liên kết mở mỗi đối tượng – Những thông điệp HTTP – Hệ điều hành (HĐH – tiếp theo giữa cặp khách/chủ đó sẽ được OS) tăng tải cho mỗi gửi qua liên kết mở ở kết nối TCP trên – Hrình duyệt thường – Client gửi truy vấn ngay mở nhiều kết nối TCP khi nó gặp phải một liên song song để tải kết tới đối tượng những đối tượng liên – Chỉ cần 1 RTT cho tất cả các đối tượng được liên kết kết tới bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 24
- HTTP request message HTTP có 2 loại message – Truy vấn: request message từ client → webserver – Phản hồi: response message từ webserver → client Request message Ký hiệu về đầu dòng (carry-return Dòng truy vấn line-feed ký tự kết thúc dòng (các lệnh GET, POST, GET /index.html HTTP/1.1\r\n HEAD ) Host: www-net.cs.umass.edu\r\n User-Agent: Firefox/3.6.10\r\n Các dòng mào Accept: text/html,application/xhtml+xml\r\n Accept-Language: en-us,en;q=0.5\r\n đầu Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n Keep-Alive: 115\r\n Connection: keep-alive\r\n Xuống dòng báo \r\n hiệu kết thúc thông điệp bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 25 HTTP request message (tt) method sp URL sp version cr lf request line header field name value cr lf header ~ ~ lines header field name value cr lf cr lf ~ entity body ~ body bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 26
- HTTP request message (tt) Tải dữ liệu từ form-input phía Client Phương pháp POST – Trang web thường có những khung điền dữ liệu – Dữ liệu từ của các ô input này được đính vào phần thân ( entity body ) của thông điệp request Phương pháp GET – sử dụng phương pháp GET – Dữ liệu vào được tải lên trực tiếp trong các trường của URL của dòng truy vấn bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 27 HTTP request message (tt) Các phương pháp tải dữ liệu lên HTTP/1.0 HTTP/1.1 GET GET, POST, HEAD POST PUT HEAD – Tải tệp tin trong phần – Đòi hỏi máy chủ đặt thân ( entity body ) lên đối tượng được yêu đường dẫn được nêu cầu nằm ngoài thông trong URL điệp phản hồi DELETE – Xóa tệp được nêu trong URL bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 28
- HTTP response-message dòng trạng thái (giao thức mã trạng thái HTTP/1.1 200 OK\r\n câu trạng thái) Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n Server: Apache/2.0.52 (CentOS)\r\n Last-Modified: Tue, 30 Oct 2007 17:00:02 GMT\r\n header ETag: "17dc6-a5c-bf716880"\r\n Accept -Ranges: bytes \r\n lines Content-Length: 2652\r\n Keep-Alive: timeout=10, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html; charset=ISO-8859- 1\r\n \r\n Dữ liệu, vd: data data data data data tệp HTML được yêu cầu bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 29 HTTP response-message (tt) Các mã trạng thái (một vài ví dụ) 200 - OK • Truy vấn thành công, đối tượng theo sau trong thông điệp này 301 - Moved permanently • Đối tượng truy vấn đã được di chuyển, vị trí mới kèm theo sau trong thông điệp này (Location:) 400 - Bad Request • máy chủ không hiểu thông điệp truy vấn 404 - Not Found • tài liệu yêu cầu không tìm thấy trên máy chủ này 505 - HTTP Version Not Supported • Phiên bản HTTP không được hỗ trợ bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 30
- Cookies: Trạng thái người dùng/máy chủ Nhiều trang web lớn sử Ví dụ: dụng cookies Bờm luôn luôn truy cập Bốn thành phần : Internet từ máy tính cá 1) dòng mào đầu cookie nhân của thông điệp phản hồi HTTP đầu tiên, lướt một trang 2) dòng mào đầu cookie thương mại điện tử của thông điệp truy vấn HTTP khi truy vấn HTTP đầu tiên 3) tệp tin cookie được lưu đến trang web, trang web trên máy người dùng và sẽ tạo ra: quản lý bởi trình duyệt – số định danh (ID) độc nhất 4) thông tin về phiên làm – một thẻ ghi trong CSDL cho việc của người dùng ID đó đồng thời được lưu tại CSDL của trang web bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 31 Cookies: duy trì “trạng thái” client server ebay 8734 http request message Amazon server cookie file Tạo ra ID http response set-cookie: 1678 1678 cho ng/d Tạo ebay 8734 mục amazon 1678 http request msg cookie: 1678 Hành vi Truy khi có xuất http response msg cookies Máy chủ CSDL 1 tuần sau: Truy xuất ebay 8734 http request msg amazon 1678 cookie: 1678 Hành vi khi có http response msg cookies bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 32
- Cookies (tt) Cookies có thể chứa gì? Hi ệu ứng – thông tin ủy quyền cookies và sự riêng tư – giỏ mua sắm trực tuyến cookies cho phép trang – trạng thái phiên làm việc web tìm hiểu nhiều người dùng (Web e-mail) thông tin về bạn bạn có thể cung cấp tên Làm sao duy trì trạng thái ? và email cho các web – các đầu cuối: lưu trạng thái ở ng/gửi, ng/nhận qua những giao dịch – cookies: các th/điệp http mang các t/tin trạng thái bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 33 Bộ nhớ đệm web (web proxy) Mục đích: đáp ứng yêu cầu của người dùng mà không cần máy chủ gốc Thiết lập trình duyệt: truy cập proxy web qua proxy server Trình duyệt gửi toàn bột truy client origin vấn HTTP tới proxy server server Đối tượng có trong proxy proxy sẽ gửi trả đối tượng cho client Ngược lại proxy sẽ truy vấn đối tượng từ client origin máy chủ gốc, sau đó gửi server lại cho người dùng, đồng thời lưu lại trong proxy bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 34
- Web-proxy (tt) Web-proxy làm việc vừa Tại sao cần có web- như client vừa như proxy? server – Giảm thời gian phản hồi cho truy vấn Thường được cài đặt bởi – Giảm lưu lượng nhà cung cáp dịch vụ (Cơ đường kết nối “ra quan, trường học v.v.) ngoài” của cơ quan – Cho phép nhà cung cấp dịch vụ tăng thêm nội dung cung cấp cho người dùng bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 35 Ví dụ: hiện thực web-proxy Giả sử: – kích thước trung bình của đối tượng = 100,000 bit origin – tần số t/bình của truy vấn từ servers trình duyệt của cơ quan tới Internet máy chủ gốc = 15 lần/s – độ trễ RTT từ proxy cơ quan tới bất kì máy chủ gốc nào = 2 s 1.54 Mbps Kết quả Đường truy cập – h/suất sử dụng LAN = 15% Mạng cơ quan – h/suất sử dụng trên đường 1 Gbps LAN truy cập = 100% – độ trễ tổng = độ trễ Internet + độ trễ truy cập + độ trễ LAN = 2 s + vài phút + vài ms bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 36
- Ví dụ: hiện thực web-proxy (tt) Giải pháp – Tăng băng thông của đường truy cập lên khoảng origin servers 10 Mbps Internet Kết quả – h/suất sử dụng LAN = 15% – h/suất sử dụng đường truy 10 Mbps cập = 15% Đường truy cập – độ trễ tổng = độ trễ Internet + độ trễ truy cập + độ trễ 1 Gbps LAN LAN = 2 s + ms + ms rất tốn kém khi nâng cấp bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 37 Ví dụ: hiện thực web-proxy (tt) Giải pháp – cài đặt proxy – giả sử tần xuất truy cập thành công dữ liệu có sẵn trên proxy là 0.4 origin servers Kết quả Internet – 40% truy vấn sẽ được đáp ứng ngay lập tức bởi proxy – 60% truy vấn sẽ được đáp ứng bởi máy chủ gốc 10 Mbps Đường truy cập – Hiệu suất sử dụng đường kết nối giảm xuống còn 60%, kéo theo độ trễ không đáng kể (khoảng 10 1 Gbps LAN msec) – tổng độ trễ tối đa = độ trễ Internet + độ trễ truy cập + độ trễ LAN = .6*(2.01) secs + msec < 1.4 secs bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 38
- GET có điều kiện Mục đích: Không gửi đối client server tượng nếu bộ nhớ đệm đã có bản cập nhật mới nhất của nó. HTTP request msg If-modified-since: Đối tượng – BNĐ: chỉ rõ thời gian không thay của bản lưu bnđ trong đổi từ HTTP response truy vấn HTTP HTTP/1.0 If -modified -since: 304 Not Modified – máy chủ: phản hồi sẽ không gửi lại đối tượng được yêu cầu HTTP request msg nếu bản lưu là bản cập If-modified-since: Đối tượng nhật mới nhất: đã thay HTTP/1.0 304 Not HTTP response đổi từ HTTP/1.0 200 OK Modified bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 39 bangtqh@utc2.edu.vn Mạng máy tính & Internet - Chương 3 40