Bài giảng Mạng máy tính - Chương III.2: Tầng ứng dụng

Mục tiêu

Cung cấp các dịch vụ mạng cho người dùng cuối

Các ứng dụng mạng phổ biến:

 E-mail

 Web

 Instant Message

 Telnet, SSH

 FTP, P2P file sharing

 Networked Games

 Video conference

Presentation

Session

Transport

Data lin

pdf 50 trang yennguyen 1760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương III.2: Tầng ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương III.2: Tầng ứng dụng

Bài giảng Mạng máy tính - Chương III.2: Tầng ứng dụng
Chương 03 
Tầng ứng dụng 
MẠNG MÁY TÍNH 
Tháng 09/2011 
Mục tiêu 
Cung cấp các dịch vụ mạng cho người dùng cuối 
Các ứng dụng mạng phổ biến: 
 E-mail 
 Web 
 Instant Message 
 Telnet, SSH 
 FTP, P2P file sharing 
 Networked Games 
 Video conference 
Presentation 
Session 
Transport 
Data link 
Physical 
Network 
Application 
2 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Nội dung 
Các khái niệm 
Một số dịch vụ mạng 
Lập trình ứng dụng 
3 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Process - 1 
Process = tiến trình 
 chương trình chạy trên máy 
 Nhiều luồng công việc (thread – tiểu trình) 
Liên lạc giữa các tiến trình: 
 Trên cùng 1 máy: 
• hệ điều hành 
– Chia sẻ bộ nhớ 
– Truyền thông điệp giữa các tiến trình 
User Process User Process 
OS - Kernel 
shared 
resources 
4 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Process - 2 
 Trên 2 máy khác nhau: 
• truyền dữ liệu qua đường mạng 
– VD: socket, name pipe,  
User Process 
OS-Kernel 
User Process 
OS-Kernel 
Network 
5 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Ứng dụng mạng 
Chạy trên các end-system 
Liên lạc với nhau qua mạng 
Kiến trúc: 
 Server-client 
 Peer-to-peer 
6 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Server - client 
Server: 
 Luôn luôn “sống” 
 Chạy trên 1 địa chỉ cố định 
 Nhận và xử lý yêu cầu từ client 
Client: 
 Liên lạc và gởi yêu cầu cho Server 
 Có thể dùng IP “động” 
 2 client không thể liên lạc trực tiếp với nhau 
VD: 
 Web: WebServer (IIS, Apache, ), web browser 
(IE, FireFox, ) 
 FTP: FTP Server (ServerU), FTP Client 
7 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Peer-to-peer 
ứng dụng có cả hai chức năng của server và 
client 
Các client liên lạc trực tiếp 
Dùng địa chỉ “động” 
Quản lý khó 
VD: Skype, Bittorrent 
8 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Process - 3 
• “Địa chỉ” của tiến trình: 
– Địa chỉ IP 
– Port: 
• 0..1023: port chuẩn 
• 1024..49151: port cố định, đăng ký trước 
• : port linh động 
 “Địa chỉ” của một người: 
 Địa chỉ nhà 
 Tên người 
9 
Một số khái niệm khác - 1 
Giao thức tầng ứng dụng: 
 Do người cài đặt ứng dụng xây dựng 
 VD: HTTP, FTP,  
Những yêu cầu dịch vụ của tầng ứng dụng: 
 Truyền dữ liệu đáng tin cậy 
 Thời gian 
 Băng thông 
 Bảo mật dữ liệu 
10 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Một số khái niệm khác - 2 
Các dịch vụ tầng transport cung cấp: 
 TCP service 
• Dịch vụ hướng kết nối 
• truyền dữ liệu đáng tin cậy 
 UDP service 
• Dịch vụ hướng không kết nối 
• dữ liệu truyền không đáng tin cậy 
• nhanh hơn TCP 
11 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Một số khái niệm khác -3 
Tham khảo thêm:  
 12 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Nội dung 
Các khái niệm 
Một số dịch vụ mạng 
Lập trình ứng dụng 
13 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Nội dung 
Các khái niệm 
Một số dịch vụ mạng 
 DHCP 
 DNS 
Lập trình ứng dụng 
14 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP - Đặt vấn đề 
Cấu hình 
IP??? 
15 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP - Đặt vấn đề 
16 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP - Đặt vấn đề 
Giải quyết??? 
17 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP – giới thiệu 
DHCP = Dynamic Host Configuration Protocol 
 RFC 1533, 1534, 1541, 1542, 2131 
Tiền thân: BOOTP 
Hoạt động tầng ứng dụng 
 Giao thức hoạt động ở tầng Transport: UDP 
Chức năng: cấp phát địa chỉ IP động 
Mô hình Client - Server: 
 Server 
• Port: 67 
• Cung cấp địa thông tin cấu hình TCP/IP cho các client 
 Client: 
• Port: 68 
• Yêu cầu server cấp thông tin cấu hình TCP/IP 
18 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP - Mô hình hoạt động - 1 
19 
MAC: đã biết 
IP: chưa xác định 
DHCP Discover 
UDP Broadcast 
DHCP Offer 
UDP Broadcast 
DHCP Request 
DHCP Ack 
Default Gateway 
DNS Server 
IP Address, subnet mask 
Lease time 
DHCP sever IP Address 
Tham khảo:  
 19 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP - Mô hình hoạt động - 2 
Xin cấp mới: 
 Discover: client tìm DHCP Server 
 Offer: DHCP gợi ý một địa chỉ IP 
 Request: Client yêu cầu cấp 1 địa chỉ IP 
 Ack: Server xác nhận đồng ý và giải phóng địa chỉ IP 
 Nak: Server từ chối địa chỉ IP mà client yêu cầu 
Xin cấp lại: 
 Request 
 Ack/ Nak 
Huỷ thông tin được cấp: 
 Release 
20 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP – sơ đồ hoạt động 
21 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP – Format message 
22 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP – Format message 
Op 1 Loại thông điệp 
Htype 1 Loại địa chỉ vật lý 
Hlen 1 Kích thước 1 địa chỉ vật lý 
Hops 1 Client set là 0, dùng cho relay agent 
Xid 4 Transaction ID, 
Secs 2 Được điền bởi client 
Flags 1 Cho biết gói tin này có phải là gói tin broadcast không 
Ciaddr 4 Địa chỉ của Client, dùng trong các trường hợp renew,.. 
Yiaddr 4 Địa chỉ của “đối tác” 
Siaddr 4 Địa chỉ của next server để “mồi”và được dùng trong các 
thông điệp DHCPOFFER, DHCPACK 
Giaddr 4 Địa chỉ của relay agent 
Chaddr 16 Địa chỉ vật lý của client 
23 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DHCP – lệnh console 
Kiểm tra thông tin cấu hình IP: Ipconfig /all 
Xin cấp một IP mới: Ipconfig /renew 
Trả địa chỉ IP đang dùng: Ipconfig /release 
24 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Nội dung 
Các khái niệm 
Một số dịch vụ mạng 
 DHCP 
 DNS 
Lập trình ứng dụng 
25 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS - Đặt vấn đề - 1 
Internet 
26 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS - Đặt vấn đề - 2 
Domain Name  IP 
27 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – giới thiệu 
DNS = Domain Name System 
Rfc 1034, 1035 
Chức năng 
 Dùng phân giải tên miền thành địa chỉ IP và ngược lại 
Lịch sử: 
 Đầu tiên, lưu trữ bằng file hosts 
 Ngày nay, lưu trữ bằng 1 CSDL phân tán 
• Tạo thành cây domain 
• Mỗi node 
– Name Server (NS) 
– Có một tên miền (domain name) 
– Có thể có sub domain 
28 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – mô hình hoạt động 
Hoạt động tầng Application 
Tầng Transport: 
 UDP: truy vấn (query) – port 53 
 TCP: cập nhật thông tin (zone transfer) 
