Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng - Ngô Hồng Sơn

Chương 7:  
Tꢀng ꢁng dꢂng  
Giꢀng viên: Ngô Hꢁng Sơn  
Bꢂ  
môn Truyꢃn thông và M  
ꢄng máy tính  
Khoa CNTT ðHBK Hà Nꢂi  
-
1
Tꢃng quan  
ꢀ Buꢅi trưꢆc: Tꢇng giao vꢈn  
ꢀ
ꢀ
ꢀ
Nguyên lý cꢉa tꢇng giao vꢈn  
TCP và UDP  
Khái niꢊm kiꢋm soát luꢁng và kiꢋm soát tꢌc  
nghꢍn  
ꢀ Hôm nay: Tꢇng ꢎng dꢏng  
ꢀ
Nguyên lý cꢉa tꢇng ꢎng dꢏng  
ꢀ
Case study: HTTP, Mail, FTP, DNS, P2P…  
2
Khái niꢄm cơ bꢅn  
3
Nhꢆc lꢇi vꢈ kiꢉn trúc phân tꢀng  
Hꢊ trꢋ các ꢁng dꢂng trên mꢇng  
Application  
(HTTP, Mail, …)  
Transport  
Truyꢃn dꢐ liꢊu giꢐa các ꢎng dꢏng  
(UDP, TCP …)  
Network  
Chꢑn ñưꢒng và chuyꢋn tiꢓp gói tin giꢐa  
(IP, ICMP…)  
các máy, các mꢄng  
Datalink  
Hꢔ trꢕ viꢊc truyꢃn thông cho các thành  
phꢇn kꢓ tiꢓp trên cùng 1 mꢄng  
(Ethernet, ADSL…)  
Physical  
Truyꢃn và nhꢈn dòng bit trên ñưꢒng  
truyꢃn vꢈt lý  
(bits…)  
4
ꢌ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  
5
ꢌng dꢂng và giao thꢁc ꢁng dꢂng  
application  
ꢀ Giao th  
ꢎ
c
ꢎ
ng d  
ꢏ
ng  
transport  
network  
data link  
physical  
ꢀ
ðꢖnh nghĩa các quy tꢌc giao tiꢓp  
ꢀ
Sꢗ dꢏng các dꢖch vꢏ giao vꢈn  
(TCP/UDP…)  
ꢀ
ꢘ
ꢀ
ng dꢏng :  
Các tiꢓn trình giao tiꢓp vꢆi nhau  
trên Internet qua viꢊc trao ñꢅi  
thông ñiꢊp  
ꢀ
ꢀ
Hoꢄt ñꢂng trên các hꢊ thꢙng  
cuꢙi  
Cài ñꢚt giao thꢎc ꢎng dꢏng ñꢋ  
cung cꢛp dꢖch vꢏ  
application  
transport  
network  
data link  
physical  
application  
transport  
network  
data link  
physical  
ꢀ Ví dꢏ ꢎng d  
ꢏng/giao th  
ꢎ
c:  
ꢀ
Web (HTTP)  
Mail (SMTP/POP/IMAP) …  
ꢀ
6
Các thành phꢀn cꢎa ꢁng dꢂng  
ꢀ
Chương trình  
ꢀ Giao diꢊn NSD:  
ꢀ Hꢔ trꢕ cho NSD ñꢋ làm viꢊc vꢆi ꢎng dꢏng,  
ꢀ e.g. trình duyꢊt Web (Firefox, IE), phꢇn mꢃm thư ñiꢊn tꢗ  
(Thunderbird, Outlook,..)  
ꢀ Cài ñꢚt các giao thꢎc và sꢗ dꢏng dꢖch vꢏ giao vꢈn  
ꢀ Chương trình máy chꢉ  
ꢀ Cung cꢛp dꢖch vꢏ cho ngưꢒi sꢗ dꢏng  
ꢀ
ꢀ
Tiꢓn trình ꢎng dꢏng: chương trình ñang chꢄy trên  
hꢊ ñiꢃu hành  
Các tiꢓn trình giao tiꢓp?  
ꢀ Trên mꢂt máy: IPC (inter-process communication)  
ꢀ Giꢐa các máy trên mꢄng: qua socket  
7
Giao tiꢉp giꢏa các tiꢉn trình trên  
Internet  
ꢀ Nhꢌc lꢄi: Socket là mꢂt giao  
diꢊn giꢐa tiꢓn trình ꢎng dꢏng  
và tꢇng giao vꢈn  
host or  
server  
host or  
server  
ꢀ Socket ñưꢕc ñꢖnh danh bꢜi  
controlled by  
app developer  
ꢀ Sꢙ hiꢊu cꢅng  
ꢀ ðꢖa chꢝ IP  
ꢀ Kiꢋu giao thꢎc giao vꢈn  
process  
socket  
process  
socket  
transport  
layer  
services  
transport  
layer  
services  
(TCP hay UDP)  
ꢀ Socket API (Application  
Internet  
Programming Interface): Cho  
phép các tiꢓn trình lꢞa chꢑn  
tham sꢙ, lꢞa chꢑn dꢖch vꢏ…  
controlled  
by OS  
8
Các mô hình ꢁng dꢂng  
ꢀ Khách-chꢉ  
ꢀ P2P  
ꢀ Mô hình lai  
9
Mô hình khách chꢎ  
ꢀ
ꢀ
ꢀ
Khách  
i yêu c  
ꢏ ñꢓn máy ch  
nguyên t c, không liên  
c tr c ti p v i các máy  
khách khác  
Chꢉ  
client  
ꢀ G  
ꢗ
ꢇu truy cꢈp dꢖch  
v
ꢉ
ꢀ Vꢃ  
ꢌ
client  
lꢄ  
ꢞ
ꢓ
ꢆ
client  
ꢀ Thưꢒng xuyên online ñꢋ  
ch y/c ñꢓn t máy tr  
có máy ch  
phòng ñꢋ nâng cao hi  
ng, phòng s  
e.g. Web, Mail, …  
Server  
ꢒ
ꢟ
ꢄm  
ꢀ Có th  
ꢋ
ꢉ dꢞ  
ꢊ
u
nă  
ꢞ cꢙ  
client  
10  
Mô hình ñiꢐm-ñiꢐm 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  
11  
Mô hình lai  
ꢀ
ꢀ
ꢀ
Mꢂt máy chꢉ trung tâm  
ñꢋ quꢀn lý NSD, thông  
tin tìm kiꢓm…  
Các máy khách sꢍ giao  
tiꢓp trꢞc tiꢓp vꢆi nhau  
sau khi ñăng nhꢈp  
Client  
Server  
E.g. Skype  
ꢀ Máy chꢉ Skype quꢀn lý  
các phiên ñăng nhꢈp, mꢈt  
khꢠu…  
ꢀ Sau khi kꢓt nꢙi, các máy  
sꢍ gꢑi VoIP trꢞc tiꢓp cho  
nhau  
Client  
Client  
Client-Server Comm.  
P2P Comm.  
12  
Case study 1: HTTP và WWW  
13  
HTTP và Web  
Web clients  
IE  
ꢀ WWW: World Wide Web  
ꢀ
trao ñꢅi dꢐ liꢊu siêu văn bꢀn  
HTML (HyperText Markup  
Language) trên Internet  
Web  
ꢀ HTTP: HyperText Transfer  
server  
Protocol  
ꢀ
Mô hình Client/Server  
ꢀ
Client yêu cꢇu truy nhꢈp tꢆi các  
trang web (các ñꢙi tưꢕng web)  
Firefox  
và hiꢋn thꢖ chúng lên trình duyꢊt  
ꢀ
Server: Nhꢈn yêu cꢇu và trꢀ lꢒi  
cho client  
14  
Navigator  
HTTP hoꢇt ñꢑng ntn?  
ꢀ
ꢀ
ꢀ
ꢀ
Server mꢜ mꢂt TCP socket chꢒ 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  
IP header TCP header HTTP header  
Dꢐ liꢊu - payload  
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, POST,  
GET /dccn/index.html HTTP/1.1  
User-agent: Mozilla/4.0  
Connection: close  
HEAD commands)  
header  
lines  
Accept-language:en-us  
CR, LF  
(extra carriage return, line feed)  
indicates end  
of message  
16  
Khuôn dꢇng HTTP response  
status line  
(protocol  
HTTP/1.1 200 OK  
Connection close  
Date: Tue, 16 Mar 2008 12:00:15 GMT  
status code  
status phrase)  
Server: Apache/1.3.0 (Unix)  
Last-Modified: Mon, 15 Mar 2008 …...  
Content-Length: 8990  
header  
lines  
Content-Type: text/html  
data, e.g.,  
requested  
HTML file  
data data data data data ...  
17  
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  
18  
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  
2xRTT  
19  
Time  
Time  
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  
20  
request images 10  
Time  
Time  
Tải về để xem bản đầy đủ
pdf 43 trang baolam 25400 Free
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 7: Tầng ứng dụng - Ngô Hồng Sơn", để 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_7_tang_ung_dung_phan_1_ngo_ho.pdf