Tải bản đầy đủ (.ppt) (108 trang)

Computer Networking - Chương 2 Lớp Application pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (924.9 KB, 108 trang )

L p Applicationớ 1
Ch ng 2ươ
L p Applicationớ
Computer Networking:
A Top Down Approach
Featuring the Internet
,
3
rd
edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved
Slide này được biên dịch sang tiếng Việt theo
sự cho phép của các tác giả
L p Applicationớ 2
Ch ng 2: N i dung trình bàyươ ộ

2.1 Các nguyên lý c a ủ
ng d ng m ngứ ụ ạ

2.2 Web và HTTP

2.3 FTP

2.4 Electronic Mail

SMTP, POP3, IMAP


2.5 DNS

2.6 Chia s file P2Pẻ

2.7 L p trình socket ậ
v iTCPớ

2.8 L p trình socket v i ậ ớ
UDP

2.9 Xây d ng m t Web ự ộ
server
L p Applicationớ 3
Ch ng 2: L p Applicationươ ớ
M c tiêu:ụ

Khái ni m, các khía ệ
c nh hi n th c c a ạ ệ ự ủ
các giao th c ng ứ ứ
d ng m ngụ ạ

Các mô hình d ch ị
v l p transportụ ớ

Mô hình client-
server

Mô hình peer-to-peer

Nghiên c u giao th c ứ ứ

thông qua xem xét
m t s giao th c l p ộ ố ứ ớ
application

HTTP

FTP

SMTP / POP3 / IMAP

DNS

L p trình ng d ng ậ ứ ụ
m ngạ

socket API
L p Applicationớ 4
M t s ng d ng m ngộ ố ứ ụ ạ

E-mail

Web

Tin nh n nhanhắ

Đăng nh p t xaậ ừ

Chia s file P2Pẻ

Trò ch i nhi u ng i ơ ề ườ

trên m ngạ

Streaming các video
clips

Đi n tho i Internetệ ạ

H i th o video th i ộ ả ờ
gian th cự

Tính toán l n, tính ớ
toán song song
L p Applicationớ 5
T o m t ng d ng m ngạ ộ ứ ụ ạ
Vi t ch ng trình đ :ế ươ ể

ch y trên các h th ng ạ ệ ố
đ u cu i khác, vàầ ố

truy n thông qua m ngề ạ

Ví d : Web: ph n m m ụ ầ ề
Web server truy n thông ề
v i ph n m m trình duy tớ ầ ề ệ
Ph n m m nh vi t cho các ầ ề ỏ ế
thi t b trung tâm m ngế ị ạ

các thi t b trung tâm ế ị
m ng không ch y các mã ạ ạ
ng d ng c a ng i dùngứ ụ ủ ườ


ng d ng trên các h ứ ụ ệ
th ng đ u cu i cho phép ố ầ ố
phát tri n ng d ng nhanh, ể ứ ụ
ph bi nổ ế
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
2.1 Các nguyên lý c a ng ủ ứ
d ng m ngụ ạ
L p Applicationớ 6
L p Applicationớ 7
Các ki n trúc c a ng d ngế ủ ứ ụ

Client-server

Peer-to-peer (P2P)


Lai gi a client-server và P2Pữ
L p Applicationớ 8
Ki n trúc client-serverế
server:

host luôn ho t đ ngạ ộ

đ a ch IP c đ nhị ỉ ố ị

nhóm các server đ chia ể
s công vi cẻ ệ
clients:

truy n thông v i serverề ớ

có th k t n i không ể ế ố
liên t cụ

có th có ể đ a ch IP ị ỉ
thay đ iổ

không truy n thông ề
tr c ti p v i client khácự ế ớ
L p Applicationớ 9
Ki n trúc P2P thu n túyế ầ

không có server luôn
ho t đ ngạ ộ

truy n thông tr c ti p ề ự ế

v i h th ng đ u cu i ớ ệ ố ầ ố
b t kỳấ

các đi m k t n i không ể ế ố
liên t c và thay đ i đ a ụ ổ ị
ch IPỉ

Ví d : Gnutellaụ
Đ linh ho t cao nh ng khó ộ ạ ư
qu n lýả
L p Applicationớ 10
Lai gi a client-server và P2Pữ
Skype

