Xem mẫu
- Chương 2
Lớp Application
Computer Networking:
A Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
Slide này được biên dịch sang tiếng Việt theo
sự cho phép của các tác giả
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved Lớp Application 1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 2: Nội dung trình bày
2.1 Các nguyên lý của 2.6 Chia sẻ file P2P
ứng dụng mạng 2.7 Lập trình socket
2.2 Web và HTTP vớiTCP
2.3 FTP 2.8 Lập trình socket với
2.4 Electronic Mail UDP
SMTP, POP3, IMAP 2.9 Xây dựng một Web
2.5 DNS server
Lớp Application 2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 2: Lớp Application
Mục tiêu: Nghiên cứu giao thức
Khái niệm, các khía thông qua xem xét
cạnh hiện thực của một số giao thức lớp
các giao thức ứng application
dụng mạng HTTP
Các mô hình dịch FTP
vụ lớp transport SMTP / POP3 / IMAP
DNS
Mô hình client-
server Lập trình ứng dụng
Mô hình peer-to-peer mạng
socket API
Lớp Application 3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Một số ứng dụng mạng
E-mail Điện thoại Internet
Web Hội thảo video thời
Tin nhắn nhanh gian thực
Đăng nhập từ xa Tính toán lớn, tính
Chia sẻ file P2P
toán song song
Trò chơi nhiều người
trên mạng
Streaming các video
clips
Lớp Application 4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tạo một ứng dụng mạng
Viết chương trình để: application
transport
chạy trên các hệ thống đầu network
data link
cuối khác, và physical
truyền thông qua mạng
Ví dụ: Web: phần mềm Web
server truyền thông với
phần mềm trình duyệt
Phần mềm nhỏ viết cho các
thiết bị trung tâm mạng
các thiết bị trung tâm mạng application
application
transport
không chạy các mã ứng dụng transport
network
network
data link
của người dùng data link
physical
physical
ứng dụng trên các hệ thống
đầu cuối cho phép phát
triển ứng dụng nhanh, phổ
biến
Lớp Application 5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2.1 Các nguyên lý của ứng dụng
mạng
Lớp Application 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các kiến trúc của ứng dụng
Client-server
Peer-to-peer (P2P)
Lai giữa client-server và P2P
Lớp Application 7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Kiến trúc client-server
server:
host luôn hoạt động
địa chỉ IP cố định
nhóm các server để chia
sẻ công việc
clients:
truyền thông với server
có thể kết nối không liên
tục
có thể có địa chỉ IP thay
đổi
không truyền thông trực
tiếp với client khác
Lớp Application 8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Kiến trúc P2P thuần túy
không có server luôn
hoạt động
truyền thông trực tiếp
với hệ thống đầu cuối bất
kỳ
các điểm kết nối không
liên tục và thay đổi địa
chỉ IP
Ví dụ: Gnutella
Độ linh hoạt cao nhưng khó
quản lý
Lớp Application 9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lai giữa client-server và P2P
Skype
ứng dụng điện thoại Internet
Tìm địa chỉ của thành viên ở xa: server trung tâm
Kết nối trực tiếp Client-client (không thông qua server)
Tin nhắn nhanh
Chat giữa 2 user là P2P
Mô hình client-server:
• User đăng ký địa chỉ IP của họ với server trung tâm khi trực
tuyến
• User tiếp xúc với server trung tâm để tìm địa chỉ IP của bạn
Lớp Application 10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tiến trình truyền thông
Tiến trình: chương trình Tiến trình Client: tiến
chạy bên trong 1 host. trình khởi tạo truyền
trong cùng host, 2 tiến
thông
trình truyền thông dùng Tiến trình Server: tiến
truyền thông nội bộ (do trình chờ để được tiếp
hệ điều hành xác định). xúc
các tiến trình trong các
host khác nhau truyền Chú ý: các ứng dụng với
thông bằng cách trao kiến trúc P2P có cả các
đổi các thông điệp tiến trình client và
server.
Lớp Application 11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Sockets
các tiến trình gửi/nhận
Host / host /
server server
các thông điệp đến/từ
socket của nó điều khiển
bởi người
socket tương tự như cửa process phát triển process
ứng dụng
tiến trình gửi đẩy thông socket socket
điệp ra ngoài cửa TCP với TCP với
bộ đệm, Internet bộ đệm,
tiến trình nhận phụ thuộc các biến các biến
vào hạ tầng lưu thông mang
thông điệp đến socket thích
điều khiển
hợp bởi hệ điều
hành
API: (1) lựa chọn giao thức vận chuyển; (2) khả năng
chỉnh sửa một vài tham số (xem phần sau)
Lớp Application 12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tiến trình định địa chỉ
để nhận được thông Nhân dạng bao gồm cả
điệp, tiến trình phải có địa chỉ IP và các số cổng
nhân dạng (identifier) (port) liên kết với tiến
thiết bị host phải có địa trình trên host.
chỉ IP duy nhất Ví dụ về số port:
Địa chỉ IP mà trên đó HTTP server: 80
tiến trình đang chạy có Mail server: 25
đủ để nhận dạng tiến Để gửi thông điệp HTTP
trình? cho web server
KHÔNG, nhiều tiến trình gaia.cs.umass.edu :
có thể chạy trên cùng 1 IP address: 128.119.245.12
host
Port number: 80
Lớp Application 13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Định nghĩa giao thức lớp ứng
dụng
các kiểu của trao đổi Các giao thức Public-
thông điệp domain:
Ví dụ: yêu cầu, đáp ứng
Định nghĩa trong RFC
Cú pháp thông điệp:
Cho phép cộng tác
Các trường nào trong
thông điệp và làm sao mô Ví dụ: HTTP, SMTP
tả?
Các giao thức độc quyền:
Ngữ nghĩa thông điệp
Ý nghĩa của thông tin
Ví dụ: KaZaA
trong các trường
Các quy tắc để khi nào
và làm sao các tiến trình
gửi và đáp ứng các thông
điệp
Lớp Application 14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Dịch vụ vận chuyển nào ứng dụng không cần
Mất mát dữ liệu Bandwidth (băng thông)
một số ứng dụng (vd: một số ứng dụng (vd: đa
audio) có khả năng chịu lỗi phương tiện) yêu cầu
các ứng dụng khác (vd: băng thông để đạt hiệu
truyền file, telnet) yêu cầu quả
dữ liệu tin cậy 100%
các ứng dụng khác mềm
dẻo hơn có thể dùng bất
Định thì kỳ băng thông nào cũng
một số ứng dụng (vd: được
điện thoại Internet,
trò chơi tương tác) yêu
cầu độ trễ thấp để đạt
hiệu quả
Lớp Application 15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Một số yêu cầu đối với các ứng dụng phổ biến
Application Data loss Bandwidth Time Sensitive
Truyền file không mềm dẻo không
e-mail không mềm dẻo không
Web Không mềm dẻo không
audio/video chịu lỗi audio: 5kbps-1Mbps có, 100 mili giây
thời gian thực video:10kbps-5Mbps
audio/video đã lưu chịu lỗi Như trên có, một vài giây
Trò chơi tương tác chịu lỗi Một vài kbps có, 100 mili giây
Tin nhắn nhanh không mềm dẻo Có và không
Lớp Application 16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các dịch vụ giao thức Internet
transport
TCP: UDP:
connection-oriented: cần thiết truyền dữ liệu không tin
lập tiến trình giữa client và cậy giữa gửi và nhận
server Không hỗ trợ: thiết lập kết
Vận chuyển tin cậy: giữa tiến nối, tin cậy, điều khiển
trình gửi và nhận luồng, điều khiển tắc nghẽn,
Điều khiển luồng: người gửi sẽ định thì, bảo đảm băng
không lấn át người nhận thông tối thiểu
Điều khiển tắc nghẽn: điều tiết
người gửi khi mạng quá tải Thế thì sinh ra UDP để làm
Không hỗ trợ: định thì, bảo gì?
đảm băng thông tối thiểu
Lớp Application 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các giao thức lớp application, transport
Giao thức lớp Giao thức dưới lớp
Application Application transport
SMTP [RFC 2821]
e-mail Telnet [RFC 854] TCP
Truy cập terminal từ xa HTTP [RFC 2616] TCP
Web FTP [RFC 959] TCP
Truyền file độc quyền TCP
streaming multimedia (vd: RealNetworks) TCP / UDP
độc quyền
Điện thoại Internet (vd: Vonage,Dialpad) UDP
Lớp Application 18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2.2 Web và HTTP
Lớp Application 19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Web và HTTP
Một số thuật ngữ chuyên môn
Web page (trang Web) bao gồm các objects (đối
tượng)
Đối tượng có thể là file HTML, hình ảnh JPEG
image, Java applet, file audio,…
Trang Web file HTML cơ bản sẽ chứa một số đối
tượng có tham chiếu
Mỗi đối tượng có thể định địa chỉ bằng một URL
Ví dụ URL:
www.someschool.edu/someDept/pic.gif
Tên host Tên đường dẫn
Lớp Application 20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn