Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
2,41 MB
Nội dung
Chương Tầng Ứng dụng (Application layer) A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers) They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs They obviously represent a lot of work on our part In return for use, we only ask the following: If you use these slides (e.g., (e g in a class) that you mention their source (after all, we’d like people to use our book!) If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material Thanks and enjoy! JFK/KWR Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996-2012 J.F Kurose and K.W Ross, All Rights Reserved Tầng Application 2-1 Chương 2: Nội dung 2.1 Các nguyên lý ứng dụng mạng 2.2 Web HTTP 2.3 FTP 2.4 Thư điện thử 2.6 Các ứng dụng P2P 2.7 Lập trình socket với UDP TCP SMTP, POP3, IMAP 2.5 DNS Tầng Application 2-2 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 2: tầng Ứng dụng Mục tiêu: Khái niệm, phương diện áp dụng giao thức ứng dụng mạng Các mơ hình dịch vụ tầng transport Mơ hình clientserver Mơ hình hì h peer-tot peer Tìm hiểu giao thức thông qua việc xem xét giao thức phổ biến tầng ứng dụng HTTP FTP SMTP / POP3 / IMAP DNS Lập trình ứng dụng mạng socket API Tầng Application 2-3 Một số ứng dụng mạng e-mail w web Nhắn tin Đăng nhập từ xa Chia sẻ file P2P Trò chơi trực tuyến với nhiều người tham gia Truyền ề hình ì trực tuyến ế (streaming stored video – Vd: YouTube, Hulu, Netflix) Đàm thoại mạng yp IP (Vd: Skype) Hội thảo video thời gian thực Mạng xã hội Tìm kiếm … … Tầng Application 2-4 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tạo ứng dụng mạng Viết chương trình để: Chạy hệ thống đầu cuối (khác nhau) Liên Liê llạc qua mạng m Ví du: phần mềm web server giao tiếp với trình duyệt Không cần viết phần mềm cho thiết bị lõi mạng Các thiết bị lõi mạng khô chạy không h ứng ứ dụng d ủ người dùng Các ứng dụng hệ thống đầu cuối cho phép phát triển ứng dụng quảng bá nhanh chóng application transport network data link physical application transport network data link physical application transport network data link physical Tầng Application 2-5 Các kiến trúc ứng dụng Kiến trúc phù hợp ứng dụng: client-server peer-to-peer (P2P) (Mạng ngang hàng) Tầng Application 2-6 CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc Client-server server: client/server Máy luôn hoạt động Địa h IP P cốố định đ h Tổ chức thành trung tâm liệu để mở rộng quy mô clients: Giao tiếp với server Có thể kết nối khơng liên tục Có thể thay đổi địa IP Không giao tiếp trực tiếp với client khác Tầng Application 2-7 Kiến trúc P2P (ngang hàng) khơng có server ln ln hoạt động Các hệệ thống g đầu cuối ỳ truyền ề thông trực tiếp ế với Các peer yêu cầu dịch vụ từ peer khác cung cấp dịch vụ ngược lại cho peer khác Có khả tự mở rộng – peer cung cấp thêm dị h vụ mới, dịch ới ũ h có ó thêm nhu cầu dịch vụ Các peer kết nối khơng liên tục thay đổi địa IP Quản lý phức tạp peer-peer Tầng Application 2-8 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các tiến trình liên lạc Tiến trình (process): clients, servers Tiến trình client client: tiến trình khởi tạo liên lạc Tiến trình server: tiến trình chờ đợi để liên lạc chương trình chạy máy Trong máy, hai tiến trình giao tiếp với cách sử dụng chế truyền thơng liên tiến trình (inter-process communication) (được định nghĩa hệ điều hành) Các tiến trình host khác truyền thơng với cách trao đổi thông điệp (message) Chú ý: ứng dụng với kiến trúc P2P có tiến trình client server Tầng Application 2-9 Sockets Tiến trình gửi/nhận thơng điệp đến/ từ socket socket tương tự cửa vào Tiến trình g gửi đẩy y thơng g điệp ệp khỏi cửa Tiến trình gửi dựa hạ tầng vận chuyển bên cánh cửa để phân phối thơng điệp đến socket tiến trình nhận application process socket network network physical process transport transport link application Internet link Được kiểm soát Bởi nhà phát triển ứng dụng Được điều khiển hệ điều hành physical Tầng Application 2-10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Xác định tiến trình Để nhận thơng điệp, tiến trình phải có định danh Thiết bị host device có địa IP 32-bit Q: địa IP host mà tiến trình chạy có đủ để xác định tiến trình hay khơng? A: khơng, có nhiều tiến trình chạy host Đinh danh (identifier) bao gồm địa IP g (p (port numbers)) số cổng liên kết với tiến trình host Ví dụ số cổng: HTTP server: 80 Mail server: 25 Để gởi thông điệp HTTP đến web server gaia.cs.umass.edu : IP address: 128.119.245.12 port number: 80 Còn nữa… Tầng Application 2-11 Giao thức tầng Ứng dụng định nghĩa Các loại thông điệp trao đổi e.g., yêu ê cầu ầ (request), ( ) đáp ứng (response) Cú pháp thông điệp: Các trường thông điệp cách mà trường định nghĩa Ngữ g nghĩa g thông g điệp p Ý nghĩa thông tin trường Các quy tắc (rules) cách mà tiến trình gởi đáp ứng thông điệp CuuDuongThanCong.com Các giao thức mở: Được định nghĩa g g RFCs Cung cấp khả tương tác cho ứng dụng thuộc nhà phát triển khác Vd: HTTP, SMTP Các giao thức độc quyền: Vd: Skype Tầng Application 2-12 https://fb.com/tailieudientucntt Dịch vụ vận chuyển mà ứng dụng cần? Toàn vẹn liệu (data integrity) Một số ứng dụng (ví dụ truyền file, file web transactions) yêu cầu độ tin cậy 100% truyền liệu Các ứng dụng khác (ví dụ audio) chịu số mát Định h hì (timing) ( ) Một số ứng dụng (ví dụ, thoại Internet, game tương tác) yêu cầu độ trễ thấp để đạt “hiệu quả” thực thi Thông lượng (throughput) Một số ứng dụng (vd: đa phương tiện) yêu cầu thông hô lượng l tối ối thiếu hiế để đạt “hiệu quả” thực thi Các ứng dụng khác (“ứng dụng mềm dẻo”) dùng thơng lượng g ợ An ninh Mã hóa, toàn vẹn liệu, … Tầng Application 2-13 Các yêu cầu dịch vụ vận chuyển: ứng dụng phổ biến ứng dụng Truyền file e-mail Web documents audio/video thời gian thực audio/video lưu Game tương tác nhắn ắ tin liệu thông lượng không không không chịu lỗi mềm dẻo không mềm dẻo không mềm dẻo không audio: 5kbps-1Mbps có, 100’s msec video:10kbps-5Mbps có, vài giây Trên vài kbps có, 100’s msec ề dẻo mềm có khơng chịu lỗi chịu lỗi khơng độ nhạy thời gian Tầng Application 2-14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các dịch vụ thuộc giao thức vận chuyển Internet Dịch vụ TCP: Dịch vụ UDP: Truyền tải có đảm bảo (reliable transport) tiến trình gửi nhận Điều khiển luồng thông tin (flow control): bên gửi không gửi vượt khả bên nhận Điều khiển tắc nghẽn (congestion control): điều tiết bên gửi mạng tải Không g hỗ trợ: định ị thì,, bảo đảm thơng lượng tối ố thiểu, ể bảo mật Hướng kết nối (connectionoriented): yêu cầu thiết lập kết nối tiến trình client server trước truyền Truyền liệu không đảm bảo (unreliable data transfer) tiến trình gửi nhận Khơng hỗ trợ: độ tin cậy, điều khiển luồng, điều khiển tắc nghẽn, định thì, bảo đảm thơng lượng, bảo mật, thiết lập kết nối Q: Tại phải quan tâm? Tại có UDP? Tầng Application 2-15 Ứng dụng Internet: Các giao thức tầng application, transport application e-mail remote terminal access Web Truyền file streaming multimedia Thoại Internet Giao thức tầng application Giao thức tầng transport SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (e.g., YouTube), RTP [RFC 1889] SIP, RTP, độc quyền (e.g., Skype) TCP TCP TCP TCP TCP or UDP TCP or UDP Tầng Application 2-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bảo mật TCP SSL giao thức tầng TCP & UDP Application Không g mã m hóa Các ứng dụng dùng thư Mật mã chưa mã hóa viện SSL, thơng qua gởi đến socket để để “nói chuyên” với TCP qua Internet SSL socket API dạng nguyên Mật mã dạng khơng mã SSL hóa gởi vào Hỗ trợ kết nối TCP socket chuyển qua mã hóa Internet dạng mã Tồn vẹn liệu hóa Chứng thực đầu cuối Xem chương Tầng Application 2-17 Chương 2: Nội dung 2.1 Các nguyên lý ứng dụng mạng 2.2 Web HTTP 2.3 FTP 2.4 Thư điện tử 2.6 Các ứng dụng P2P 2.7 Lập trình socket với UDP TCP SMTP, POP3, IMAP 2.5 DNS Tầng Application 2-18 CuuDuongThanCong.com https://fb.com/tailieudientucntt Web HTTP Ôn lại… web page bao gồm đối tượng (objects) Đối tượng tập tin HTML, hình ảnh JPEG, Java applet, tập tin audio,… web page bao gồm tập tin HTML bao gồm số đối tượng tham chiếu Mỗi đối tượng xác định URL ví dụ URL, www.someschool.edu/someDept/pic.gif tên máy đường dẫn Tầng Application 2-19 Tổng quan HTTP HTTP: hypertext transfer protocol Giao thức tầng Application Web Mơ hình client/server client: trình duyệt gửi yêu cầu, nhận phản hồi (dùng giao thức HTTP) “hiển thị” đối tượng Web server: Web server gửi (dùng giao thức HTTP) đối tượng để trả lời yêu cầu PC chạy trình duyệt Firefox server Chạy web server Apache p iphone chạy trình duyệt Safari Tầng Application 2-20 CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Thời gian phân phối file: P2P Server: cần tải lên Thời gian gởi sao: client: client phải F/us F us di download file network Thời gian tối thiếu để client tải xuống: F/dmin ui nhiều client: với N máy tổng dung lượng tải NF bit Tốc độ upload tối đa (khống chế tốc độ tải tối đa) us + ui Thời gian phân phối F đến N client dùng phương pháp P2P DP2P > max{F/us,,F/dmin,,NF/(us + ui)} Tăng tuyến tính N … …nhưng thêm peer tham gia sử dụng dịch vụ, Tầng Application 2-79 lại gia tăng lực dịch vụ So sánh Client-server với P2P: ví dụ Tốc độ client upload = u, F/u = hour, us = 10u, dmin ≥ us Minim mum Distribution Time 3.5 P2P Client-Server 2.5 1.5 0.5 0 10 15 20 25 30 35 N Tầng Application 2-80 CuuDuongThanCong.com https://fb.com/tailieudientucntt 40 Phân phối file P2P: BitTorrent Tập tin chia thành khối 256Kb (chunks) Các peer in torrent gởi/nhận khối tracker: theo dõi peers tham gia torrent torrent: nhóm peer trao đổi khối Alice tham gia… … lấy danh sách peer từ tracker … bắt đầu trao đổi khối với peer torrent Tầng Application 2-81 Phân phối file P2P: BitTorrent peer tham gia torrent: khơng có khối, tích lũy chúng từ peer khác đăng ký với tracker để lấy danh sách peer khác, kết nối với peer khác “láng giềng” peer khác tải xuống, peer tải khối liệu có tới peer khác peer thay đổi peer mà trao đổi khối liệu peers tham gia hay rời bỏ nhóm phân phối Một peer có tồn file, (ích kỷ) rời khỏi (vị tha) lại nhóm Tầng Application 2-82 CuuDuongThanCong.com https://fb.com/tailieudientucntt 41 BitTorrent: yêu cầu, gởi khối Yêu cầu khối: Gởi khối: tit-for-tat thời điểm nào, peer khác h có ó tập khác khối định kỳ, Alice yêu cầu peer cho danh sách khối mà peer có Alice y yêu cầu khối thiếu ế từ peer, trước Alice g gởi khối cho bốn peer h đ gởi khối cho cô tốc độ cao Alice xiết yêu cầu từ peer khác (sẽ không nhận khối từ Alice) Đánh giá lại top 10 giây Mỗi 30 giây: chọn ngẫu nhiên peer khác, bắt đầu gởi khối Không xiết yêu cầu peer Peer chọn tham gia top Tầng Application 2-83 BitTorrent: tit-for-tat (1) Alice cho Bob kết nối (2) Alice trở thành bốn nhà cung cấp hàng đầu Bob; Bob đáp lại (3) Bob trở thành bốn nhà cung cấp hàng đầu Alice tải lên nhanh hơn: dễ tìm đối tác tốt hơn, lấy file nhanh hơn! Tầng Application 2-84 CuuDuongThanCong.com https://fb.com/tailieudientucntt 42 Distributed Hash Table (DHT) Bảng Hash Mơ hình DHT Circular DHT and overlay networks Peer churn Cơ sở liệu đơn giản Cơ sở liệu phân tán (distributed P2P database) đơn giản với cặp (key, value): • key: số an sinh xã hội; value: tên người Key Value 132-54-3570 John Washington 761-55-3791 Diana Louise Jones 385-41-0902 Xiaoming Liu 441-89-1956 Rakesh Gopal 217-66-5609 Linda Cohen ……… …… 177-23-0199 Lisa Kobayashi • key: tên phim; value: địa IP CuuDuongThanCong.com https://fb.com/tailieudientucntt 43 Bảng Hash • thuận tiện để lưu trữ tìm kiếm đại diện số key • key = hash(original key) Original Key Key Value 132-54-3570 8962458 John Washington 761-55-3791 7800356 Diana Louise Jones 385-41-0902 1567109 Xiaoming Liu 441-89-1956 2360012 Rakesh Gopal p 217-66-5609 5430938 Linda Cohen ……… 177-23-0199 …… 9290124 Lisa Kobayashi Distributed Hash Table (DHT) Phân phối cặp (key, value) qua hàng triệu peer Các cặp phân bố peer Bất kỳ peer truy vấn DHT cách dùng key Cơ sở liệu trả giá trị trùng key Để giải truy vấn, số lượng nhỏ thông điệp trao đổi peer Mỗi peer biết số nhỏ peer khác CuuDuongThanCong.com https://fb.com/tailieudientucntt 44 Chỉ định cặp key-value cho peer Quy tắc: định cặp key-value đến peer mà có ID gần (closest) Quy ước: gần nhất(closest) is kế thừa lặp tức (immediate successor ) khóa (key) Ví dụ: khơng gian ID {0,1,2,3,…,63} Giả sử p peer: 1,12,13,25,32,40,48,60 Nếu key = 51, định cho peer 60 Nếu key = 60, định cho peer 60 Nếu key = 61, định cho peer DHT vòng tròn (Circular DHT) Mỗi peer nhận thức người kế nhiệm người tiền nhiệm 12 60 13 48 25 40 CuuDuongThanCong.com 32 “overlay network” https://fb.com/tailieudientucntt 45 Giải truy vấn Giá trị nào được kết hợp với key 53 ? ợp y value 12 60 13 48 25 O(N) thơng điệp trung bình để giải truy vấn, có N peer 40 32 DHT vòng tròn với đường tắt value Giá trị nào cho key 53 12 60 13 48 25 40 • • • 32 Mỗi peer theo dõi đại IP người tiền nhiệm, người kế nhiệm, đường tắt Giảm từ cịn thơng điệp Có thể thiết kế đường tắt với O(log N) láng giềng, O(log N) thông điệp truy vấn CuuDuongThanCong.com https://fb.com/tailieudientucntt 46 Peer churn Xử lý peer churn: peer tham gia rời khỏi (churn) nhóm Mỗi peer biết địa hai 15 kế nhiệm Mỗi peer định kỳ ping hai kế nhiệm để kiểm tra tồn 12 Nếu người vừa kế nhiệm bỏ đi, chọn kế nhiệm 10 người kế nhiệm tức thời Ví dụ: peer đột ngột rời khỏi Peer churn Các Xử lý peer churn: peer tham gia rời khỏi (churn) nhóm Mỗi peer biết địa hai 15 kế nhiệm Mỗi peer định kỳ ping hai kế nhiệm để kiểm tra tồn 12 Nếu người vừa kế nhiệm bỏ đi, chọn kế nhiệm 10 người kế nhiệm tức thời Ví dụ: peer đột ngột rời khỏi Các peer phát rời khỏi peer 5; peer trở thành người kế nhiệm yêu cầu người kế nhiệm tức thời nó; người kế nhiệm tức thời trở thành người kế nhiệm thứ CuuDuongThanCong.com https://fb.com/tailieudientucntt 47 Chương 2: Nội dung 2.1 Các nguyên lý ứng dụng mạng 2.2 Web HTTP 2.3 FTP 2.4 Thư điện tử 2.6 Các ứng dụng P2P Lập trình socket 2.7 với UDP TCP SMTP, POP3, IMAP 2.5 DNS Tầng Application 2-95 Lập trình Socket Mục tiêu: tìm hiểu cách xây dựng ứng dụng client/server liên lạc sockets socket: cánh cửa tiến trình ứng dụng giao i thức h vận chuyển h ể i đầu đầ cuối ối application process socket t k network k network physical process transport transport link application Internet link Được điều khiển Nhà phát triển ứng dụng Được điều khiển hệ điều hành physical Tầng Application 2-96 CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 Lập trình Socket Hai loại socket cho hai dịch vụ transport: UDP: chuyển gói tin khơng đảm bảo TCP: chuyển luồng tin có đảm bảo (stream(stream oriented) Ứng dụng ví dụ: Client nhận dịng ký tự (dữ liệu) từ bàn phím gởi liêu đến server Server nhận liệu chuyển đổi ký tự t sang chữ hoa hoa Server gởi liệu sửa đổi cho client Client nhận liệu bị sửa đổi hiển thị dịng lên hình Tầng Application 2-97 Lập trình Socket với UDP UDP: khơng “kết nối” client server Không bắt tay trước gởi liệu Bê gửi Bên ửi hỉ rõ õ địa đị hỉ IP đích đí h sốố portt cho h ỗi packet Bên nhận lấy địa IP số port bên gửi từ packet nhận UDP: liệu truyền bị nhận không thứ tự Quan điểm ứng dụng: UDP cung cấp chế truyền nhóm bytes (“datagrams”) khơng tin cậy client server Tầng Application 2-98 CuuDuongThanCong.com https://fb.com/tailieudientucntt 49 Sự tương tác socket Client/server: UDP client server (chạy với địa serverIP) create socket: clientSocket = socket(AF_INET,SOCK_DGRAM) create socket, k port= x: serverSocket = socket(AF_INET,SOCK_DGRAM) create datagram with serverIP and port=x; send datagram via clientSocket read datagram from serverSocket write reply to serverSocket specifying clientIP, port number read datagram from clientSocket close clientSocket Application 2-99 Ứng dụng ví dụ: UDP client Python UDPClient Bao gồm thư viện socket Python’ from socket import * serverName = ‘hostname’ hostname serverPort = 12000 Tạo socket UDP cho server Nhận thơng điệp từ bàn phím người dùng Đính kèm tên server, port đến thông điệp; gởi vào socket Đọc ký tự trả lời từ socket vào chuỗi In chuỗi nhận đóng socket clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM) message = raw_input(’Input lowercase sentence:’) clientSocket.sendto(message,(serverName, serverPort)) modifiedMessage, serverAddress = clientSocket.recvfrom(2048) print modifiedMessage clientSocket.close() Tầng Application 2-100 CuuDuongThanCong.com https://fb.com/tailieudientucntt 50 Ứng dụng ví dụ : UDP server Python UDPServer from socket import * serverPort = 12000 Tạo UDP socket serverSocket = socket(AF_INET, SOCK_DGRAM) Gắn kết socket đến số port cục bộ12000 serverSocket.bind(('', serverPort)) print “The server is ready to receive” Lặp mãi Đọc từ UDP socket vào message, g , lấy y địa ị IP client (địa IP client port) Gởi chuỗi chữ hoa trở lại cho client while 1: message, clientAddress = serverSocket.recvfrom(2048) modifiedMessage = message.upper() serverSocket.sendto(modifiedMessage, clientAddress) Tầng Application 2-101 Lập trình Socket với TCP client phải liên lạc với server Tiến trình server phải chạy tr trước c server phải tạo socket (cửa) để mời client đến liên lạc client tiếp xúc server bằng: Khi client liên lạc, server TCP tạo socket cho tiến trình server để trao đổi ổ với client ó Cho phép server nói chuyện với nhiều client Số source port dùng để phân biệt client (xem tiếp chương 3) Tạo socket TCP, xác định địa IP, số port tiến trình server Khi client tạo socket: client Quan điểm ứng dụng: TCP thiết lập kết nối đến TCP cung cấp việc truyền byte server TCP đáng tin cậy theo thứ tự client server Tầng Application 2-102 CuuDuongThanCong.com https://fb.com/tailieudientucntt 51 Tương tác socket Client/server: TCP server (chạy hostid) client create socket, port=x, for incoming request: serverSocket = socket() wait for incoming TCP connection request connectionSocket = connection serverSocket.accept() setup read request from connectionSocket write reply to connectionSocket close connectionSocket create socket, connect to hostid, port=x clientSocket = socket() send request using clientSocket read reply from clientSocket close clientSocket Tầng Application 2-103 Ứng dụng ví dụ : TCP client Python TCPClient from socket import * serverName = ’servername’ servername Tạo TCP socket cho server, port 12000 serverPort = 12000 clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) sentence = raw_input(‘Input lowercase sentence:’) Không cần đính kèm tên server, port clientSocket.send(sentence) modifiedSentence = clientSocket.recv(1024) print ‘From Server:’, modifiedSentence clientSocket.close() Tầng Application 2-104 CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 Ví dụ ứng dụng: TCP server Python TCPServer T socket Tạo k t TCP chào hà đón server bắt đầu lắng nghe yêu cầu TCP đến Lặp mãi server đợi accept() cho yêu cầu đến, socket tạo trở Đọc byte từ socket (nhưng khơng đọc địa UDP) Đóng kết nối đến client này(nhưng khơng đóng socket chào đón) from socket import * serverPort = 12000 serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind((‘’,serverPort)) serverSocket.listen(1) print ‘The server is ready to receive’ while 1: connectionSocket, addr = serverSocket.accept() sentence = connectionSocket.recv(1024) capitalizedSentence = sentence.upper() connectionSocket.send(capitalizedSentence) connectionSocket.close() Tầng Application 2-105 Chương 2: tóm tắt Các kiến trúc ứng dụng client-server l P2P Các yêu cầu dịch vụ ứng dụng: Độ tin cậy, băng thơng, độ trễ Mơ hình dịch vụ vận chuyển Internet Kết nối định hướng, tin cậy: TCP Không tin cậy, datagrams: UDP Các giao thức: HTTP FTP SMTP, POP, IMAP DNS P2P: BitTorrent, DHT Lập trình socket : TCP, UDP sockets Tầng Application 2-106 CuuDuongThanCong.com https://fb.com/tailieudientucntt 53 Chương 2: tóm tắt Quan trọng: tìm hiểu giao thức! trao đổi thông điệp yêu cầu /trả lời điển hình: client u cầu thơng tin dịch vụ server đáp ứng với liệu, mã trạng thái Các định ị dạng g thông g điệp: headers: trường cho biết thông tin liệu data: thông tin để truyền thông CuuDuongThanCong.com Các chủ đề quan trọng: Điều khiển với thông điệp liệu in-band, out-of-band Tập trung không tập trung Không trạng thái có trạng thái Truyền tin cậy khơng tin cậy “sự phức tạp mạng biên” Tầng Application 2-107 https://fb.com/tailieudientucntt 54 ... vẹn liệu hóa Chứng thực đầu cuối Xem chương Tầng Application 2- 17 Chương 2: Nội dung 2. 1 Các nguyên lý ứng dụng mạng 2. 2 Web HTTP 2. 3 FTP 2. 4 Thư điện tử 2. 6 Các ứng dụng P2P 2. 7 Lập trình socket... file Tầng Application 2- 47 Chương 2: Nội dung 2. 1 Các nguyên lý ứng dụng mạng 2. 2 Web HTTP 2. 3 FTP 2. 4 Thư điện tử 2. 6 Các ứng dụng P2P 2. 7 Lập trình socket với UDP TCP SMTP, POP3, IMAP 2. 5... mục Tầng Application 2- 59 Chương 2: Nội dung 2. 1 Các nguyên lý ứng dụng mạng 2. 2 Web HTTP 2. 3 FTP 2. 4 Thư điện tử 2. 6 Các ứng dụng P2P 2. 7 Lập trình socket với UDP TCP SMTP, POP3, IMAP 2. 5