Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | sangeetha-sangu-bc |
View: | 218 times |
Download: | 0 times |
of 27
8/17/2019 congestion.ppt
1/27
Spring 2002 CS 461 1
Congestion Control
Outline
Queuing Discipline
Reacting to Congestion
Avoiding Congestion
8/17/2019 congestion.ppt
2/27
Spring 2002 CS 461 2
Issues• To sides o! t"e sa#e coin
$ pre%allocate resources so at to avoid congestion
$ control congestion i! &and "en' is occurs
• To points o! i#ple#entation $ "osts at t"e edges o! t"e netor( &transport protocol'
$ routers inside t"e netor( &)ueuing discipline'
• *nderl+ing service #odel $ ,est%e!!ort &assu#e !or no'
$ #ultiple qualities of service &later'
Destinatio
1.5-Mbps T1 link
Router
8/17/2019 congestion.ppt
3/27
Spring 2002 CS 461 -
.ra#eor( • Connectionless !los
$ se)uence o! pac(ets sent ,eteen source/destination pair $ #aintain soft state at t"e routers
• Taono#+ $ router%centric versus "ost%centric
$ reservation%,ased versus !eed,ac(%,ased $ indo%,ased versus rate%,ased
Router
Source
2
Source
1
Source
3
Router
Router
Destinatio
2
Destinatio
1
8/17/2019 congestion.ppt
4/27
Spring 2002 CS 461 4
valuation
• .airness• oer &ratio o! t"roug"put to dela+'
Optimalload
Load
8/17/2019 congestion.ppt
5/27
Spring 2002 CS 461 3
Queuing Discipline
• .irst%In%.irst%Out &.I.O' $ does not discri#inate ,eteen tra!!ic sources
• .air Queuing &.Q' $ eplicitl+ segregates tra!!ic ,ased on !los
$ ensures no !lo captures #ore t"an its s"are o! capacit+
$ variation eig"ted !air )ueuing &5.Q'
• ro,le#Flo 1
Flo 2
Flo 3
Flo !
Round-robi
ser"ice
8/17/2019 congestion.ppt
6/27
Spring 2002 CS 461 6
.Q Algorit"#
• Suppose cloc( tic(s eac" ti#e a ,it is trans#itted
• 7et P i denote t"e lengt" o! pac(et i
• 7et S i denote t"e ti#e "en start to trans#it pac(et i
• 7et F i denote t"e ti#e "en !inis" trans#itting pac(et i
• F i 8 S i 9 P i
• 5"en does router start trans#itting pac(et i
$ i! ,e!ore router !inis"ed pac(et i % 1 !ro# t"is !lo: t"eni##ediatel+ a!ter last ,it o! i % 1 & F i-1'
$ i! no current pac(ets !or t"is !lo: t"en start trans#itting"en arrives &call t"is Ai'
• T"us F i 8 MAX & F i % 1: Ai' 9 P i
8/17/2019 congestion.ppt
7/27
Spring 2002 CS 461 ;
.Q Algorit"# &cont'
• .or #ultiple !los $ calculate F i !or eac" pac(et t"at arrives on eac" !lo
$ treat all F i
8/17/2019 congestion.ppt
8/27
Spring 2002 CS 461 >
TC Congestion Control
• Idea
$ assu#es ,est%e!!ort netor( &.I.O or .Q routers' eac"
source deter#ines netor( capacit+ !or itsel! $ uses i#plicit !eed,ac(
$ AC?s pace trans#ission & self-clocking '
• C"allenge
$ deter#ining t"e availa,le capacit+ in t"e !irst place
$ ad@usting to c"anges in t"e availa,le capacit+
8/17/2019 congestion.ppt
9/27
Spring 2002 CS 461
Additive Increase/Bultiplicative
Decrease• O,@ective ad@ust to c"anges in t"e availa,le capacit+• =e state varia,le per connection CongestionWindow
$ li#its "o #uc" data source "as in transit
MaxWin = MIN(CongestionWindow, AdvertisedWindow)
EffWin = MaxWin - (LastByteSent -LastByteA!ed)
• Idea $ increase CongestionWindow "en congestion goes don $ decrease CongestionWindow "en congestion goes up
8/17/2019 congestion.ppt
10/27
Spring 2002 CS 461 10
AIBD &cont'
• Question "o does t"e source deter#ine "et"er ornot t"e netor( is congested
• Anser a ti#eout occurs $ ti#eout signals t"at a pac(et as lost
$ pac(ets are seldo# lost due to trans#ission error
$ lost pac(et i#plies congestion
8/17/2019 congestion.ppt
11/27
Spring 2002 CS 461 11
AIBD &cont'
• In practice incre#ent a little !or eac" AC?
Inre"ent = (MSS # MSS)$CongestionWindow
CongestionWindow %= Inre"ent
• Algorit"#
$ incre#ent CongestionWindow ,+
one pac(et per RTT &linear increase'
$ divide CongestionWindow ,+ to
"enever a ti#eout occurs
&multiplicative decrease'
Source Destination
8/17/2019 congestion.ppt
12/27
Spring 2002 CS 461 12
AIBD &cont'
• Trace satoot" ,e"avior
)'
2'
1.' 2.' 3.' !.' 5.' ).' *.' &.' +.' Time #seconds$
*'
3'
!'
5'
1'
1'.'
8/17/2019 congestion.ppt
13/27
Spring 2002 CS 461 1-
Slo Start
• O,@ective deter#ine t"e availa,lecapacit+ in t"e !irst
• Idea
$ ,egin it" CongestionWindow 8 1 pac(et
$ dou,le CongestionWindow eac" RTT&incre#ent ,+ 1 pac(et !or eac" AC?'
Source Destination
8/17/2019 congestion.ppt
14/27
Spring 2002 CS 461 14
Slo Start &cont'• ponential grot": ,ut sloer t"an all at once
• *sed $ "en !irst starting connection
$ "en connection goes dead aiting !or ti#eout
• Trace
• ro,le# lose up to "al! a CongestionWindow
8/17/2019 congestion.ppt
15/27
Spring 2002 CS 461 13
.ast Retrans#it and .ast Recover+
• ro,le# coarse%grain TC
ti#eouts lead to idle periods
• .ast retrans#it use
duplicate AC?s to triggerretrans#ission
,acket 1
,acket 2
,acket 3
,acket !
,acket 5
,acket )
Retransmitpacket 3
/ 1
/ 2
/ 2
/ 2
/ )
/ 2
Sender Recei"er
8/17/2019 congestion.ppt
16/27
Spring 2002 CS 461 16
Results
• .ast recover+ $ s(ip t"e slo start p"ase
$ go directl+ to "al! t"e last success!ulCongestionWindow (sst&res&)
)'
2'
1.' 2.' 3.' !.' 5.' ).' *.'
Time #seconds$
*'
3'
!'
5'
1'
8/17/2019 congestion.ppt
17/27
Spring 2002 CS 461 1;
Congestion Avoidance
• TC
8/17/2019 congestion.ppt
18/27
Spring 2002 CS 461 1>
DC,it• Add ,inar+ congestion ,it to eac" pac(et "eader
• Router $ #onitors average )ueue lengt" over last ,us+9idle c+cle
$ set congestion ,it i! average )ueue lengt" F 1 $ atte#pts to ,alance t"roug"out against dela+
0ueue len(t1
.urrenttime
Tim.urrent
c2cle
,re"ious
c2cle-"era(in(inter"al
8/17/2019 congestion.ppt
19/27
Spring 2002 CS 461 1
nd Gosts
• Destination ec"oes ,it ,ac( to source
• Source records "o #an+ pac(ets resulted in set ,it
• I! less t"an 30H o! last indo
8/17/2019 congestion.ppt
20/27
Spring 2002 CS 461 20
Rando# arl+ Detection &RD'
• =oti!ication is i#plicit $
@ust drop t"e pac(et &TC ill ti#eout' $ could #a(e eplicit ,+ #ar(ing t"e pac(et
• arl+ rando# drop $ rat"er t"an ait !or )ueue to ,eco#e !ull: drop eac"
arriving pac(et it" so#e drop probability "enevert"e )ueue lengt" eceeds so#e drop level
8/17/2019 congestion.ppt
21/27
Spring 2002 CS 461 21
RD Details
• Co#pute average )ueue lengt" AvgLen = (' - Weig&t) # AvgLen %
Weig&t # Sa"eLen
0 J Weig&t J 1 &usuall+ 0002'
Sa"eLen is )ueue lengt" eac" ti#e a pac(et arrivesMaTresold MinTresold
"(Len
8/17/2019 congestion.ppt
22/27
Spring 2002 CS 461 22
RD Details &cont'
• To )ueue lengt" t"res"olds
if AvgLen *= Min+&res&od t&en
enee t&e a!et
if Min+&res&od * AvgLen * Max+&res&od t&en
aate ro.a.iity /
dro arriving a!et wit& ro.a.iity /
if Man+&res&od *= AvgLen t&endro arriving a!et
8/17/2019 congestion.ppt
23/27
Spring 2002 CS 461 2-
RD Details &cont'
• Co#puting pro,a,ilit+
+e"/ = Max/ # (AvgLen - Min+&res&od)$(Max+&res&od - Min+&res&od)
/ = +e"/$(' - ont # +e"/)
• Drop ro,a,ilit+ Curve,#drop$
1.'
Ma,
MinTres MaTres
"(Len
8/17/2019 congestion.ppt
24/27
Spring 2002 CS 461 24
Tuning RD• ro,a,ilit+ o! dropping a particular !lo
8/17/2019 congestion.ppt
25/27
Spring 2002 CS 461 23
TC Eegas• Idea source atc"es !or so#e sign t"at router
8/17/2019 congestion.ppt
26/27
Spring 2002 CS 461 26
Algorit"#•
7etBase0++
,e t"e #ini#u# o! all #easured RTTs &co##onl+ t"eRTT o! t"e !irst pac(et'• I! not over!loing t"e connection: t"en
Exet0ate = CongestionWindow$Base0++
• Source calculates sending rate & Ata0ate' once per RTT
• Source co#pares Ata0ate it" Exet0ate
1iff = Exeted0ate - Ata0ate
if 1iff *
inrease CongestionWindow ineary
ese if 1iff 2
derease CongestionWindow ineary
ese
eave CongestionWindow n&anged
8/17/2019 congestion.ppt
27/27
Spring 2002 CS 461 2;
Algorit"# &cont'
• ara#eters − 8 1 pac(et
− 8 - pac(ets
• ven !aster retrans#it $ (eep !ine%grained ti#esta#ps !or eac" pac(et
$ c"ec( !or ti#eout on !irst duplicate AC?
*')'5'!'3'2'1'
Time #seconds$
'.5 1.' 1.5 2.' 2.5 3.' 3.5 !.' !.5 5.' 5.5 ).' ).5 *.' *.5 &.'
'.5 1.' 1.5 2.' 2.5 3.' 3.5 !.' !.5 5.' 5.5 ).' ).5 *.' *.5 &.'
2!'
2''
1)'
12'
&'
!'
Time #seconds$