Lec_11_14
description
Transcript of Lec_11_14
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 1/31
TCP Congestion Control
Anthony D. Joseph
CS262a
November 14, 21
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 2/31
February 9, 2 CS 268 Lecture #7 2
Topi!s" #n$%to%en$ reliable transport layer
& #'ample( A)*
" +lo%!ontrol -not to$ay& /in$o% 0 rate%base$ !ontrol
& Avoi$ over%rnning re!eiver
" TCP !ongestion !ontrol& Share the netor 3airly
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 3/31
February 9, 2 CS 268 Lecture #7 3
Atomati! )epeat0re*est -A)*
" otivation( !ongestion03lo !ontrol intertine$ith reliable transport
" 5asis 3or most reliable transport s!hemes
" )elies on a!nole$gments -AC an$ timeots
" Sor!e sen$s pa!et" )e!eiver ACs ea!h pa!et
" 73 $ata or AC lost, timeot triggers an$
sor!e re%transmits" Simplest version( Stop%an$%/ait
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 4/31
February 9, 2 CS 268 Lecture #7 4
/hat i3 AC is Droppe$8
" )e!eiver might assemble $pli!ate3rames
" Solve problem ith se9en!e nmber" :o many bits8
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 5/31
February 9, 2 CS 268 Lecture #7 5
Alternating 5it Proto!olA 5
msg, ;
msg, ;1
msg, ;
a!, ;
a!, ;1
a!, ;
" 1%bit se9en!e nmber
" /hy is this ine33i!ient8
" Consi$er 1b0s lin,1ms path $elay, 1byte pa!ets
" Sen$ rate is only 1b0s<< 1b0s=
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 6/31
February 9, 2 CS 268 Lecture #7 6
Sli$ing /in$o" Pipelining( transmit ne't pa!et be3ore
!rrent one AC>$
" /in$o limits the amont o3 otstan$ing$ata
" :o big shol$ this in$o be8
" Ti!e ban$i$th%$elay pro$!t& eep the ?pipe@ 3ll
" Sel3ish= )eally only yor share o3 pipe
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 7/31
February 9, 2 CS 268 Lecture #7 7
Congestion Control
" oal is to 3ill pipe, bt hat i3resor!es !annot eep pa!e8
" Congestion is not solve$ ith& +aster lins
" 2' every 6 months, $eman$ 2' 0 6 months
& Barger 9ee b33ers& 5etter roting proto!ols
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 8/31
February 9, 2 CS 268 Lecture #7 8
Design Spa!e
" )oter verss host
" )eservations -proa!tive verssa$aptive -rea!tive
" /in$o%base$ verss rate%base$
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 9/31
February 9, 2 CS 268 Lecture #7 9
Congestion Avoi$an!e an$Control Paper Contribtions
" Seminal paper on !ongestion !ontrol 3or TCPan$ the 7nternet
" /i$ely !ite$, hge impa!t
" Slo%start -similar to Jain>s CT# algorithm
" Bots o3 ni!e intition
" Creative, intitive, an$ artisti! appli!ation o3theory to pra!ti!e
& 5t not 3lly rigoros
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 10/31
February 9, 2 CS 268 Lecture #7 10
otivation( :istory
" #'plosive groth in netors ⇒ !ongestion problems
" !t 1EF6( 7nternet has series o3?!ongestion !ollapses@& ?Collapse@ G in!rement in o33ere$ loa$
!ases $e!rement in per3orman!e" B5B0C5 throghpt $on by 1-H2 b0s to 4 b0s
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 11/31
February 9, 2 CS 268 Lecture #7 11
Collapse *estions
" /as 4.H5SD TCP mis%behaving8
" Col$ it be tne$ to or n$er s!hheavy netor loa$8
" ?Ies@ to both
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 12/31
February 9, 2 CS 268 Lecture #7 12
)eslts( ne algorithms in 5SD0TCP
" -1 )TT varian!e estimation -not Kst mean" -2 #'ponential timer ba!o33
" -H Slo%start
" -4 Aggressive re!eiver ACs -omitte$" -L Dynami! in$o a$aptation
" -6 arn>s !lampe$ retransmit ba!o33 -omitte$
" - 3ast retransmit -omitte$
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 13/31
February 9, 2 CS 268 Lecture #7 13
Theme( ?Conservation o3 Pa!ets@
" 7n e9ilibrim, $on>t intro$!e nepa!et ntil ol$ pa!et leaves system
" H ays 3or !onservation to 3ail(& Conne!tion $oesn>t rea!h e9ilibrim
& Sen$er inKe!ts ne pa!ets be3ore ol$
ones leave& Can>t rea!h e9ilibrim be!ase o3
resor!e limits
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 14/31
February 9, 2 CS 268 Lecture #7 14
Three e!hanisms
" -1 etting to e9ilibrim
" -2 Staying at e9ilibrim
" -H A$Ksting e9ilibrim point 3or$ynami! !ontention
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 15/31
February 9, 2 CS 268 Lecture #7 15
etting to #9ilibrim( Slo%Start
" Conservation easy to maintain ith?sel3%!lo!ing@& enerate a ne $ata pa!et 3or ea!h
re!eive$ AC
& 5t this maes the system har$ to start
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 16/31
February 9, 2 CS 268 Lecture #7 16
Soltion( slo%start
" Sbtle bt, simple algorithm
" 7ntro$!e !ongestion in$o, !n$, atsen$er
" pon start%p -or re%start a3ter pa!etloss, set !n$ to 1
" +or ea!h AC, in!rease !n$ by 1
" /hen sen$ing, sen$ min-!n$, n$ here?n$@ is re!eiver>s a$vertise$ in$o
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 17/31
February 9, 2 CS 268 Lecture #7 17
Slo%Start is Not Too Slo
" /in$o gros e'ponentially
" So time to get to in$o / -3rom 1 is) log
2 / 3or ron$%trip time )
" arantees that sor!e ill blast atmost ti!e the bottlene! rate& Peas o3 2' be3ore SS=
" Note( slo%start $oes NT obey thepa!et !onservation prin!iple=
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 18/31
February 9, 2 CS 268 Lecture #7 18
Staying at #9ilibrim( )TT
" 73 property -2 3rom above violate$,means ron$%trip timer 3aile$& Case$ retransmission be3ore last
pa!et le3t netor& )eal timer algorithms o3ten ina$e9ate
-see Mhang>s or
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 19/31
February 9, 2 CS 268 Lecture #7 19
Common istae
" Not estimating varian!e& ) , σ) in!rease ith loa$, ρ, in proportion to -1 % ρ%1
& +or L tiliOation, ) varies by a 3a!tor o3 16
" TCP spe! sai$ ) ← α ) -1 % α 4
& here α G .E an$ timeot vale o3 β), -β G 2
& bt β G 2 ors only p to H loa$...
& 7nstea$, s!ale β $ynami!ally in proportion to σ) " A!tally !ompte mean $eviation to mae !o$e simperQ see
appen$i'
& Note( improves lo%loa$ per3orman!e as ell -here β < 2
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 20/31
February 9, 2 CS 268 Lecture #7 20
A$Ksting #9ilibrim Point
3or Dynami! Contention" To !omponents o3 ?Congestion
Avoi$an!e@" -1 Netor mst signal en$points
" -2 #n$points mst rea!t to signal by
$e!reasing tiliOation
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 21/31
February 9, 2 CS 268 Lecture #7 21
:o to enerate Congestion Signal
" Congestion ⇐⇒ pa!et loss ⇐⇒ timeot ⇒ !ongestion signal
" No nee$ to !hange netor& nlie D#Cbit hi!h re9ires all roters
on path to be mo$i3ie$
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 22/31
February 9, 2 CS 268 Lecture #7 22
#n$point a!tion" *ee length average$ over )TT is Bi
" +or !onstant 9ee siOe -stea$y%state, Bi G N
" 5t, a!!or$ing to paper, n$er !ongestion(Bi G N γ Bi%1
& i.e., have to a$$ in remnant le3tover 3rom previos averaging
interval" Close$ 3orm is( Bi G γ nB " :en!e 9ee gros e'ponentially 3ast
" Ths, sen$er shol$ ba!%o33 e'ponentially 3ast bya$Ksting its in$o as 3ollos(/ i G $ / i%1 -$ < 1
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 23/31
February 9, 2 CS 268 Lecture #7 23
roing the /in$o
" /hile ba!o33 triggere$ by pa!et loss,ho $o e no hen there>s spare!apa!ity8
" Nothing tells s ⇒ e'periment ithspontaneos in!rease& se mltipli!ative in!rease8
" Bea$s to instabilities" #asy to $rive system into satration, bt har$ to
re!over -rsh%hor e33e!t
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 24/31
February 9, 2 CS 268 Lecture #7 24
roing the /in$o -!ontR$" ?/ithot Ksti3i!ation@ -see Jain an$
Chi, ?best@ in!rease poli!y is small,!onstant !hanges -a$$itive(
& / i G / i%1 - << / ma' , here / ma' is the?pipe siOe@
" 5orroe$ a$$itive in!rease 0
mltipli!ative $e!rease algorithm 3romJain et al, e'!ept 3or !hoi!e o3parameters -!laime$ niversal
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 25/31
February 9, 2 CS 268 Lecture #7 25
#asy 7mplementation
" n timeot, set !n$ to !rrentin$o
" n ea!h AC, in!rease !n$ by 10!n$" /hen sen$ing sen$ min-!n$, n$
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 26/31
February 9, 2 CS 268 Lecture #7 26
Slo%Start an$ Congestion Avoi$an!e
" To separate algorithms ith very $i33erentobKe!tives, bt they shol$ be implemente$together(& aintain variable ?ssthresh@, hi!h represents !rossover
point
& n timeot" Set ssthresh to 102 !rrent in$o -' $e!rease
" Set !n$ to 1 -initiate slo%start
& 7nitiate slo%start p to ssthresh
& 5eyon$ ssthresh, enter !ongestion avoi$an!e ?linear mo$e@
" Iiel$s impressive per3orman!e reslts
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 27/31
February 9, 2 CS 268 Lecture #7 27
+tre /or
" #n$points !an ensre that !apa!ity is not e'!ee$e$,bt !annot ne!essarily 3in$ a 3air operating point
" nly in gateays, here 3los !onverge, is thereenogh in3ormation to !ontrol sharing an$ 3airallo!ation -see Ja33e
" Some resear!h $ire!tions& Sen$ signal early -basis 3or +loy$>s )#D gateays
& Pnish misbehaving hosts by sen$ing $rop signal-+loy$0+all
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 28/31
February 9, 2 CS 268 Lecture #7 28
+ast )etransmit
" -mitte$ in paper" Silly to ait 3or timeot i3 e have a goo$ i$ea
pa!et as $roppe$& Dpli!ate AC means missing $ata
& aybe Kst reor$ere$, ait 3or H $p ACs
& )espon$ ith -3ast retransmit
& 5a!o33 by setting ssthresh to !n$02
& +ast re!overy( set !n$ to !n$02 -no slo%start
& 73 this $oesn>t or, in$o stalls an$ timeoteventally 3ires
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 29/31
February 9, 2 CS 268 Lecture #7 29
Dis!ssion
" Pipes getting larger, !onne!tions gettingsmaller -or staying 3i'e$..." /hat happens i3 3air share o3 ban$i$th is
less than one pa!et per )TT8
& Proposal 3or !ombine$ rate0in$o%base$!ongestion !ontrol
" All o3 this seems lie trial an$ error8& /here>s the theory8
" /hat i3 e !ol$ !hange the roters8& )#D, +*, real%time s!he$ling...
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 30/31
February 9, 2 CS 268 Lecture #7 30
Dis!ssion
" :o to $eal ith mali!ios sen$ers8& )oter%base$ !ontrols
" :o to $eal ith mali!ios re!eivers8
& Sen$er%si$e sanity !he!ing 0 se!rity& )oter%base$ !ontrols
7/18/2019 Lec_11_14
http://slidepdf.com/reader/full/lec1114 31/31
February 9 2 CS 268 Lecture #7 31
Tae Aays 0 )e!ap
" A$$itive in!rease 0 mltipli!ative$e!rease
" Slo%start bottlene! ?sear!halgorithm@
" Distribte$ 3airness son$s easy bt
har$ -Ja33e