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 đủ
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:
bai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_1_ngo_ho.pdf