ng d ng đi n tho i Internetứ ụ ệ ạ

Tìm đ a ch c a thành viên xa: server trung tâmị ỉ ủ ở

K t n i tr c ti p Client-client (không thông qua server) ế ố ự ế
Tin nh n nhanhắ

Chat gi a 2 user là P2Pữ

Mô hình client-server:
• User đăng ký đ a ch IP c a h v i server trung tâm khi ị ỉ ủ ọ ớ
tr c tuy nự ế

User ti p xúc v i server trung tâm đ tìm đ a ch IP c a ế ớ ể ị ỉ ủ
b nạ
L p Applicationớ 11

Ti n trình truy n thôngế ề
Ti n trình:ế ch ng trình ươ
ch y bên trong 1 host.ạ

trong cùng host, 2 ti n ế
trình truy n thông dùng ề
truy n thông n i b ề ộ ộ (do
h đi u hành xác đ nh).ệ ề ị

các ti n trình trong các ế
host khác nhau truy n ề
thông b ng cách trao ằ
đ i ổ các thông đi pệ
Ti n trình Client:ế ti n ế
trình kh i t o truy n ở ạ ề
thông
Ti n trình Server:ế ti n ế
trình ch đ đ c ti p ờ ể ượ ế
xúc

Chú ý: các ng d ng v i ứ ụ ớ
ki n trúc P2P có c các ế ả
ti n trình client và ế
server.
L p Applicationớ 12
Sockets

các ti n trình g i/nh n ế ử ậ
các thông đi p đ n/t ệ ế ừ
socket c a nóủ


socket t ng t nh c aươ ự ư ử

ti n trình g i đ y thông ế ử ẩ
đi p ra ngoài c aệ ử

ti n trình nh n ph thu c ế ậ ụ ộ
vào h t ng l u thông mang ạ ầ ư
thông đi p đ n socket ệ ế
thích h pợ
process
TCP với
bộ đệm,
các biến
socket
Host /
server
process
TCP với
bộ đệm,
các biến
socket
host /
server
Internet
điều khiển
bởi hệ điều
hành
điều khiển
bởi người

phát triển
ứng dụng

API: (1) l a ch n giao th c v n chuy n; (2) kh năng ự ọ ứ ậ ể ả
ch nh s a m t vài tham s ỉ ử ộ ố (xem ph n sau)ầ

L p Applicationớ 13
Ti n trình đ nh đ a chế ị ị ỉ

đ nh n đ c thông ể ậ ượ
đi p, ti n trình ph i có ệ ế ả
nhân d ng (identifier)ạ

thi t b host ph i có ế ị ả
đ a ch IP duy nh tị ỉ ấ

Đ a ch IP mà trên đó ị ỉ
ti n trình đang ch y có ế ạ
đ đ nh n d ng ti n ủ ể ậ ạ ế
trình?

KHÔNG, nhi u ti n trình ề ế
có th ch y trên cùng 1 ể ạ
host

Nhân d ng ạ
bao g m c ồ ả
đ a ch IP ị ỉ và các s c ng ố ổ
(port) liên k t v i ti n ế ớ ế
trình trên host.


Ví d v s port:ụ ề ố

HTTP server: 80

Mail server: 25

Đ g i thông đi p HTTP ể ử ệ
cho web server
gaia.cs.umass.edu :

IP address: 128.119.245.12

Port number: 80
L p Applicationớ 14
Đ nh nghĩa giao th c l p ng ị ứ ớ ứ
d ngụ

các ki u c a trao đ i ể ủ ổ
thông đi pệ

Ví d : yêu c u, đáp ngụ ầ ứ

Cú pháp thông đi p:ệ

Các tr ng nào trong ườ
thông đi p và làm sao mô ệ
t ?ả

Ng nghĩa thông đi p ữ ệ


Ý nghĩa c a thông tin ủ
trong các tr ngườ

Các quy t c đ khi nào ắ ể
và làm sao các ti n ế
trình g i và đáp ng các ử ứ
thông đi pệ
Các giao th c Public-ứ
domain:

Đ nh nghĩa trong RFCị

Cho phép c ng tácộ

Ví d : HTTP, SMTPụ
Các giao th c đ c quy n:ứ ộ ề

Ví d : KaZaAụ
L p Applicationớ 15
D ch v v n chuy n nào ng d ng không ị ụ ậ ể ứ ụ
c nầ
M t mát d li u ấ ữ ệ

m t s ng d ng (vd: ộ ố ứ ụ
audio) có kh năng ch u l iả ị ỗ

các ng d ng khác (vd: ứ ụ
truy n file, telnet) yêu ề
c u d li u tin c y 100%ầ ữ ệ ậ

Đ nh thìị

m t s ng d ng (vd: ộ ố ứ ụ
đi n tho i Internet, ệ ạ
trò ch i t ng tác) ơ ươ
yêu c u đ tr th p ầ ộ ễ ấ
đ đ t hi u quể ạ ệ ả
Bandwidth (băng thông)

m t s ng d ng (vd: ộ ố ứ ụ
đa ph ng ti nươ ệ ) yêu
c u ầ băng thông đ đ t ể ạ
hi u quệ ả

các ng d ng khác m m ứ ụ ề
d o h n có th dùng ẻ ơ ể
b t kỳ băng thông nào ấ
cũng đ cượ
L p Applicationớ 16
M t s yêu c u đ i v i các ng d ng ph bi nộ ố ầ ố ớ ứ ụ ổ ế
Application
Truyền file
e-mail
Web
audio/video
thời gian thực
audio/video đã lưu
Trò chơi tương tác
Tin nhắn nhanh
Data loss

không
không
Không
chịu lỗi
chịu lỗi
chịu lỗi
không
Bandwidth
mềm dẻo
mềm dẻo
mềm dẻo
audio: 5kbps-1Mbps
video:10kbps-5Mbps
Như trên
Một vài kbps
mềm dẻo
Time Sensitive
không
không
không
có, 100 mili giây
có, một vài giây
có, 100 mili giây
Có và không
L p Applicationớ 17
Các d ch v giao th c Internet ị ụ ứ
transport
TCP:

connection-oriented:

c n ầ
thi t l p ti n trình gi a ế ậ ế ữ
client và server

V n chuy n tin c y: ậ ể ậ
gi a ti n ữ ế
trình g i và nh nử ậ

Đi u khi n lu ng:ề ể ồ
ng i g i ườ ử
s không l n át ng i nh nẽ ấ ườ ậ

Đi u khi n t c ngh n:ề ể ắ ẽ
đi u ề
ti t ng i g i khi m ng quá ế ườ ử ạ
t iả

Không h tr :ỗ ợ
đ nh thì, b o ị ả
đ m băng thông t i thi uả ố ể
UDP:

truy n d li u không tin ề ữ ệ
c y gi a g i và nh nậ ữ ử ậ

Không h tr : thi t l p ỗ ợ ế ậ
k t n i, tin c y, đi u ế ố ậ ề
khi n lu ng, đi u khi n ể ồ ề ể
t c ngh n, đ nh thì, b o ắ ẽ ị ả
đ m băng thông t i thi uả ố ể

Th thì sinh ra UDP đ làm ế ể
gì?
L p Applicationớ 18
Các giao th c l p application, transportứ ớ
Application
e-mail
Truy cập terminal từ xa
Web
Truyền file
streaming multimedia
Điện thoại Internet
Giao thức lớp
Application
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
FTP [RFC 959]
độc quyền
(vd: RealNetworks)
độc quyền
(vd: Vonage,Dialpad)
Giao thức dưới lớp
transport
TCP
TCP
TCP
TCP
TCP / UDP
UDP
2.2 Web và HTTP

L p Applicationớ 19
L p Applicationớ 20
Web và HTTP
M t s thu t ng chuyên mônộ ố ậ ữ

Web page (trang Web) bao g m các ồ objects (đ i ố
t ng)ượ

Đ i t ng có th là file HTML, hình nh JPEG ố ượ ể ả
image, Java applet, file audio,…

Trang Web file HTML c b n s ch a m t s đ i ơ ả ẽ ứ ộ ố ố
t ng có tham chi uượ ế

M i đ i t ng có th đ nh đ a ch b ng m t ỗ ố ượ ể ị ị ỉ ằ ộ URL

Ví d URL:ụ
www.someschool.edu/someDept/pic.gif
Tên host
Tên đ ng d nườ ẫ
L p Applicationớ 21
T ng quan HTTPổ
HTTP: hypertext
transfer protocol

