You are on page 1of 37

Trng i Hc Bch Khoa Tp.

HCM Khoa Khoa Hc v K Thut My Tnh

Bi ging Mng my tnh


ThS. NGUYN CAO T E-mail:dat@cse.hcmut.edu.vn

Chng 2: Tng ng dng

2.1 Cc nguyn l ca tng ng dng 2.2 Web v HTTP 2.3 FTP 2.4 Th in t

SMTP, POP3, IMAP

2.6 ng dng P2P 2.7 Lp trnh Socket vi TCP 2.8 Lp trnh Socket vi UDP

2.5 DNS

Tham kho: Chng 2: Computer Networking A top-down approach Kurose & Ross, 5th ed., Addison Wesley, 2010.
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 2

Chapter 2: Tng ng dng


Mc tiu: Cc kha cnh thuc khi nim v hin thc ca cc giao thc ng dng mng

Hc v cc giao thc bng cch xem xt cc giao thc tng ng dng ph bin

M hnh dch v tng ng dng M hnh khch-ch M hnh ngang hng mt-mt

HTTP FTP SMTP / POP3 / IMAP DNS

Lp trnh ng dng mng


socket API socket = hc kt ni?


MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 3

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

V d v ng dng mng

e-mail web nhn tin trc tip truy cp t xa chia s tp P2P tr chi mng tng tc nhiu ngi xem phim trc tuyn

chat hi thoi truyn hnh trc tuyn tnh ton li

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 4

To ra mt ng dng mng
Vit chng trnh

Chy trn nhng h thng khc nhau Lin lc thng qua mng V d: phn mm my ch web giao tip vi phn mm trnh duyt web
ng dng truyn ti mng lin kt vt l

ng dng truyn ti mng lin kt vt l

Khng cn thit vit phn mm cho cc thit b mng

Thit b mng khng chy nhng ng dng dnh cho ngi dng Phn mm trn cc thit b mng c chuyn bit ha cao

ng dng truyn ti mng lin kt vt l

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 5

Chng 2: Tng ng dng

2.1 Cc nguyn l ca tng ng dng 2.2 Web v HTTP 2.3 FTP 2.4 Th in t

SMTP, POP3, IMAP

2.6 ng dng P2P 2.7 Lp trnh Socket vi TCP 2.8 Lp trnh Socket vi UDP

2.5 DNS

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 6

Kin trc ng dng mng


khch-ch thnh vin-ti-thnh vin (P2P) lai gia khch-ch v P2P

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 7

Kin trc khch-ch


my ch:

lun lun kch hot a ch IP c nh h thng my ch cho vic m rng giao tip vi my ch c th kt ni khng lin tc c th c a ch IP ng khng kt ni trc tip vi ngi dng khc

my khch:

khch/ch

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 8

Cu trc P2P

Khng c my ch Cc my u cui lin lc trc tip vi nhau mt-mt Cc bn thc hin kt ni khng lin tc v c th s dng a ch IP ng

Kh nng m rng cao nhng kh qun l


Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 9

M hnh lai ca khch-ch v P2P


Skype

Nhn tin trc tip


in thoi-IP: ng dng P2P my ch tp trung: qun l a ch ca cc bn tham gia kt ni khch-khch: trc tip (khng qua my ch) Hai ngi dng chat vi nhau bng P2P My ch m bo: qun l ngi dng

Mgi dng ng k a ch IP vi my ch khi h ng nhp My ch cung cp danh sch bn b ang trn mng Mgi dng hi my ch c a ch IP ca bn
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 10

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Lin lc gia cc tin trnh


Tin trnh: chng trnh chy Tin trnh khch: bt u qu trnh kt ni trong mt my Tin trnh ch: ch khch vi cng mt my, hai tin kt ni ti trnh lin lc vi nhau bng cch s dng giao tip lin tin trnh (interprocess communication) (qui nh bi OS). Lu : cc ng dng P2P c c tin trnh khch ln tin trnh Cc tin trnh trong cc ch my khc nhau lin lc thng qua trao i thng ip
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 11

Hc kt ni - Sockets

tin trnh gi/nhn thng ip ti/t socket Socket tng t nh l cnh ca

my hoc my ch iu khin bi lt vin ng dng

my hoc my ch

