Bài giảng Mạng máy tính - Chương 6: Tầng ứng dụng - Bùi Trọng Tùng

Chương 6.  
Tầng ứng dụng  
1
1
1. Tổng quan về tầng ứng  
dụng  
2
2
1
Nhắc lại về kiến trúc phân tầng  
Cung cấp các dịch vụ trên  
mạng.  
Application  
(HTTP, Mail, …)  
Transport  
(UDP, TCP …)  
Trong mô hình TCP/IP không  
có 2 tầng trình diễn và tầng  
phiên, nhưng các giao thức  
tầng ứng dụng phải cung cấp  
các chức năng của 2 tầng  
này (biểu diễn dữ liệu, điều  
khiển phiên…)  
Network  
(IP, ICMP…)  
Datalink  
(Ethernet, ADSL…)  
Physical  
(bits…)  
3
3
Ứng dụng và dịch vụ trên mạng?  
MUSIC ONLINE  
VoIP  
GAME  
ON LINE  
CHAT  
SMS  
VoD  
e-Office  
MAIL  
e-BANK  
SCHOOL  
ON THE  
INTERNET  
WEB  
YOUTUBE  
VIDEO  
CONFERENCE  
FTP  
EBAY  
GOOGLE  
NEWS  
SKYPE  
TELNET  
SSH  
E-COMMERCE  
GRID  
e-Goverment  
BITTORENT  
4
4
2
Ứng dụng mạng  
application  
transport  
network  
data link  
physical  
Hoạt động trên các hệ thống  
đầu cuối (end system)  
Cài đặt giao thức ứng dụng để  
cung cấp dịch vụ  
Gồm có 2 tiến trình giao tiếp  
với nhau qua môi trường  
mạng:  
Client: cung cấp giao diện NSD,  
gửi thông điệp yêu cầu dịch vụ  
application  
transport  
network  
data link  
physical  
application  
transport  
network  
data link  
physical  
Server: cung cấp dịch vụ, trả  
thông điệp đáp ứng  
Ví dụ: Web  
Web browser (trình duyệt Web):  
Chrome, Firefox…  
Web server: Apache, Tomcat…  
5
5
Giao tiếp giữa các tiến trình ứng dụng  
Socket: điểm truy cập dịch vụ của tầng giao vận  
Các tiến trình ứng dụng sử dụng socket gọi dịch vụ của tầng giao  
vận để trao đổi thông điệp  
Định danh cho tiến trình bởi: Địa chỉ IP, Số hiệu cổng  
Ví dụ: tiến trình web server trên máy chủ của SoICT có  
định danh 202.191.56.65:80  
application  
application  
socket  
controlled by  
app developer  
process  
process  
transport  
transport  
controlled  
by OS  
network  
link  
network  
link  
Network  
physical  
physical  
6
6
3
Giao tiếp giữa các tiến trình  
Tiến trình client: gửi yêu cầu  
Tiến trình server: trả lời  
Mô hình điển hình: 1 server – nhiều client  
Client cần biết địa chỉ của server: địa chỉ IP,  
số hiệu cổng  
wait for result  
handles response  
client  
request  
response  
server  
handle  
request  
wait  
wait  
7
7
Các mô hình ứng dụng  
Khách-chủ (Client/Server)  
Ngang hàng (P2P: Peer-to-peer)  
Mô hình lai  
8
8
4
Mô hình khách chủ  
Khách  
client  
Gửi yêu cầu truy cập dịch  
vụ đến máy chủ  
Về nguyên tắc, không liên  
lạc trực tiếp với các máy  
khách khác  
client  
Chủ  
client  
Thường xuyên online để  
Server  
chờ y/c đến từ máy trạm  
Có thể có máy chủ dự  
phòng để nâng cao hiệu  
năng, phòng sự cố  
client  
e.g. Web, Mail, …  
9
9
Mô hình ngang hàng thuần túy  
Không có máy chủ trung  
tâm  
Peer  
Peer  
Các máy có vai trò  
ngang nhau  
Hai máy bất kỳ có thể  
liên lạc trực tiếp với  
nhau  
Peer  
Peer  
Không cần vào mạng  
thường xuyên  
E.g. Gnutella  
Peer  
Peer  
10  
10  
5
Mô hình lai  
Một máy chủ trung tâm  
để quản lý NSD, thông  
tin tìm kiếm…  
Client  
Các máy khách sẽ giao  
tiếp trực tiếp với nhau  
sau khi đăng nhập  
Server  
E.g. Skype  
Máy chủ Skype quản lý  
các phiên đăng nhập, mật  
khẩu…  
Client  
Sau khi kết nối, các máy  
sẽ gọi VoIP trực tiếp cho  
nhau  
Client  
P2P Comm.  
Client-Server Comm.  
11  
11  
2. Tên miền và dịch vụ DNS  
12  
12  
6
Giới thiệu chung  
Tên miền: định danh trên tầng ứng dụng cho các nút  
mạng  
Trên Internet được quản lý tập trung  
Quốc tế: ICANN  
Việt Nam: VNNIC  
DNS(Domain Name System): hệ thống tên miền  
Không gian thông tin tên miền  
Gồm các máy chủ quản lý thông tin tên miền và cung cấp dịch vụ  
DNS  
Vấn đề phân giải tên miền sang địa chỉ IP  
Người sử dụng dùng tên miền để truy cập dịch vụ  
Máy tính và các thiết bị mạng không sử dụng tên miền mà dùng  
địa chỉ IP khi trao đổi dữ liệu  
Làm thế nào để chuyển đổi tên miền sang địa chỉ IP?  
13  
13  
Chuyển đổi địa chỉ và ví dụ  
Máy tính dùng địa chỉ IP  
NSD dùng tên miền  
Tôi muốn vào địa chỉ  
NSD  
Cần có chuyển  
đổi địa chỉ  
Mời truy cập vào  
202.191.56.65  
Máy chủ tên  
miền  
Bạn cũng có thể  
nhập địa chỉ trực tiếp  
Máy chủ web  
202.191.56.65  
14  
14  
7
Quy tắc đặt tên miền  
Quy tắc đặt tên miền:  
Độ dài tối đa : 255 ký tự  
Độ dài tối đa của label : 63 ký tự  
Label phải bắt đầu bằng số hoặc chữ, chỉ  
chứa số, chữ, “-“, “.”  
Phân cấp tên miền : gốc, cấp 1, cấp 2…  
15  
15  
Hệ thống DNS  
Không gian tên miền  
Kiến trúc : hình cây  
Root  
Zone  
Mỗi nút là một tập hợp các  
bản ghi mô tả tên miền tương  
ứng với nút đó.  
SOA  
NS  
A
PTR  
CNAME…  
16  
16  
8
Hệ thống máy chủ DNS  
Máy chủ tên miền gốc (Root server)  
Trả lời truy vấn cho các máy chủ cục bộ  
Quản lý các zone và phân quyền quản lý cho máy chủ cấp dưới  
Có 13 hệ thống máy chủ gốc trên mạng Internet (http://www.root-  
servers.org)  
17  
17  
Hệ thống máy chủ DNS (tiếp)  
Máy chủ tên miền cấp 1 (Top Level Domain)  
Quản lý tên miền cấp 1  
Máy chủ được ủy quyền (Authoritative DNS  
servers)  
Quản lý tên miền cấp dưới  
Máy chủ của các tổ chức: của ISP  
Không nằm trong phân cấp của DNS  
Máy chủ cục bộ: dành cho mạng nội bộ của cơ  
quan tổ chức  
Không nằm trong phân cấp của DNS  
18  
18  
9
Phân giải tên miền  
Tự phân giải  
File HOST : C:\WINDOWS\system32\drivers\etc\  
Cache  
Dịch vụ phân giải tên miền DNS: client/server  
UDP, Port 53  
Phân giải đệ quy (Recursive Query)  
Phân giải tương tác (Interactive Query)  
19  
19  
Thông điệp DNS  
DNS Query và DNS  
SRC = 53  
checksum  
DST = 53  
length  
Reply  
Chung khuôn dạng  
QUESTION: tên miền cần  
truy vấn  
Identification  
#Question  
Flags  
#Answer RRs  
Số lượng: #Question  
#Authority RRs  
#Additional RRs  
ANSWER: thông tin tên  
miền tìm kiếm được  
QUESTION  
Số lượng: #Answer RRs  
ANSWER  
AUTHORITY  
ADDITIONAL  
AUTHORITY: địa chỉ  
server trả lời truy vấn  
ADDITIONAL: thông tin  
phân giải tên miền cho  
các địa chỉ khác  
20  
20  
10  
Phân giải tương tác  
Cơ chế mặc định trên các máy chủ DNS  
Tải đặt lên máy chủ tên miền  
root  
server  
gốc rất lớn. Thực tế máy chủ  
DNS cục bộ thường đã biết các  
máy chủ TLD (cơ chế cache).  
soict.hust.edu.vn  
soict.hust.edu.vn  
TLD  
server  
202.191.56.65  
Default  
Hỏi dns.hust.edu.vn  
dns.vn  
server  
Authoritative  
DNS server  
dns.hust.edu.vn  
21  
21  
Phân giải đệ quy  
Tùy chọn mở rộng  
Root  
server  
soict.hust.edu.vn  
202.191.56.65  
202.191.56.65  
soict.hust.edu.vn  
TLD  
202.191.56.65  
server  
Default  
server  
dns.vn  
soict.hust.edu.vn  
Tải đặt lên các máy chủ cấp trên  
rất lớn. Thực tế máy chủ tên miền  
gốc và máy chủ cấp 1 không thực  
hiện phân giải đệ quy  
Authoritative  
DNS server  
dns.hust.edu.vn  
22  
22  
11  
Ví dụ: dig linux.com  
; <> DiG 9.9.2-P1 <> linux.com  
;; global options: +cmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,  
ADDITIONAL: 3  
TTL: thời gian(s) lưu giữ  
;; QUESTION SECTION:  
;linux.com. IN A  
trả lời trong cache  
;; ANSWER SECTION:  
linux.com. IN A 140.211.167.51  
linux.com. IN A 140.211.167.50  
;; AUTHORITY SECTION:  
linux.com. 86386 IN NS ns1.linux-foundation.org.  
linux.com. 86386 IN NS ns2.linux-foundation.org.  
;; ADDITIONAL SECTION:  
ns1.linux-foundation.org. 261 IN A 140.211.169.10  
ns2.linux-foundation.org. 262 IN A 140.211.169.11  
23  
23  
Ví dụ: dig linux.com  
; <> DiG 9.9.2-P1 <> linux.com  
;; global options: +cmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,  
ADDITIONAL: 3  
Tên các máy chủ DNS server trả lời truy vấn.  
Nếu phần ANSWER rỗng, DNS Resolver gửi  
truy vấn tới các máy chủ này  
;; QUESTION SECTION:  
;linux.com. IN A  
;; ANSWER SECTION:  
linux.com. 1786 IN A 140.211.167.51  
linux.com. 1786 IN A 140.211.167.50  
;;
linux.com. 86386 IN NS n
linux.com. 86386 IN NS
;; ADDITIONAL SECTION:  
ns1.linux-foundation.org. 261 IN A 140.211.169.10  
ns2.linux-foundation.org. 262 IN A 140.211.169.11  
24  
24  
12  
Ví dụ: dig linux.com  
; <> DiG 9.9.2-P1 <> linux.com  
;; global options: +cmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,  
ADDITIONAL: 3  
Địa chỉ IP của các máy chủ trả lời truy vấn.  
Thông tin này được lưu vào cache  
;; QUESTION SECTION:  
;linux.com. IN A  
;; ANSWER SECTION:  
linux.com. 1786 IN A 140.211.167.51  
linux.com. 1786 IN A 140.211.167.50  
;; AUTHORITY SECTION:  
linux.com. 86386 IN NS ns1.linux-foundation.org.  
linux.com. 86386 IN NS ns2.linux-foundation.org.  
;; :  
ns1.linux-foundation.org. 261 IN A
ns2.linux-foundation.org. 262 IN A
25  
25  
3. HTTP và WWW  
26  
26  
13  
HTTP và Web  
Internet trước thập kỷ 1990s:  
Hầu như chỉ sử dụng hạn chế trong cơ quan chính phủ, phòng  
nghiên cứu...  
Các dịch vụ email, FPT không phù hợp cho chia sẻ thông tin đại  
chúng  
Không có cơ chế hiệu quả để liên kết các tài nguyên thông tin  
nằm rải rác trên Internet  
Năm 1990, Tim Berners-Lee giới thiệu World Wide Web:  
Trao đổi thông tin dưới dạng siêu văn bản (hypertext) sử dụng  
ngôn ngữ HTML (Hypertext Markup Language)  
Các đối tượng không cần đóng gói “tất cả trong một” như trên  
các văn bản trước đó  
Siêu văn bản chỉ chứa chứa liên kết (hypertext) tới các đối tượng  
khác (định vị bằng URL).  
27  
27  
Uniform Resource Locator  
Định vị một tài nguyên bất kỳ trên mạng và cách  
thức để truy cập tài nguyên đó  
protocol://hostname[:port]/directory-path/resource  
protocol: Giao thức (http, ftp, https, smtp, rtsp…)  
hostname: tên miền, địa chỉ IP  
port: cổng ứng dụng (có thể không cần)  
directory path: đường dẫn tới tài nguyên  
resource: định danh của tài nguyên  
28  
28  
14  
HTTP và Web  
WWW: World Wide Web  
trao đổi dữ liệu siêu văn bản  
HTML (HyperText Markup  
Language) trên mạng  
PC running  
Firefox browser  
HTTP: HyperText Transfer  
Protocol  
Mô hình Client/Server  
server  
running  
Apache Web  
server  
Client yêu cầu truy nhập tới các  
trang web (chứa các đối tượng  
web) và hiển thị chúng trên  
trình duyệt  
iphone running  
Safari browser  
Server: Nhận yêu cầu và trả lời  
cho client  
29  
29  
HTTP hoạt động ntn?  
Server mở một TCP socket chờ yêu cầu kết nối tại  
cổng 80 (default)  
Client khởi tạo một liên kết TCP tới server  
Server chấp nhận yêu cầu, tạo liên kết  
Trao đổi thông điệp HTTP (giao thức ứng dụng)  
HTTP Request  
HTTP Response  
Đóng liên kết TCP  
30  
30  
15  
Khuôn dạng HTTP request  
Mã ASCII (dễ dàng đọc được dưới dạng văn bản)  
request line  
GET /~tungbt/index.htm HTTP/1.1\r\n  
Host: soict.hust.edu.vn\r\n  
User-Agent: Mozilla/5.0  
(GET, POST,  
HEAD commands)  
Accept: text/html,application/xhtml+xml\r\n  
Accept-Language: en-us,en;q=0.5\r\n  
Accept-Encoding: gzip,deflate\r\n  
Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n  
Keep-Alive: 115\r\n  
Connection: keep-alive\r\n  
\r\n  
header  
lines  
carriage return,  
line feed at start  
of line indicates  
end of header lines  
31  
31  
Các phương thức trong thông  
điệp yêu cầu  
HTTP/1.0  
GET  
HTTP/1.1  
GET, POST, HEAD  
PUT  
POST  
HEAD  
tải file lên máy chủ, đường  
dẫn chỉ ra trong URL, file  
để trong body  
yêu cầu máy chủ loại một  
số đối tượng ra khỏi thông  
điệp trả lời  
DELETE  
Xóa file chỉ ra bới đường  
dẫn  
Lưu ý: Có 2 cách để gửi tham số đến server: POST hoặc GET  
32  
32  
16  
Khuôn dạng HTTP response  
status line  
(protocol  
status code  
status phrase)  
HTTP/1.1 200 OK\r\n  
Date: Thu, 31 Jul 2014 00:00:14 GMT\r\n  
Server: Apache/2.2.15 (CentOS)\r\n  
Last-Modified: Wed, 30 Jul 2014 23:59:50 GMT\r\n  
ETag: "17dc6-a5c-bf716880"\r\n  
Accept-Ranges: bytes\r\n  
header  
lines  
Content-Length: 2652\r\n  
Connection: close\r\n  
Content-Type: text/html; charset=UTF-8\r\n  
\r\n  
data data data data data ...  
data, e.g.,  
requested  
HTML file  
33  
33  
Mã trạng thái trả lời  
Trong dòng đầu tiên của thông điệp trả lời, ví dụ  
200 OK  
request succeeded, requested object later in  
this message  
301 Moved Permanently  
requested object moved, new location specified  
later in this message (Location:)  
400 Bad Request  
request message not understood by server  
404 Not Found  
requested document not found on this server  
505 HTTP Version Not Supported  
34  
34  
17  
Kiến trúc chung của các dịch vụ web  
subdomain.mysite.com/folder/page?id=5  
HTML Page, JS file, CSS file, image, etc.  
run code  
Database Queries  
35  
35  
Hiển thị (rendering) nội dung trang web  
Mô hình xử lý cơ bản tại trình duyệt: mỗi cửa sổ  
hoặc 1 frame:  
Nhận thông điệp HTTP Response  
Hiển thị:  
Xử lý mã HTML, CSS, Javascripts  
Gửi thông điệp HTTP Request yêu cầu các đối tượng  
khác(nếu có)  
Bắt và xử lý sự kiện  
Các sự kiện có thể xảy ra:  
Sự kiện của người dùng: OnClick, OnMouseOver…  
Sự kiện khi hiển thị: OnLoad, OnBeforeUnload…  
Theo thời gian: setTimeout(), clearTimeout()…  
36  
36  
18  
Các liên kết HTTP  
HTTP có duy trì  
HTTP không duy trì  
Nhiều đối tượng có thể  
được gửi qua một liên  
kết TCP.  
Chỉ một đối tượng web  
được gửi qua liên kết  
TCP  
Sử dụng mặc định  
trong HTTP/1.1  
Sử dụng mặc định  
trong HTTP/1.0  
HTTP 1.1: RFC 2068  
HTTP 1.0: RFC 1945  
37  
37  
Hoạt động của HTTP/1.0  
Web client  
Web server  
Init TCP connection  
Accept TCP connection  
OK, send HTTP request  
Send HTTP response: index.html  
Close TCP connection  
Parse index.html: has 10  
reference to 10 images  
Accept TCP connection  
Send images 1  
Repeat above steps 10  
times!  
Close TCP connection  
11xRTT  
38  
Time  
Time  
38  
19  
Hoạt động của HTTP/1.1  
Web client  
Web server  
Init TCP connection  
Accept TCP connection  
OK, send HTTP request  
Send HTTP  
Parse index.html: has 10  
reference to 10 images  
response: index.html  
request images 1  
Send images 1  
request images 2  
Send images 2  
Stop-and-  
wait!  
Pipeline  
request images 10  
39  
Time  
Time  
39  
HTTP/1.1 với pipeline  
Web client  
Web server  
Init TCP connection  
Accept TCP connection  
OK, send HTTP request  
Send HTTP  
Parse index.html: has 10  
reference to 10 images  
response: index.html  
request images 1 -10  
Send images 1-10  
40  
Time  
Time  
40  
20  
Tải về để xem bản đầy đủ
pdf 33 trang Thùy Anh 26/04/2022 7020
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 6: Tầng ứng dụng - Bùi Trọng Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_6_tang_ung_dung_bui_trong_tun.pdf