MẠNG MÁY TÍNH<br />
Chương 2:<br />
Tầng ứng dụng<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mục tiêu<br />
Các khía cạnh thuộc<br />
khái niệm và hiện<br />
thực của các giao<br />
thức ứng dụng mạng<br />
– Mô hình dịch vụ tầng<br />
ứng dụng<br />
– Mô hình khách-chủ<br />
– Mô hình ngang hàng<br />
một-một<br />
<br />
Học về các giao thức<br />
bằng cách xem xét các<br />
giao thức tầng ứng<br />
dụng phổ biến<br />
–HTTP<br />
–FTP<br />
–SMTP / POP3 / IMAP<br />
– DNS<br />
<br />
Lập trình ứng dụng<br />
mạng<br />
–Socket API<br />
–Socket = hốc kết nối ?<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
2<br />
<br />
Nội dung<br />
1. Các nguyên lý của tầng ứng dụng<br />
2. Web và HTTP<br />
3. FTP<br />
4. Thư điện tử - SMTP, POP3, IMAP<br />
5. DNS<br />
6. Ứng dụng P2P<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
3<br />
<br />
Ví dụ về ứng dụng mạng<br />
e-mail<br />
web<br />
Text messaging<br />
remote login<br />
P2P file sharing<br />
multi-user network<br />
games<br />
streaming stored<br />
video (YouTube,<br />
Hulu, Netflix)<br />
bangtqh@utc2.edu.vn<br />
<br />
voice over IP (e.g.,<br />
Skype)<br />
Real-time video<br />
conferencing<br />
Social networking<br />
Search<br />
.....<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
4<br />
<br />
Tạo ra một ứng dụng mạng<br />
Viết chương trình<br />
– Chạy trên những hệ thống khác<br />
nhau<br />
– Liên lạc thông qua mạng<br />
– Ví dụ: phần mềm máy chủ web<br />
giao tiếp với phần mềm trình<br />
duyệt web<br />
<br />
Không cần thiết viết phần mềm<br />
cho các thiết bị mạng<br />
– Thiết bị mạng không chạy<br />
những ứng dụng dành cho<br />
người dùng<br />
– Phần mềm trên các thiết bị<br />
mạng được chuyên biệt hóa cao<br />
bangtqh@utc2.edu.vn<br />
<br />
application<br />
transport<br />
network<br />
data link<br />
physical<br />
<br />
application<br />
transport<br />
network<br />
data link<br />
physical<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
application<br />
transport<br />
network<br />
data link<br />
physical<br />
<br />
5<br />
<br />
2.1. Các nguyên lý tầng ứng dụng<br />
Kiến trúc ứng dụng mạng<br />
– Client – Server<br />
– Peer – to – Peer (P2P)<br />
– Lai giữa P2P và Client-Server<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
6<br />
<br />
2.1. Các nguyên lý tầng ứng dụng (tt)<br />
Kiến trúc Client-Server<br />
Server (Máy chủ):<br />
Hoạt động 24/7<br />
Địa chỉ IP cố định<br />
Hệ thống máy chủ cho việc mở<br />
rộng<br />
<br />
Client (Máy khách):<br />
Giao tiếp với máy chủ<br />
Có thể kết nối không liên tục<br />
Có thể có địa chỉ IP động<br />
Không kết nối trực tiếp với<br />
người dùng khác<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
7<br />
<br />
2.1. Các nguyên lý tầng ứng dụng (tt)<br />
Kiến trúc P2P<br />
– Không có máy chủ<br />
– Các máy đầu cuối liên lạc<br />
trực tiếp với nhau<br />
– Các bên thực hiện kết nối<br />
không liên tục có thể có<br />
địa chỉ IP động<br />
• Quản lý phức tạp<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
8<br />
<br />
2.1. Các nguyên lý tầng ứng dụng (tt)<br />
Kiến trúc lai giữa P2P và Client-Server<br />
– Skype, Zalo<br />
• Điện thoại – IP: ứng dụng P2P<br />
• Máy chủ tập trung quảng lý địa chỉ các bên tham gia<br />
• Kết nối khách-khách: trực tiếp (không thông qua máy<br />
chủ)<br />
<br />
– Nhắn tin trực tiếp<br />
• Hai người dùng chat với nhau bằng P2P<br />
• Máy chủ đảm bảo: quản lý người dùng<br />
– Mgười dùng đăng kí địa chỉ IP với máy chủ khi họ đăng<br />
nhập<br />
– Máy chủ cung cấp danh sách bạn bè đang trên mạng<br />
– Mgười dùng hỏi máy chủ để có địa chỉ IP của bạn<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
9<br />
<br />
Liên lạc giữa các tiến trình<br />
Tiến trình (process):<br />
– Chương trình chạy trên 1 máy<br />
<br />
Trên 1 máy 2 tiến trình khác<br />
nhau liên lạc với nhau bằng<br />
cách sử dụng giao tiếp liên tiến<br />
trình(inter-process<br />
communication) do OS quy định<br />
<br />
Tiến trình trên client:<br />
Bắt đầu quá trình kết<br />
nối<br />
Tiến trình trên server:<br />
Chờ client kết nối tới<br />
<br />
Các tiến trình trên các máy khác<br />
nhau liên lạc với nhau thông qua<br />
việc trao đổi các thông điệp<br />
(message)<br />
<br />
bangtqh@utc2.edu.vn<br />
<br />
Mạng máy tính - Chương 2<br />
<br />
Các ứng dụng P2P có<br />
cả tiến trình khách và<br />
tiến trình chủ<br />
10<br />
<br />