Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Chng 6:

Tng giao vn

Tng quan
3 tun trc : Giao thc IP
a ch, gi tin IP ICMP Chn ng

Hm nay: Tng giao vn


Nguyn l tng giao vn Giao thc UDP Giao thc TCP
2

Cc khi nim c bn
Nhc li kin trc phn tng Hng lin kt vs. Khng lin kt UDP & TCP

Nhc li v kin trc phn tng


Application
(HTTP, Mail, ) H tr cc ng dng trn mng

Transport
(UDP, TCP )

Truyn d liu gia cc ng dng

Network
(IP, ICMP)

Chn ng v chuyn tip gi tin gia cc my, cc mng H tr vic truyn thng cho cc thnh phn k tip trn cng 1 mng Truyn v nhn dng bit trn ng truyn vt l
4

Datalink
(Ethernet, ADSL)

Physical
(bits)

Tng quan v tng giao vn (1)


Cung cp phng tin truyn gia cc ng dng cui Bn gi:
Nhn d liu t ng dng t d liu vo cc on tin v chuyn cho tng mng Nu d liu qu ln, n s c chia lm nhiu phn v t vo nhiu on tin khc nhau
application transport network data link physical

l ca gi lo d en den rt po ns tra
application transport network data link physical

Bn nhn:
Nhn cc on tin t tng mng Tp hp d liu v chuyn ln cho ng dng

Tng quan v tng giao vn (2)


c ci t trn cc h thng cui
Khng ci t trn cc routers, switches
application transport network data link physical network data link physical

l ca gi lo

network data link physical

Hai dng dch v giao vn


Tin cy, hng lin kt, e.g TCP Khng tin cy, khng lin kt, e.g. UDP

network data link physicalnetwork

network data link physical

d en den

data link physical

rt po ns tra
network data link physical application transport network data link physical 6

Ti sao li cn 2 loi dch v?


Cc yu cu n t tng ng dng l a dng Cc ng dng cn dch v vi 100% tin cy nh mail, web
S dng dch v ca TCP

Cc ng dng cn chuyn d liu nhanh, c kh nng chu li, e.g. VoIP, Video Streaming
S dng dch v ca UDP

ng dng v dch v giao vn


ng dng e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Giao thc ng dng SMTP Telnet HTTP FTP giao thc ring (e.g. RealNetworks) giao thc ring (e.g., Vonage,Dialpad) Giao thc giao vn TCP TCP TCP TCP TCP or UDP

thng l UDP

Cc chc nng chung


Dn knh/phn knh M kim sot li

Dn knh/phn knh - Mux/Demux

Giao thc
HTTP FTP Chat

ng dng Giao thc giao vn

HTTP

FTP

Chat

Multiplexing

Demultiplexing

Giao thc tng mng


10

Mux/Demux hot ng ntn?


Ti tng mng, gi tin IP c nh danh bi a ch IP
xc nh my trm
32 bits source port # dest port #

Lm th no phn bit cc ng dng trn cng mt my?


S dng s hiu cng (16 bits) Mi tin trnh ng dng c gn 1 cng

other header fields

application data (message)

Socket: Mt cp a ch IP v s hiu cng

TCP/UDP segment format


11

Checksum
Pht hin li bit trong cc on tin/gi tin Nguyn l ging nh checksum (16 bits) ca giao thc IP V d:

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 Tng Checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
12

UDP User Datagram Protocol


Tng quan Khun dng gi tin

13

Giao thc dng Best effort


V sao cn UDP?
Khng cn thit lp lin kt (tng tr) n gin: Khng cn lu li trng thi lin kt bn gi v bn nhn Phn u on tin nh Khng c qun l tc nghn: UDP c gi d liu nhanh nht, nhiu nht nu c th

UDP c nhng chc nng c bn g?


Dn knh/phn knh Pht hin li bit bng checksum

14

Khun dng bc tin (datagram)


UDP s dng n v d liu gi l datagram (bc tin)
di ton b bc tin tnh theo byte 32 bits source port # length dest port # checksum

Application data (message) Khun dng n v d liu ca UDP

15

Cc vn ca UDP
Khng c kim sot tc nghn
Lm Internet b qu ti

Khng bo m c tin cy
Cc ng dng phi ci t c ch t kim sot tin cy Vic pht trin ng dng s phc tp hn

16

Khi nim v truyn thng tin cy

17

Knh c li bit, khng b mt tin


Pht hin li?
Checksum

Lm th no bo cho bn gi?
ACK (acknowledgements): NAK (negative acknowledgements): tell sender that pkt has error

Phn ng ca bn gi?
Truyn li nu l NAK
18