Tin trnh gi y thng ip ra ngoi cnh ca Tin trnh gi ph thuc vo c s h tng truyn ti bn pha kia ca cnh ca mang thng ip ti socket ca tin trnh nhn

tin trnh socket

tin trnh socket

TCP vi b nh tm, bin


iu khin bi OS

Internet

TCP vi b nh tm, bin

API: (1) la chn giao thc truyn ti; (2) cu hnh mt vi tham s
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 12

Qu trnh nh a ch

nhn c thng ip tin trnh phi c k hiu nhn dng mi thit b (my tnh) c mt a ch IP 32-bit c nht Hi: a ch IP c th dng nh cho c cc tin trnh khng?

K hiu nhn dng bao

gm a ch IP v a ch cng tng ng vi mi tin trnh trn my v d v a ch cng:


my ch HTTP: 80 my ch Mail: 25

p: Khng, nhiu tin


trnh c th cng chy trn mt my

gi thng ip HTTP ti trang web gaia.cs.umass.edu:


a ch IP: 128.119.245.12 cng: 80


MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 13

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Cc giao thc tng ng dng qui nh...

Loi thng ip c trao i,

vd: truy vn, phn hi


c nhng trng no trong thng ip & chng c trnh by ntn ngha ca thng tin trong cc trng

C php ca thng ip:

Ng ngha ca thng ip

Qui tc v thi im v cch thc cc tin trnh gi v phn hi cc thng ip

Cc giao thc cng khai: nh ngha trong RFC cho php tng tc qua li vd: HTTP, SMTP Cc giao thc s hu: vd: Skype
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 14

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Cc ng dng yu cu g tng truyn ti?


Mt mt d liu mt s ng dng (vd: voice-chat) c th chp nhn mt mt d liu va phi nhng ng dng khc (vd: ti tp tin, telnet) yu cu truyn tr ti ton b 100% d liu cc ng dng (vd: in thoi Internet, tr chi tng tc) yu cu tr thp
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Thng lng mt s ng dng (vd: a phng tin) yu cu mt thng lng ti thiu lm vic hiu qu nhng ng dng khc (bittorrent) tn dng mi thng lng m n c th s dng Bo mt M ha, vn ton d liu,
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 15

Nhng yu cu ln tng vn chuyn ca mt s ng dng ph bin


ng dng Mt mt d liu Thng lng truyn ti tp e-mail dch v web phim/nhc thi gian thc phim/nhc lu tr tr chi tng tc nhn tin trc tip khng khng khng chp nhn chp nhn chp nhn khng tr thp khng khng khng c, 100s msec c, vi giy c, 100s msec va phi

linh hot linh hot linh hot nhc: 5kbps-1Mbps phim:10kbps-5Mbps nh trn vi kbps tr ln linh hot

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 16

Cc dch v tng truyn ti Internet


Dch v TCP:

Dch v UDP:

hng kt ni: yu cu to kt

ni gia khch v ch truyn ti tin cy: m bo truyn ti ng v d liu kim sot lu lng: ngi gi khng lm ngp ngi nhn kim sot tc nghn: hm tc gi khi mng b qu ti khng cung cp/m bo: tr, thng lng ti thiu, bo mt

truyn ti d liu khng tin cy (c th mt d liu) khng cung cp: thit lp kt ni, kim sot lu lng, kim sot tc nghn, tr, thng lng ti thiu, hoc bo mt

Hi: Ti sao li cn c UDP?

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 17

/d Internet v cc giao thc tng truyn ti


Giao thc tng ng dng SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (vd: Youtube), RTP [RFC 1889] SIP, RTP, s hu (vd: Skype) Giao thc tng truyn ti t/ng TCP TCP TCP TCP TCP or UDP ch yu UDP

ng dng e-mail truy cp t xa Web truyn ti tp xem phim trc tuyn in thoi Internet

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 18

Chng 2: Tng ng dng

2.1 Cc nguyn l ca tng ng dng 2.2 Web v HTTP 2.3 FTP 2.4 Th in t

SMTP, POP3, IMAP

2.6 ng dng P2P 2.7 Lp trnh Socket vi TCP 2.8 Lp trnh Socket vi UCP

2.5 DNS

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 19

