Lec_11_14

31
7/18/2019 Lec_11_14 http://slidepdf.com/reader/full/lec1114 1/31 TCP Congestion Control Anthony D. Joseph CS262a November 14, 21

description

lec55

Transcript of Lec_11_14

Page 1: 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

Page 2: Lec_11_14

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

Page 3: Lec_11_14

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

Page 4: Lec_11_14

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

Page 5: Lec_11_14

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=

Page 6: Lec_11_14

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

Page 7: Lec_11_14

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

Page 8: Lec_11_14

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$

Page 9: Lec_11_14

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

Page 10: Lec_11_14

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

Page 11: Lec_11_14

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

Page 12: Lec_11_14

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$

Page 13: Lec_11_14

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

Page 14: Lec_11_14

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

Page 15: Lec_11_14

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

Page 16: Lec_11_14

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

Page 17: Lec_11_14

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=

Page 18: Lec_11_14

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

Page 19: Lec_11_14

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

Page 20: Lec_11_14

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

Page 21: Lec_11_14

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$

Page 22: Lec_11_14

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

Page 23: Lec_11_14

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

Page 24: Lec_11_14

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

Page 25: Lec_11_14

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$

Page 26: Lec_11_14

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

Page 27: Lec_11_14

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

Page 28: Lec_11_14

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

Page 29: Lec_11_14

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...

Page 30: Lec_11_14

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

Page 31: Lec_11_14

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