Bài giảng Mạng máy tính - Chương 2: Tầng ứng dụng (Phần 1) - Hồ Phương Đắc

Chương 2ꢀ:ꢀTꢁng ꢂng Dꢃng  
Mꢃc tiêu:  
ðꢄnh nghĩa,ꢀHoꢅt ñꢆng các giao  
Sꢄ hꢅc cái gì ?  
Các giao thꢇc cꢃ thꢌ:ꢀ  
o HTTP  
thꢇc trong tꢁng ꢂng dꢃng.  
o Mô hình Khách hàng ꢈ  
Ngưꢉi phꢃc vꢃ (clientꢈ  
server)  
o FTP  
o SMTP  
o POPꢀ  
o DNS  
o Mô hình ñꢊng ñꢋng  
o Tìm hiꢌu mꢆt sꢍ giao thꢇc  
tꢁng ꢂng dꢃng thông quaꢀ  
các ví dꢃ cꢃ thꢌ.  
o MSN,ꢀGnutella  
Lꢎp trình các ꢇng dꢃng mꢅng :ꢀ  
socketꢀAPI  
2:ꢀTꢁng ꢂng dꢃng  
1
Trình ꢂng dꢃng và Giao thꢆc tꢁng ꢂng dꢃng  
application  
Trình ꢆng dꢃng :ꢀCác tiꢏn trình phân  
transport  
network  
tán truyꢐn thông vꢑi nhau  
dataꢀlink  
physical  
o Chꢅy trên các thiꢏt bꢄ ñꢁu cuꢍi  
o Trao ñꢒi thông ñiꢓp vꢑi nhau.  
o email,ꢀFTP,ꢀWeb  
Giao thꢆc tꢁng ꢆng dꢃng  
o Là mꢆt phꢁn cꢔa trình ꢇng  
dꢃng.  
o Xác ñꢄnh thông ñiꢓp trao ñꢒi  
application  
application  
transport  
giꢕa các ꢇng dꢃng.  
transport  
network  
dataꢀlink  
physical  
network  
dataꢀlink  
physical  
o Sꢖ dꢃng dꢄch vꢃ truyꢐn thông  
doꢀgiao thꢇc tꢁng dưꢑi (TCP,ꢀ  
UDP)ꢀcung cꢗp.  
2:ꢀTꢁng ꢂng dꢃng  
2
Mꢇt sꢈ thuꢉt ngꢊ  
Userꢀagent:ꢀphꢁn mꢐm  
Tiꢋn trình : là chương  
trình chꢅy trên thiꢏt bꢄ  
ñꢁu cuꢍi.  
Trên cùng máy tính,ꢀhai  
tiꢏn trình có thꢌ truyꢐn  
thông vꢑi nhau thông quaꢀ  
truyꢌn thông liên tiꢋn  
trìnhꢀ(HðHꢀquꢘn lý).  
ñóng vai trò giao diꢓn  
giꢕa ngưꢉi dùng và  
mꢅng.ꢀ  
o Cài ñꢙt Giao thꢇc  
tꢁng ꢂng dꢃng.  
o Web:ꢀbrowser  
o Eꢈmail:ꢀmailꢀreader  
Các tiꢏn trình chꢅy trên  
các máy tính khác nhau :ꢀ  
tuân thꢔ giao thꢇc tꢁng  
ꢇng dꢃng.  
o streamingꢀ  
audio/video:ꢀmediaꢀ  
player  
2:ꢀTꢁng ꢂng dꢃng  
3
Mô hình ClientꢍServer  
ꢂng dꢃng gꢊm hai thành phꢁn :ꢀ  
Client Server  
application  
transport  
network  
dataꢀlink  
physical  
Client:  
Yêu cꢀu  
Khꢚi tꢅo giao tiꢏp vꢑi serverꢀ  
(“speaksꢀfirst”)  
Yêu cꢁu dꢄch vꢃ tꢛ server.  
Webꢀ:ꢀclientꢀnhꢎn và hiꢌn thꢄ webꢀ  
Trꢁ lꢂi  
pageꢀ;ꢀeꢈmail:ꢀcác trình ñꢜc thư.  
application  
transport  
network  
dataꢀlink  
physical  
Server:  
Cung cꢗp dꢄch vꢃ theo yêu cꢁu tꢛ  
Client  
Webꢀserverꢀgꢖi Webꢀpage,ꢀMailꢀ  
serverꢀgꢖi và nhꢎn Eꢈmail  
2:ꢀTꢁng ꢂng dꢃng  
4
Giao thꢆc tꢁng ꢂng dꢃng  
API:ꢀApplicationꢀ  
Vꢀy thì Phân biꢓt các tiꢏn  
trình bꢝng cách nào?  
ProgrammingꢀInterface  
o ðꢎa chꢏ IP cꢔa máy.  
Là giao diꢓn giꢕa tꢁng ꢂng  
dꢃng và tꢁng Giao vꢎn.  
o Sꢈ hiꢐu Cꢑng – cho  
phép bên máy tính nhꢎn  
xác ñꢄnh tiꢏn trình nào  
nhꢎn thư.  
Socketꢀ:ꢀInternetꢀAPI  
o Hai tiꢏn trình truyꢐn  
thông bꢝng cách  
gꢖi/nhꢎn dꢕ liꢓu vào/tꢛ  
socket.  
Còn tiꢁp …  
2:ꢀTꢁng ꢂng dꢃng  
5
ꢂng dꢃng cꢁn Dꢎch vꢃ Giao vꢉn gì?  
Mꢒt mát dꢊ liꢐu (Dataꢀloss)  
Băng thông (Bandwidth)  
Mꢆt sꢍ ꢇng dꢃng có thꢌ chꢗp  
Mꢆt sꢍ ꢇng dꢃng (ña phương  
tiꢓn)ꢀyêu cꢁu băng thông tꢍi  
thiꢌu ñꢌ có thꢌ hoꢅt ñꢆng  
ñưꢡc.  
nhꢎn mꢆt sꢍ mꢗt mát.  
Mꢆt sꢍ ꢇng dꢃng lꢅi ñòi hꢞi  
100%ꢀdꢕ liꢓu truyꢐn tinꢀcꢎy  
(web).  
Mꢆt sꢍ ꢇng dꢃng khác có thꢌ  
sꢖ dꢃng bꢗt cꢇ băng thông  
nào ñưꢡc cꢗp phát.  
Thꢓi gian (Timing)  
Mꢆt sꢍ ꢇng dꢃng (hꢆi thoꢅi  
quaꢀInternet,ꢀcác trò chơi  
trꢟc tuyꢏn)ꢀñòi hꢞi ñꢆ trꢠ  
thꢗp.  
2:ꢀTꢁng ꢂng dꢃng  
6
Yêu cꢁu vꢔi mꢇt sꢈ ꢂng dꢃng cꢃ thꢕ  
Thꢂi gian  
ꢃng dꢄng Mꢅt mát  
Băng thông  
Không  
Không  
Không  
Truyꢀn file Không  
Thư tín ñiꢁn tꢂ Không  
Web Có thꢈ  
Coꢅdãn  
Coꢅdãn  
Coꢅdãn  
Có,ꢅ100’sꢅmsec  
ða phương tiꢁn Có thꢈ  
Thꢃi gian thꢄc  
storedꢅaudio/video Chꢉp nhꢊn  
Trò chơi tương tác Chꢉp nhꢊn  
ꢆng dꢇng Tài chính Không  
audio:ꢅ5Kbꢋ1Mb  
video:10Kbꢋ5Mb  
sameꢅasꢅaboveꢅ  
fewꢅKbpsꢅup  
Coꢅdãn  
Có,ꢅfewꢅsecs  
Có,ꢅ100’sꢅmsec  
Không xác ñꢌnh  
2:ꢀTꢁng ꢂng dꢃng  
7
Dꢎch vꢃ Giao thꢆc Giao vꢉn Internet  
Dꢎch vꢃ UDP:  
Dꢎch vꢃ TCP:  
Truyꢐn dꢕ liꢓu không tinꢀ  
cꢎy giꢕa các tiꢏn trình gꢖi  
và nhꢎn.  
Hưꢂng nꢃi : Yêu cꢁu thiꢏt lꢎp  
kꢏt nꢍi giꢕa clientꢀvà server.  
Truyꢄn dꢅ liꢆu tinꢇcꢀy giꢕa  
Không hꢖ trꢗ : thiꢏt lꢎp  
kꢏt nꢍi,ꢀñꢆ tinꢀcꢎy,ꢀñiꢐu  
khiꢌn lưu lưꢡng,ꢀkiꢌm soát  
tꢤc nghꢢn,ꢀthꢉi gian,ꢀbăng  
thông tꢍi thiꢌu.  
tiꢏn trình gꢖi và nhꢎn  
ðiꢄu khiꢈn lưu lưꢉng :ꢀbên  
gꢖi sꢢ không làm “lꢃt” bên  
nhꢎn.  
Kiꢈm soát tꢊc nghꢋn: ñiꢐu  
chꢣnh tꢍc ñꢆ gꢖi khi mꢅng quá  
tꢘi.  
Tꢁi sao mꢂt sꢃ ꢄng dꢅng sꢆ  
dꢅng UDP  
Không hꢖ trꢗ :ꢀthꢉi gian,ꢀbăng  
thông tꢍi thiꢌu.  
2:ꢀTꢁng ꢂng dꢃng  
8
Các ꢆng dꢃng trên Internetꢀvà giao thꢆc giao vꢉn  
tương ꢆng  
Giao thꢆc  
ꢃng dꢄng  
Giao thꢆc Giao vꢇn  
tương ꢆng  
ꢃng dꢄng  
SMTPꢅ[RFCꢅ821]  
telnetꢅ[RFCꢅ854]  
HTTPꢅ[RFCꢅ2068]  
FTPꢅ[RFCꢅ959]  
ðꢑc quyꢀn  
Thư tín ðiꢁn tꢂ  
Truy cꢊp tꢍ xa  
Webꢅ  
TCP  
TCP  
TCP  
TCP  
Truyꢀn file  
ða phương tiꢁn luꢎng  
TCPꢅhoꢒc UDP  
(vd.ꢅRealNetworks)  
NSF  
ðꢑc quyꢀn  
fileꢅserverꢅꢏ xa  
ðiꢁn thoꢐi Internet  
TCPꢅhoꢒc UDP  
Thưꢃng là UDP  
(vd.ꢅVocaltec)  
2:ꢀTꢁng ꢂng dꢃng  
9
Giao thꢆc Webꢀ:ꢀHTTP  
HTTP:ꢀGiao thꢆc truyꢌn siêu văn  
bꢘn.  
Là giao thꢇc tꢁng ꢇng dꢃng cho ꢇng PCꢀsdng  
dꢃng Web.  
Explorer  
Sꢖ dꢃng mô hình client/server  
o client: browserꢀyêu cꢁu,ꢀnhꢎn,ꢀ  
hiꢌn thꢄ các ñꢍi tưꢡng Web.  
Serverꢀ  
sdng  
NCSAꢀWeb  
server  
o server: Webꢀserverꢀgꢖi các ñꢍi  
tưꢡng khi có yêu cꢁu  
HTTP1.0ꢀ:ꢀRFCꢀ1945  
Macꢀsdng  
Navigator  
HTTP1.1ꢀ:ꢀRFCꢀ2068  
2:ꢀTꢁng ꢂng dꢃng  
10  
Giao thꢆc HTTP  
HTTPꢀlà giao thꢆc “không  
HTTPꢀsꢙ dꢃng giao thꢆc TCP.  
trꢚng thái”  
serverꢀkhông lưu lꢅi  
thông tinꢀvꢐ yêu cꢁu cꢔa  
client  
Clientꢀkhꢚi tꢅo kꢏt nꢍi TCPꢀ  
(socket)ꢀtꢑi serverꢀquaꢀcꢒng 80  
Giao thꢌc lưu lꢍi trꢍng rꢎt  
phꢌc tꢍp !  
Serverꢀchꢗp nhꢎn kꢏt nꢍi TCPꢀtꢛ  
Client  
Các trꢅng thái trưꢑc ñây  
phꢘi ñưꢡc lưu lꢅi (tꢍn bꢆ  
nhꢑ).  
Các thông ñiꢓp HTTPꢀ:ꢀtrao ñꢒi  
giꢕa Browserꢀ(HTTPꢀclient)ꢀvà  
Webꢀserverꢀ(HTTPꢀserver)  
Nꢏu kꢏt nꢍi server/clientꢀbꢄ  
gián ñoꢅn,ꢀtrꢅng thái trên  
chúng có thꢌ sai khác =>ꢀ  
cꢁn cơ chꢏ ñiꢐu chꢣnh lꢅi  
ðóng kꢏt nꢍi TCP.  
2:ꢀTꢁng ꢂng dꢃng  
11  
Ví dꢃ vꢐ HTTP  
Bꢅn ñánh ñꢄa chꢣ trên trình duyꢓt  
(bao gꢊm fileꢀHTMLꢀ  
tham chiꢏu tꢑi 10ꢀ  
ꢘnh JPEG)  
1a. HTTPꢀclientꢀkhꢚi tꢅo kꢏt nꢍi  
TCPꢀtꢑi HTTPꢀserverꢀtꢅi ñꢄa  
1b. HTTPꢀserverꢀꢚ ñꢄa chꢣ  
chꢣ www.someSchool.edu.ꢀ  
Cꢒng mꢙc ñꢄnh là 80.  
kꢏt nꢍi TCPꢀꢚ cꢒng 80,ꢀꢀchꢗp  
nhꢎn kꢏt nꢍi,ꢀthông báo lꢅi  
cho client.  
2. HTTPꢀclientꢀgꢖi thông ñiꢓp  
HTTPꢀyêu cꢁu (bao gꢊm  
URL)ꢀquaꢀkꢏt nꢍi TCPꢀvꢛa  
thiꢏt lꢎp  
3. HTTPꢀserverꢀnhꢎn thông ñiꢓp yêu  
cꢁu,lꢗy các ñꢍi tưꢡng ñưꢡc yêu  
cꢁu gꢖi vào trong thông ñiꢓp trꢘ  
lꢉi,ꢀ  
(someDepartment/home.index)ꢀ  
gꢖi thông ñiꢓp vào socket  
Thi gian  
2:ꢀTꢁng ꢂng dꢃng  
12  
Ví dꢃ vꢌ HTTP  
4. HTTPꢀserverꢀñóng kꢏt nꢍi  
TCP.  
5. HTTPꢀclientꢀnhꢎn thông ñiꢓp  
trꢘ lꢉi bao gꢊm tꢓp html,ꢀ  
hiꢌn thꢄ html.Phân tích tꢓp  
htmlꢀfile,ꢀtìm 10ꢀjpegꢀñꢍi  
tưꢡng ñưꢡc tham chiꢏu  
Thi gian  
6. Các bưꢑc tꢛ 1ꢀñꢏn 5ꢀñưꢡc lꢙp  
lꢅi cho tꢛng ñꢍi tưꢉng trong  
10ꢀñꢍi tưꢡng jpeg  
2:ꢀTꢁng ꢂng dꢃng  
13  
Kꢋt nꢈi liên tꢃc và không liên tꢃc  
Kiên trì:  
Không kiên trì:  
Mꢙc ñꢄnh cho HTTP/1.1  
HTTP/1.0ꢀ:ꢀserverꢀphân  
tích yêu cꢁu,ꢀtrꢘ lꢉi rꢊi  
ñóng kꢏt nꢍi TCP.  
serverꢀphân tích yêu  
cꢁu,ꢀtrꢘ lꢉi,ꢀphân tích  
yêu cꢁu kꢏ tiꢏp:ꢀtrên  
cùng mꢆt kꢏt nꢍi TCP  
Mꢆt ñꢍi tưꢡng :ꢀ2ꢀRTTꢀ  
(ñꢆ trꢠ).  
clientꢀgꢖi yêu cꢁu cho  
tꢗt cꢘ các ñꢍi tưꢡng khi  
nhꢎn ñưꢡc fileꢀHTMLꢀ  
cơ sꢚ  
Mꢥi lꢁn truyꢐn,ꢀchꢄu mꢆt  
ñꢆ trꢠ doꢀthiꢏt lꢎp kꢏt nꢍi.  
Nhưng phꢏn lꢂn trình  
duyꢆt mꢐ ñꢑng thꢒi  
nhiꢄu kꢁt nꢃi TCP.  
Ít bưꢑc hơn,ꢀnhanh hơn.  
2:ꢀTꢁng ꢂng dꢃng  
14  
ðꢎnh dꢚng Thông ñiꢐp Yêu cꢁu HTTP  
Có hai kiꢌu thông ñiꢓp HTTPꢀ:ꢀThông ñiꢐp yêu cꢁu (request)  
Thông ñiꢐp trꢘ lꢓi (response)  
Thông ñiꢓp HTTPꢀrequest:  
o Theoꢀñꢄnh dꢅng mã ASCII.  
Dòng yêu cꢁu  
GET /somedir/page.html HTTP/1.0  
User-agent: Mozilla/4.0  
Accept: text/html, image/gif,image/jpeg  
Accept-language:fr  
(Lꢓnh GET,ꢀPOST,ꢀ  
HEAD)  
Các dòng header  
(CR,LF)  
CR,LF:ꢀKꢏt  
thúc thông ñiꢓp  
2:ꢀTꢁng ꢂng dꢃng  
15  
ðꢎnh dꢚng Thông ñiꢐp Yêu cꢁu HTTP  
2:ꢀTꢁng ꢂng dꢃng  
16  
ðꢎnh dꢚng Thông ñiꢐp Trꢘ lꢓi HTTP  
Dòng trꢅng thái  
(mã trꢅng thái)  
HTTP/1.0 200 OK  
Date: Thu, 06 Aug 1998 12:00:15 GMT  
Server: Apache/1.3.0 (Unix)  
Last-Modified: Mon, 22 Jun 1998 …...  
Content-Length: 6821  
Các dòng tiêu ñꢐ  
Content-Type: text/html  
data data data data data ...  
Dꢕ liꢓu (chꢋng hꢅn  
fileꢀhtmlꢀñưꢡc  
yêu cꢁu)  
2:ꢀTꢁng ꢂng dꢃng  
17  
Mã trꢚng thái trong Thông ñiꢐp Trꢘ lꢓi  
ðưꢡc ghi ꢚ dòng ñꢁu tiên trong thông ñiꢓp Serverꢀtrꢘ lꢉi Client  
Mꢆt sꢍ mã thưꢉng gꢙp:  
200 OK  
o Yêu cꢁu thành công,ꢀcác ñꢍi tưꢡng ñưꢡc yêu cꢁu ꢚ phꢁn thân  
thông ñiꢓp.  
301 Moved Permanently  
o ðꢍi tưꢡng yêu cꢁu ñã ñưꢡc chuyꢌn và ñꢄa chꢣ mꢑi cꢔa ñꢍi  
tưꢡng ñưꢡc ñꢙt trong trưꢉng Location:  
400 Bad Request  
o Serverꢀkhông hiꢌu ñưꢡc Thông ñiꢓp yêu cꢁu  
404 Not Found  
o ðꢍi tưꢡng ñưꢡc yêu cꢁu không có trong server  
505 HTTP Version Not Supported  
o Serverꢀkhông hꢥ trꢡ phiên bꢘn giao thꢇc HTTP.  
2:ꢀTꢁng ꢂng dꢃng  
18  
Thꢙ kiꢕm nghiꢐm HTTPꢀ(phía Client)  
1.ꢀTelnetꢀtꢔi Webꢀserver:  
Tꢅo kꢏt nꢍi TCPꢀtꢑi cꢒng 80  
(cꢒng mꢙc ñꢄnh cho HTTPꢀserver)ꢀ  
2.ꢀLꢐnh GETꢀtrong thông ñiꢐp HTTPꢀrequest:  
Gꢖi thông ñiꢓp yêu cꢁu lꢗy tꢓp  
GET /~ross/index.html HTTP/1.0  
index.html trong thư mꢃc ~ross  
cho client  
3.ꢀXem thông ñiꢐp responseꢀdoꢀHTTPꢀserverꢀgꢙi vꢌ!  
2:ꢀTꢁng ꢂng dꢃng  
19  
Tương tác UserꢍServer:ꢀKiꢕm chꢆng  
Mꢃc tiêu :ꢀkiꢌm soát quyꢐn truy  
client  
server  
cꢎp tꢑi ñꢍi tưꢡng lưu trên server.  
usualꢀhttpꢀrequestꢀmsg  
Phương pháp :ꢀsꢖ dꢃng Tên truy  
cꢎp và Mꢎt khꢦu  
Không trꢅng thái : mꢥi lꢁn yêu cꢁu,ꢀ  
401:ꢀauthorizationꢀreq.  
WWW authenticate:  
clientꢀphꢘi chꢇng tꢞ mình có quyꢐn  
Kiꢌm chꢇng :ꢀ  
usualꢀhttpꢀrequestꢀmsg  
+ꢀAuthorization:line  
o Tiêu ñꢐ authorization: trong  
mꢥi yêu cꢁu gꢖi ñi.  
usualꢀhttpꢀresponseꢀmsg  
o Nꢏu không có quyꢐn : serverꢀtꢛ  
chꢍi truy cꢎp và gꢖi yêu cꢁu có  
trưꢉng tiêu ñꢐ WWW  
usualꢀhttpꢀrequestꢀmsg  
+ꢀAuthorization:line  
authenticate:  
usualꢀhttpꢀresponseꢀmsg  
Thông thưꢂng,ꢈtrình duyꢉt cacheꢈ  
username/passꢈñꢊ ngưꢂi dùng không  
phꢁi gõ lꢋi trong mꢌi truy cꢇp  
2:ꢀTꢁng ꢂng dꢃng  
20  
Tải về để xem bản đầy đủ
pdf 39 trang myanh 8280
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 2: Tầng ứng dụng (Phần 1) - Hồ Phương Đắc", để 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_2_tang_ung_dung_phan_1_ho_phu.pdf