Giao th c l p ng d ng c a ứ ớ ứ ụ ủ
Web

Mô hình client/server


Client:
trình duy t yêu ệ
c u, nh n và hi n th ầ ậ ể ị
các đ i t ng Webố ượ

Server:
Web server g i ử
các đ i t ng đáp ng ố ượ ứ
cho yêu c uầ

HTTP 1.0: RFC 1945

HTTP 1.1: RFC 2068
PC ch yạ
Explorer
Server
ch yạ
Apache Web
server
Mac ch yạ
Navigator
Y
ê
u

c
u

H
T

T
P

Y
ê
u

c
u

H
T
T
P

Đ
á
p

n
g

H
T
T
P

Đ
á
p


n
g

H
T
T
P

L p Applicationớ 22
T ng quan HTTPổ
Dùng TCP:

client kh i t o k t n i TCP ở ạ ế ố
(t o socket) đ n server, ạ ế
port 80

server ch p nh n k t n i ấ ậ ế ố
TCP t clientừ

Các thông đi p HTTP (thông ệ
đi p giao th c l p ệ ứ ớ
application) trao đ i gi a ổ ữ
trình duy t (HTTP client) và ệ
Web server (HTTP server)

Đóng k t n i TCPế ố
HTTP là “không tr ng ạ
thái”


server không gi thông ữ
tin v các yêu c u ề ầ
tr c đó c a clientướ ủ
Các giao th c nào gi “tr ng ứ ữ ạ
thái” là ph c t p!ứ ạ

l ch s quá kh (tr ng ị ử ứ ạ
thái) ph i gi l iả ữ ạ

n u server/client b s c , ế ị ự ố
cách nhìn c a nó v “tr ng ủ ề ạ
thái” mâu thu n, ph i đ c ẫ ả ượ
đi u ch nh ề ỉ
v n đ liên quanấ ề
L p Applicationớ 23
Các k t n i HTTPế ố
HTTP không b n v ngề ữ

Ch có t i đa là 1 đ i ỉ ố ố
t ng đ c g i qua 1 ượ ượ ử
k t n i TCP.ế ố

HTTP/1.0 dùng HTTP
không b n v ngề ữ
HTTP b n v ngề ữ

Nhi u đ i t ng có ề ố ượ
th đ c g i qua 1 k t ể ượ ử ế
n i TCP đ n gi a client ố ơ ữ
và server.


HTTP/1.1 m c nhiên ặ
dùng HTTP b n v ngề ữ
L p Applicationớ 24
HTTP không b n v ngề ữ
Gi s user nh p vào URL nh sau: ả ử ậ ư
www.someSchool.edu/someDepartment/home.index
1a. HTTP client kh i t o k t n i ở ạ ế ố
TCP connection đ n HTTP ế
server (ti n trình) t i ế ạ
www.someSchool.edu trên port
80
2. HTTP client g i HTTP ử
thông
đi p yêu c uệ ầ
(ch a URL) vào ứ
trong socket k t n i TCP. ế ố
Thông đi p ch r ng client ệ ỉ ằ
mu n các đ i t ng ố ố ượ
someDepartment/home.index
1b. HTTP server t i host ạ
www.someSchool.edu ch k t ờ ế
n i TCP t i port 80. “ch p ố ạ ấ
nh n” k t n i, thông báo cho ậ ế ố
client
3. HTTP server nh n thông đi p ậ ệ
yêu c u, đ nh d ng ầ ị ạ
thông đi p ệ
đáp ng ứ
ch a đ i t ng đ c ứ ố ượ ượ

yêu c u và g i thông đi p vào ầ ử ệ
trong socket c a nóủ
Th i gianờ
(chứa text,
tham chiếu đến
10 hình)
L p Applicationớ 25
HTTP không b n v ngề ữ
5. HTTP client nh n thông đi p ậ ệ
đáp ng ch a file HTML, hi n ứ ứ ể
th nó. Phân tích cú pháp html ị
file, tìm ra 1 tham chi u đ n ế ế
đ i t ng jpegố ượ
6. L p l i các b c t 1-5 cho ặ ạ ướ ừ
các đ i t ng jpeg khácố ượ
4. HTTP server đóng k t n i ế ố
TCP.
time

×