Mô hình Client – Server 
 Server: 
• Primary NS 
– Chứa thông tin về một zone 
• Secondary NS 
– Backup của primary NS 
 Client - Resolver 
• Port linh động 
29 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Internet domain space 
vnn com edu gov 
com edu gov uk fr vn 
. 
Top Level Database (TLD) 
Tham khảo thêm:  
Second Level Database 
Name space 
Domain 
Zone 
30 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – thuật ngữ 
 Name space: 
 Tập các tên miền trên Internet 
 Domain: 
 là một nhánh trong name space 
 Zone: 
 Là một vùng domain tương ứng với 
“biên” quản lý trong DNS 
 Phân loại: 
• Primary zone 
• Secondary zone 
• Stub zone 
 FQDN (Fully Qualitified Domain 
Name) 
 Tên đầy đủ 
 + + 
“.” 
 VD: www.cntt.khtn.edu.vn. 
Root 
. 
vn 
edu com 
khtn bachkhoa 
cntt vatly 
31 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – Internet domain space – thống kê 
32 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – ví dụ 
. 
vn 
edu 
khtn 
172.29.70.254 
www – 172.29.70.253 
mail – 172.29.70.252 
ftp – 172.29.70.252 
cntt 
vatly 
ftp – 172.29.70.4 
www – 172.29.10.2 
172.29.70.200 
33 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
LƯU TRỮ 
 Lưu dữ liệu dưới dạng các resource record – RR 
(name, value, type, ttl) 
 SOA: thông tin cho toàn bộ 1 zone 
 MX: thông tin của server nhận mail của miền 
 NS: thông tin các name server quản lý zone 
• Name: tên miền 
• Vaule: địa chỉ NS của miền 
 A: dùng để phân giải tên máy thành địa chỉ IP 
 Name: hostname 
 Value: IP address 
 CNAME: lưu tên phụ của 1 máy 
• Name: tên alias 
• Value: tên thật 
 PTR: dùng để phân giải địa chỉ IP thành tên máy 
• Name: IP addr. 
• Value: hostname 
34 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – phân giải - 1 
Đệ qui (recursive 
query) 
 Server nhận câu 
truy vấn phải trả lời 
thông tin cuối cùng: 
phân giải được hay 
không? 
 VD: máy 
cl1.khtn.edu.vn truy 
vấn tên miền 
gaia.cs.umass.edu 
cl1.khtn.edu.vn 
gaia.cs.umass.edu 
root DNS server 
local DNS server 
dns.khtn.edu.vn 
1 
2 
4 5 
6 
authoritative DNS server 
dns.cs.umass.edu 
7 
8 
TLD DNS server 
3 
35 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – phân giải - 2 
Tuần tự (iterated 
query) 
 Server nhận câu truy 
vấn không phải trả 
lời thông tin cuối 
cùng, chỉ trả lời 
thông tin về NS “gần 
nhất” 
 VD: máy 
cl1.khtn.edu.vn truy 
vấn tên miền 
gaia.cs.umass.edu 
cl1.khtn.edu.vn 
gaia.cs.umass.edu 
root DNS server 
local DNS server 
dns.khtn.edu.vn 
1 
2 
3 
4 
5 
6 
authoritative DNS server 
dns.cs.umass.edu 
7 
8 
TLD DNS server 
36 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – Phân giải - caching 
Lưu tạm kết quả đã truy vấn trong cache 
Internet 
Client1 
Client2 
ClientA is at 
192.168.8.44 
Where’s 
Client A? 
ClientA is at 
192.168.8.44 
Caching Table 
Host Name IP Address TTL 
clientA.contoso.msft. 192.168.8.44 28 seconds 
Request: ClientA? 
Request: ClientA? 
37 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
DNS – phân giải - ví dụ 
vnn yahoo 
com vn 
. 
Address 
of com 
server 
Address of 
yahoo.com 
server 
Address of 
www.yahoo.com 
Address of 
www.yahoo.com 
Request 
Reply 
38 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Nội dung 
Các khái niệm 
Một số dịch vụ mạng 
Lập trình ứng dụng 
 TCP 
 UDP 