Hot ng
Sender Receiver
send pkt0

pkt0

A CK
rcv ACK send pkt1

pkt1 is OK

pkt1

NA K
rcv NAK resend pkt1

pkt1 is corrupted

pkt1

Time

Time
19

Li ACK/NAK
Cn truyn li X l vic lp gi send pkt0 tin ntn? Thm Seq.#
Sender Receiver

pkt0

A CK
pkt1

pkt0 is OK

rcv ACK send pkt1

A CK
rcv sth corrupted! resend pkt1

pkt1 is OK

pkt1

rcv pkt1 duplicate,

Time

discard it Time

20

10

Gii php khng dng NAK


Sender Receiver

send pkt0

pkt0

A CK 0

pkt0 is OK

rcv ACK0 send pkt1

pkt1

A CK 1

pkt1 is OK

rcv ACK1 send pkt0

pkt0

A CK 1

pkt0 is corrupted

rcv ACK1 resend pkt0

pkt0

Time

Time

21

Knh c li bit v mt gi tin


D liu v ACK c th b mt
Nu khng nhn c ACK? Truyn li nh th no? Timeout!

Thi gian ch l bao lu?


t nht l 1 RTT (Round Trip Time) Mi gi tin gi i cn 1 timer

Nu gi tin vn n ch v ACK b mt?


Dng s hiu gi tin
22

11

Minh ha

23

Minh ha

24

12

Truyn theo kiu pipeline


1 data pkt

Data pkts

Sender

Receiver

Sender

Receiver

ACK

ACKs

25

So snh hiu qu
stop-and-wait
sender 0 L/R L/R sender

Pipeline
receiver

RTT
ACK

RTT

RTT + L / R

RTT + L / R

time L: R: RTT: Size of data pkt Link bandwidth Round trip time

time time time

Performance = L/R RTT + L / R

3*L/R RTT + L / R
26

Performance =

13

TCP Transmission Control Protocol


Cu trc on tin TCP Qun l lin kt Kim sot lung Kim sot tc nghn

27

Tng quan v TCP


Giao thc hng lin kt
Bt tay ba bc

Giao thc truyn d liu theo dng byte, tin cy


S dng vng m

Truyn theo kiu pipeline


Tng hiu qu

Kim sot lung


Bn gi khng lm qu ti bn nhn (thc t: qu ti)

Kim sot tc nghn


Vic truyn d liu khng nn lm tc nghn mng (thc t: lun c tc nghn)

28

14

Khun dng on tin - TCP segment


32 bits URG: D liu khn ACK: ACK # PSH: Chuyn d liu ngay RST, SYN, FIN: K hiu cho cc gi tin c bit

source port #

dest port #

sequence number acknowledgement number


head not UAP R S F len used

- Dng truyn d liu tin cy - Tnh theo bytes

Receive window Urg data pnter

checksum

Options (variable length)

-S lng bytes c th nhn - iu khin lung

application data (variable length)

29

TCP cung cp dch v tin cy ntn?


Kim sot d liu c nhn cha:
Seq. # Ack

Chu trnh lm vic ca TCP:


Thit lp lin kt
Bt tay ba bc

Truyn/nhn d liu ng lin kt


30

15

C ch bo nhn trong TCP


Seq. #: S hiu ca byte u tin ca on tin trong dng d liu ACK: S hiu byte u tin mong mun nhn t i tc
Host A
User types C
Seq=4 2, AC K

Host B
=79, d ata

= C

3, CK=4 79, A Seq=

= C data

host ACKs receipt of C, echoes back C

host ACKs receipt of echoed C

Seq=4

3, A C K

=80

time simple telnet scenario


31

Thit lp lin kt TCP : Giao thc bt tay 3 bc


Bc 1: A gi SYN cho B
A B

ch ra gi tr khi to seq # ca A khng c d liu

SYN

Bc 2: B nhn SYN, tr li bng SYNACK


ACK/SYN

ACK

B khi to vng m ch ra gi tr khi to seq. # ca B

Bc 3: A nhn SYNACK, tr li ACK, c th km theo d liu


32

16

V d v vic ng lin kt
Bc 1: Gi FIN cho B Bc 2: B nhn c FIN, tr closing li ACK, ng thi ng lin kt v gi FIN. Bc 3: A nhn FIN, tr li ACK, vo trng thi ch. Bc 4: B nhn ACK. ng lin kt.
timed wait

FIN

ACK FIN

closing

Lu : C hai bn u c th ch ng ng lin kt

A CK

closed

closed
33

Chu trnh sng ca TCP (n gin ha)


Client application Initiates a TCP connection Server application Creates a listen socket

