




Preview text:
Chương 2: Tầng ứng dụng Chương 2 Tầng ứng dụng Mục tiêu:
Nghiên cứu một số giao
Khái niệm, các vấn đề thức tầng ứng dụng triển khai giao thức HTTP ứng dụng mạng FTP
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers). Các mô hình dịch SMTP / POP3 / IMAP
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. vụ tầng giao vận DNS
They obviously represent a lot of work on our part. In return for use, we only ask the following: Mô hình khách-chủ Các hệ thống video
If you use these slides (e.g., in a class) that you mention their source Computer Networking: streaming, CDNs
(after all, we’d like people to use our book!) A Top-Down Approach (client-server)
If you post any slides on a www site, that you note that they are adapted 8th edition
from (or perhaps identical to) our slides, and note our copyright of this
Tạo một ứng dụng mạng material. Jim Kurose, Keith Ross Mô hình điểm-điểm Pearson, 2020 socket API Thanks and enjoy! JFK/KWR (peer-to-peer)
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
Người dịch: Nguyễn Thị Thanh Thủy
Tài liệu được dịch cho mục đích giảng dạy Tầng ứng dụng 2-1 Tầng ứng dụng 2-2 Chương 2: Nội dung Một số ứng dụng mạng 2.1. Nguyên lý của ứng 2.5. DNS (Domain Name Mạng xã hội Điện thoại Internet dụng mạng Systems) Web (voice over IP, ví dụ
2.1.1. Các kiến trúc của 2.6. Ứng dụng Peer-to-peer Skype)
Tin nhắn văn bản (text ứng dụng mạng 2.7. Video streaming và các messaging)
Hội thảo video thời gian 2.1.2. Truyền thông giữa mạng phân phối nội dung thực Thư điện tử (e-mail) các tiến trình
2.8. Lập trình socket với UDP
Các ứng dụng tìm kiếm
2.1.3. Các dịch vụ giao vận
Trò chơi nhiều người trên mạng Truy nhập từ xa 2.2. Web và HTTP và TCP (remote login) 2.3. FTP streaming stored video (YouTube, Hulu, Netflix) … 2.4. Thư điện tử Chia sẻ file P2P Tầng ứng dụng 2-3 Tầng ứng dụng 2-4 1
Tạo một ứng dụng mạng application
Kiến trúc của ứng dụng transport network data link Viết chương trình để: physical
Chạy trên các hệ thống đầu cuối (khác nhau)
Các ứng dụng có thể có kiến trúc dạng: Truyền thông qua mạng
Client-server (khách-chủ )
Ví dụ: phần mềm máy chủ web
(web server) truyền thông với phần
Peer-to-peer (P2P, ngang hàng)
mềm trình duyệt (browser software)
Không cần viết chương trình ứng
dụng cho các thiết bị trong phần application lõi của mạng transport network data link application
Các thiết bị trong phần lõi của mạng physical transport network
không chạy các ứng dụng người data link dùng. physical
Các ứng dụng chạy trên thiết bị đầu
cuối cho phép phát triển và phổ
biến ứng dụng một cách nhanh chóng. Tầng ứng dụng 2-5 Tầng ứng dụng 2-6 Kiến trúc client-server Kiến trúc P2P server:
Không có server luôn hoạt động peer-peer Là host luôn hoạt động
Các hệ thống đầu cuối (peer)
Có địa chỉ IP cố định
truyền thông trực tiếp với nhau
Thường có trong các trung tâm dữ
Mỗi peer yêu cầu dịch vụ từ một
liệu, để mở rộng quy mô.
peer nào đó, và cung cấp dịch vụ client: lại cho các peer khác.
Có khả năng tự mở rộng – peer
Liên lạc, truyền thông với server
mới mang lại khả năng dịch vụ
Có thể được kết nối liên tục vào mạng client/server hoặc không
mới, cũng như có những yêu cầu dịch vụ mới.
Có thể có địa chỉ IP thay đổi
Không truyền thông trực tiếp với client
Các peer không kết nối liên tục và khác
có thể thay đổi địa chỉ IP Ví dụ: Quản lý phức tạp HTTP, IMAP, FTP
Ví dụ: chia sẻ file P2P [BitTorrent] Tầng ứng dụng 2-7 Tầng ứng dụng 2-8 2 Tiến trình truyền thông Socket
Các tiến trình gửi/nhận các thông điệp đến/từ socket của nó
Tiến trình: chương trình client, server
Socket tương tự như một cửa vào/ra chạy trên một host
Tiến trình client: tiến trình
Tiến trình gửi đẩy thông điệp ra bên ngoài cửa khởi tạo truyền thông
Tiến trình gửi dựa trên cơ sở hạ tầng tầng giao vận ở phía bên
Trên cùng một host, hai tiến
trình truyền thông với nhau
Tiến trình server: tiến trình
kia cửa để truyền thông điệp đến socket của tiến trình nhận.
qua truyền thông tiến trình nội chờ được tiếp xúc
Hai socket phụ thuộc vào nhau: mỗi socket ở một phía.
bộ (được xác định bởi hệ điều Ứng dụng Ứng dụng được điều khiển hành) socket tiến trình bởi người phát tiến trình
Lưu ý: ứng dụng theo kiến triển ứng dụng
Các tiến trình trên các host Giao vận Giao vận
khác nhau truyền thông với
trúc P2P có cả tiến trình client Mạng được điều khiển Mạng
nhau bằng cách trao đổi các & tiến trình server bởi hệ điều hành Liên kết Internet Liên kết thông điệp Vật lý Vật lý Tầng ứng dụng 2-9 Tầng ứng dụng 2-10
Định địa chỉ cho tiến trình
Các giao thức tầng ứng dụng
Các loại thông điệp được Các giao thức mở (công
Để nhận các thông điệp, tiến
Định danh bao gồm cả địa chỉ
trình phải có định danh
IP và số hiệu cổng được kết trao đổi khai): (identifier)
hợp với tiến trình trên host.
Ví dụ: thông điệp yêu cầu Được định nghĩa trong
(request), thông điệp đáp
RFCs (mọi người đều có thể
Thiết bị host phải có địa chỉ IP
Ví dụ các số hiệu cổng: ứng (response) 32-bit duy nhất truy nhập vào). HTTP server: 80
Cú pháp của thông điệp: Cho phép tương tác
Câu hỏi: Địa chỉ IP của host mail server: 25
mà trên đó tiến trình chạy có
Các trường trong thông Ví dụ: HTTP, SMTP
Để gửi thông điệp HTTP tới
đủ để xác định định danh của điệp & mô tả web server gaia.cs.umass.edu: tiến trình không?
Địa chỉ IP: 128.119.245.12
Ngữ nghĩa của thông điệp
Các giao thức riêng (độc
Trả lời: Không, do nhiều Số hiệu cổng: 80
Ý nghĩa thông tin của các quyền):
tiến trình có thể cùng chạy trường Ví dụ: Skype, Zoom trên một host.
Quy tắc về thời gian và cách
thức các tiến trình gửi và đáp ứng thông điệp Tầng ứng dụng 2-11 Tầng ứng dụng 2-12 3
Một ứng dụng cần những dịch vụ giao vận nào?
Một số yêu cầu dịch vụ giao vận với các ứng dụng phổ biến Toàn vẹn dữ liệu Băng thông Mất mát Thời gian
Một số ứng dụng (ví dụ:
Một số ứng dụng (ví dụ: đa
truyền file, web) yêu cầu
phương tiện) yêu cầu băng Ứng dụng dữ liệu Thông lượng thực truyền tin cậy 100%
thông tối thiểu để đảm bảo “hiệu quả”. Truyền file không không
Các ứng dụng khác (ví dụ: mềm dẻo
audio) có thể chịu một số mất Các ứng dụng khác (“các Thư điện tử không mềm dẻo không mát.
ứng dụng mềm dẻo”) có thể Web không mềm dẻo không dùng băng thông nào cũng Audio/video chịu lỗi audio: 5kbps-1Mbps có, 100 ms Thời gian thực được. thời gian thực video:10kbps-5Mbps
Một số ứng dụng (ví dụ: Lưu trữ audio/video chịu lỗi như trên có, vài giây
điện thoại Internet, trò An toàn bảo mật Trò chơi tương tác chịu lỗi một vài kbps có, 10 ms
chơi tương tác) yêu cầu
Mã hóa, đảm bảo toàn vẹn Tin nhắn nhanh không mềm dẻo có và không
độ trễ thấp mới “hiệu quả” dữ liệu, … Tầng ứng dụng 2-13 Tầng ứng dụng 2-14
Các dịch vụ giao thức giao vận Internet Các ứng dụng Internet:
các giao thức tầng ứng dụng và giao vận Dịch vụ TCP: Dịch vụ UDP: Giao thức Giao thức
Truyền tin cậy giữa tiến trình
Truyền dữ liệu không tin Ứng dụng tầng ứng dụng tầng giao vận gửi và tiến trình nhận
cậy giữa tiến trình gửi và tiến
Điều khiển luồng: bên gửi trình nhận Truyền file FTP [RFC 959] TCP không lấn át bên nhận
Không cung cấp: truyền tin Thư điện tử SMTP [RFC 5321] TCP
Điều khiển tắc nghẽn: điều
cậy, điều khiển luồng, điều Web HTTP [RFC 7230, 9110] TCP
tiết bên gửi khi mạng bị quá tải
khiển tắc nghẽn, thời gian SIP [RFC 3261], RTP
thực, đảm bảo băng thông, an TCP hoặc UDP
Không cung cấp: thời gian Điện thoại Internet [RFC 3550], hoặc giao
thực, đảm bảo băng thông tối
toàn bảo mật, hoặc thiết lập thức độc quyền TCP thiểu, an toàn bảo mật kết nối streaming audio/video
HTTP [RFC 7230], DASH UDP hoặc TCP
Hướng kết nối: yêu cầu thiết
lập kết nối giữa tiến trình client
Câu hỏi: Tại sao lại dùng cả hai WOW, FPS (giao thức Trò chơi tương tác và tiến trình server
dịch vụ? Dùng UDP để làm gì? độc quyền) Tầng ứng dụng 2-15 Tầng ứng dụng 2-16 4 Bảo mật TCP TCP & UDP
TLS được triển khai tại Không mã hóa tầng ứng dụng
Mật khẩu dạng bản rõ được
Các ứng dụng sử dụng
gửi vào socket để truyền trên
thư viện TSL, tiếp đó sử Internet theo dạng bản rõ dụng TCP
Mật khẩu dạng bản rõ Bảo mật tầng giao vận
được gửi vào socket để
(Transport Layer Security, TLS) truyền trên Internet theo
Cung cấp kết nối TCP được dạng đã được mã hóa. mã hóa Toàn vẹn dữ liệu Xác thực đầu cuối Tầng ứng dụng 2-17 5