Web v HTTP
Vi khi nim cn bn Trang Web cha nhiu i tng i tng c th l tp HTML, tp nh JPEG, vi m Java, tp m thanh, Trang web cha tp HTML chnh, tp ny s cha lin kt ti cc i tng khc Mi i tng c dn ng bi mt URL nh v ti nguyn ng dng v d URL: www.someschool.edu/someDept/pic.gif

tn min
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

ng dn
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 20

Tm lc HTTP
Giao thc truyn ti siu vn bn HTTP (hypertext transfer
protocol)

giao thc ng dng web m hnh khch/ch khch: trnh duyt web yu cu, nhn v trnh by cc i tng web ch: my ch Web gi tr cc i tng theo yu cu ca khch

PC chy Firefox

My ch chy dch v my ch Web Apache Mac chy Safari

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 21

Tm lc HTTP (tt)
S dng TCP:

khch khi to kt ni TCP (to hc kt ni) ti my ch ti cng 80 my ch chp nhn kt ni TCP t khch thng ip HTTP (thng ip giao thc tng ng dng) c trao i gia trnh duyt web (khch HTTP) v my ch Web (ch HTTP) ng kt ni TCP

HTTP l giao thc khng lu gi trng thi

my ch khng lu bt k thng tin no v ng/d hn na Nhng giao thc lu trng thi tng i phc tp lch s duyt web phi c lu gi nu my ch/khch b hng th thng tin v trng thi c th khng thng nht, cn phi cn chnh li
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 22

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Kt ni HTTP
HTTP khng n nh Gn nh mt i tng c gi qua MT kt ni TCP HTTP n nh Nhiu i tng c th c gi qua mt kt ni TCP duy nht gia khch v ch

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 23

HTTP khng n nh
ngi dng a vo URL sau
www.someSchool.edu/someDepartment/home.index
(cha vn bn, lin kt ti 10 hnh nh jpeg)

1a. khch HTTP khi to lin kt

TCP ti my ch HTTP (tin trnh) ti www.someSchool.edu cng 80

1b. my ch HTTP ti

2. khch HTTP gi thng ip

www.someSchool.edu ch kt ni TCP ti cng 80. chp nhn kt ni t khch, thng bo li cho khch

truy vn HTTP (cha URL) vo

hc kt ni TCP. Thng ip ch ra l khch mun c i tng someDepartment/home.index

3. my ch HTTP server nhn

thi gian
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

c thng ip truy vn, to ra mt thng ip phn hi cha i tng c yu cu, v gi thng ip vo hc kt ni


MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 24

HTTP khng n nh(tt)


4. my ch HTTP ng kt ni 5. khch HTTP nhn c thng
TCP.

time

ip phn hi cha tp html, hin th html. Phn tch tp html tm ra 10 lin kt ti cc i tng jpeg

6. cc bc 1-5 lp li cho mi
trong 10 i tng jpeg

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 25

HTTP khng n nh: thi gian phn hi


Thi gian xoay vng RTT:
l thi gian cn mt gi tin nh di chuyn t khch ti ch v quay tr li

Thi gian phn hi:

khi to kt niTCP

mt RTT khi to kt ni TCP mt RTT gi truy vn HTTP v vi byte u ca phn hi HTTP quay tr li thi gian truyn ti tp

RTT
yu cu tp tin RTT nhn c tp tin t t

t/g truyn tri tp tin

tng = 2RTT+ t/g truyn ti

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 26

HTTP n nh
Nhng vn ca HTTP khng n nh: yu cu 2 RTT cho mi i tng h iu hnh (HH OS) tng ti cho mi kt ni TCP trnh duyt thng m nhiu kt ni TCP song song ti nhng i tng lin kt HTTP n nh my ch gi li lin kt sau khi gi phn hi, gi l lin kt m nhng thng ip HTTP tip theo gia cp khch/ch s c gi qua lin kt m trn khch gi truy vn ngay khi n gp phi mt lin kt ti i tng ch cn 1 RTT cho tt c cc i tng c lin kt ti
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 27

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Thng ip truy vn HTTP

hai loi thng ip HTTP: truy vn (request), phn hi (response) thng ip truy vn HTTP:

ASCII (nh dng con ngi c c)

dng truy vn (cc cu lnh GET, POST, HEAD)

GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 cc dng Connection: close mo u Accept-language:fr
(du xung dng ph)
MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 28