39 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
socket 
Socket 
 “Cánh cửa” giữa ứng dụng và giao thức tầng 
transport (TCP, UDP) 
 cung cấp interface để lập trình mạng tại tầng 
Transport 
 Một socket là một end-point của một liên kết giữa 
hai ứng dụng 
Windows Socket Application Programming 
Interface (Winsock API) 
 thư viện các hàm socket 
 xây dựng các ứng dụng mạng trên nền TCP/IP 
40 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Lập trình ứng dụng mạng 
1. Xác định kiến trúc mạng: Client – Server, Peer-to-
Peer 
2. Giao thức sử dụng tầng Transport: TCP, UDP 
3. Các port sử dụng ở Server và Client 
4. Giao thức tầng ứng dụng khi trao đổi dữ liệu giữa 
hai end-host 
5. Lập trình 
41 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Lập trình ứng dụng – TCP - 1 
Giai đọan 1: Server tạo Socket và lắng nghe yêu 
cầu kết nối tại PORT 
 SERVER CLIENT
Tạo socket để lắng nghe kết nối
socket()
Đăng ký tên cho socket
bind()
Lắng nghe kết nối từ client
listen()
42 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
TCP - 2 
 Giai đọan 2: Client tạo Socket, yêu cầu thiết lập một 
nối kết với Server SERVER CLIENT
Tạo socket để lắng nghe kết nối
socket()
Đăng ký tên cho socket
bind()
Lắng nghe kết nối từ client
listen()
Đợi 1 kết nối 
đến từ Client
Chấp nhận một kết nối từ Client 
(socket mới được tạo)
accept()
Tạo socket để kết nối đến server
socket()
Kết nối đến server
connect()
43 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
TCP - 3 
 Giai đọan 3: Trao đổi thông tin giữa Client và Server 
SERVER CLIENT
Đợi 1 kết nối 
đến từ Client
Chấp nhận một kết nối từ Client 
(socket mới được tạo)
accept()
Truyền/nhận dữ liệu
send()/receive()
Tạo socket để kết nối đến server
socket()
Kết nối đến server
connect()
Truyền/nhận dữ liệu
send()/receive()
44 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
TCP - 4 
 Giai đoạn 4: Kết thúc phiên làm việc 
SERVER CLIENT
Truyền/nhận dữ liệu
send()/receive()
Đóng kết nối 
(socket của connection)
close()
Truyền/nhận dữ liệu
send()/receive()
Đóng kết nối 
close()
45 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
TCP - 5 
SERVER CLIENT
Tạo socket để lắng nghe kết nối
socket()
Đăng ký tên cho socket
bind()
Lắng nghe kết nối từ client
listen()
Đợi 1 kết nối đến 
từ Client
Chấp nhận một kết nối từ Client 
(socket mới được tạo)
accept()
Truyền/nhận dữ liệu
send()/receive()
Đóng kết nối 
(socket của connection)
close()
Tạo socket để kết nối đến server
socket()
Kết nối đến server
connect()
Truyền/nhận dữ liệu
send()/receive()
Đóng kết nối 
close()
Sơ đồ tương tác giữa Server-Client theo giao thức TCP 46 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên T Hồ Chí Minh 
Lập trình ứng dụng – UDP - 1 
Mô hình UDP 
 Giai đoạn 1: Server tạo Socket tại PORT 
47 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
UDP - 2 
 Giai đoạn 2: Client tạo Socket 
48 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
UDP - 3 
 Giai đoạn 3: Trao đổi thông tin giữa Client và Server 
49 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 
Tài liệu tham khảo 
Slide của J.F Kurose and K.W. Ross về Computer 
Networking: A Top Down Approach 
50 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_iii_2_tang_ung_dung.pdf