CLOSED
Wait 30 sec. Send SYN Receive ACK Send nothing

CLOSED

TIME_WAIT

SYN_SENT
Receive SYN/ACK Send ACK

LAST_ACK

LISTEN
Receive SYN Send SYN/ACK

Receive FIN Send ACK

Send FIN

FIN_WAIT_2

ESTABLISHED

CLOSE_WAIT

SYN_RCVD

Receive ACK Send nothing

Send FIN

FIN_WAIT_1
Client application Initiates close connection

Receive FIN Send ACK

ESTABLISHED

Receive ACK Send nothing

34

17

Kim sot lung

35

Kim sot lung (1)


A B A B

Chm

Qu ti
36

18

Kim sot lung (2)


iu khin lng d liu c gi i
Bo m rng hiu qu l tt Khng lm qu ti cc bn

Cc bn s c ca s kim sot
Rwnd: Ca s nhn CWnd: Ca s kim sot tc nghn

Lng d liu gi i phi nh hn min(Rwnd, Cwnd)

37

Kim sot lung trong TCP

Kch thc vng m trng


= Rwnd = RcvBuffer-[LastByteRcvd - LastByteRead]

38

19

Trao i thng tin v Rwnd


A B

Bn nhn s bo cho bn gi bit Rwnd trong


cc on tin

data

ACK

100) (rwnd =
data

Bn gi t kch thc ca s gi theo


Rwnd

39

iu khin tc nghn trong TCP

40

20

Tng quan v tc nghn


Khi no tc nghn xy ra ?
Qu nhiu cp gi-nhn trn mng Truyn qu nhiu lm cho mng qu ti

Hu qu ca vic nghn mng


Mt gi tin Thng lng gim, tr tng Tnh trng ca mng s tr nn ti t hn.
Congestion occur

41

Nguyn l kim sot tc nghn


Slow-start
Tng tc theo hm s m Tip tc tng n mt ngng no
cwnd
20 18 16 14 12 10 8 6 4 2 42

Trnh tc nghn
Tng dn tc theo hm tuyn tnh cho n khi pht hin tc nghn

Threshold=16

SS

Pht hin tc nghn


Nu gi tin b mt

21

TCP Slow Start (1)


tng c bn
t cwnd bng 1 MSS (Maximum segment size) Tng cwnd ln gp i Khi nhn c ACK Bt u chm, nhng tng theo hm m

Tng cho n mt ngng: ssthresh


Sau , TCP chuyn sang trng thi trnh tc nghn

43

TCP Slow Start (2)


Host A
RTT

Host B
one segm ent

two segm ents

four segm

ents

time
44

22

Trnh tc nghn - Congestion avoidance


tng c bn Tng cwnd theo cp s cng sau khi n t ti ssthresh Khi bn gi nhn c ACK
Tng cwnd thm 1 MSS
Host A
RTT

Host B
one segm ent

two segm ents

three segm

ents

time
45

Phn ng ca TCP (1)


Gim tc gi Pht hin tc nghn?
Nu nh phi truyn li
C th suy ra l mng tc nghn

Khi no th phi truyn li?


Timeout! Cng mt gi tin s hiu gi tin trong ACK

46

23

Phn ng ca TCP (2)


Khi c timeout ca bn gi
TCP t ngng xung cn mt na gi tr hin ti ca cwnd TCP t cwnd v 1 MSS TCP chuyn v slow start

Nu nhn c 3 ACK ging nhau


TCP t ngng xung cn mt na gi tr hin ti ca cwnd TCP t cwnd v gi tr hin ti ca ngng c TCP chuyn trng thi congestion avoidance
47

Kim sot tc nghn minh ha


cwnd

22

Timeout
20 18 16 14

Threshold=16

Threshold is set to half of cwnd (20) And slow start starts 3 ACKs

12 10

SS AI

Threshold=10 SS AI

Threshold is set to half of cwnd (12) And additive increase starts Threshold=6 AI

8 6 4 2

Step
48

24

Tng kt
Cn rt nhiu chi tit v TCP! C hai dng giao thc giao vn
UDP v TCP Best effort vs. reliable transport protocol

Cc c ch bo m tin cy
Bo nhn Truyn li Kim sot lung v kim sot tc nghn
49

Tun ti: Application Layer


Application service model
Client-server vs. P2P

Typical applications and protocols


HTTP Mail FTP P2P file sharing and your applications?
50

25

Acknowledgment
Bi ging c s dng cc hnh v t
Ti liu ca trng i hc Keio v Ritsumekan Ti liu Computer Network, a top down approach ca J.F Kurose v K.W. Ross

51

26

You might also like