Xung dng bo hiu kt thc thng ip


Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Thng ip truy vn HTTP: nh dng chung

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 29

Khung nhp d liu ti ln


Phng php POST: Trang web thng c nhng khung in d liu D liu vo c ti ln my ch trong phn thn (entity body) ca thng ip truy vn Phng php GET (URL): s dng phng php GET D liu vo c ti ln trc tip trong cc trng ca URL ca dng truy vn

www.somesite.com/animalsearch?monkeys&banana

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 30

Cc loi phng php


HTTP/1.0 GET POST HEAD

HTTP/1.1 GET, POST, HEAD PUT

i hi my ch t i tng c yu cu nm ngoi thng ip phn hi

ti tp tin trong phn thn ln ng dn c nu trong URL xa tp c nu trong URL

DELETE

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 31

Thng ip phn hi HTTP


dng trng thi (giao thc m trng thi cu trng thi) cc dng mo u

HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 ... Content-Length: 6821 Content-Type: text/html d liu ... d liu ...

d liu, vd: tp HTML c yu cu

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 32

Cc m trng thi ca thng ip phn hi HTTP


Nm trong dng u tin ca thng ip phn hi t ch->khch Mt vi m v d:
200 OK truy vn thnh cng, i tng theo sau trong thng ip ny 301 c di chuyn vnh vin - Moved permanently

i tng truy vn c di chuyn, v tr mi km theo sau trong thng ip ny (Location:) 400 Truy vn khng hp l - Bad Request

my ch khng hiu thng ip truy vn 404 Khng tm thy - Not Found

ti liu yu cu khng tm thy trn my ch ny 505 Phin bn HTTP khng c h tr -HTTP Version Not Supported

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 33

Th nghim HTTP (vi vai khch)


1. Telnet ti trang web yu thch:
telnet cis.poly.edu 80

M kt ni TCP ti cng 80 (cng mc nh ca my ch Web) ti cis.poly.edu. Tt c nhng g ta g vo u c gi ti cng 80 ti cis.poly.edu

2. G vo mt truy vn HTTP GET :


GET /~ross/ HTTP/1.1 Host: cis.poly.edu Bng cch ny (nhn vo nt Enter 2 ln), bn gi mt truy vn GET ti thiu (nhng y ) ti my ch HTTP

3. Xem xt thng ip phn hi m my ch HTTP gi tr li cho bn


Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 34

Trng thi ngi dng/my ch: cookies


Nhiu trang web ln s dng cookies Bn thnh phn:
1) dng mo u cookie ca thng ip phn hi HTTP 2) dng mo u cookie ca thng ip truy vn HTTP 3) tp tin cookie c lu trn my ngi dng v qun l bi trnh duyt 4) thng tin v phin lm vic ca ngi dng ng thi c lu ti CSDL ca trang web

V d: Bm lun lun truy cp Internet t my tnh c nhn u tin, lt mt trang thng mi in t khi truy vn HTTP u tin n trang web, trang web s to ra:

s nh danh (ID) c nht mt th ghi trong CSDL cho ID


MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 35

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Cookies: duy tr trng thi (tt)


khch
ebay 8734

ch
truy vn http phn hi http Set-cookie: 1678 truy vn http cookie: 1678

tp cookie
ebay 8734 amazon 1678

my ch Amazon to ra ID 1678 cho ng/d to

mc

1 tun sau:
ebay 8734 amazon 1678

phn hi http truy vn http cookie: 1678 phn hi http

hnh vi khi truy cp c cookie


truy cp

CSDL my ch

hnh vi khi c cookie


MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 36

Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011

Cookies (tt)
Cookies c th cha g? : thng tin y quyn gi mua sm trc tuyn trng thi phin lm vic ngi dng (Web e-mail) Cookies v s ring t: cookies cho php trang web tm hiu nhiu thng tin v bn bn c th cung cp tn v email cho cc web
hiu ng

Lm sao duy tr trng thi: cc u cui: lu trng thi ng/gi, ng/nhn qua nhng giao dch cookies: cc th/ip http mang cc t/tin trng thi
Trng i Hc Bch Khoa Tp.HCM Khoa Khoa Hc v K Thut My Tnh 2011 MNG MY TNH CN BN Bi ging 3 - Chng 2: Tng ng dng 37

You might also like