+ All Categories
Home > Documents > congestion.ppt

congestion.ppt

Date post: 06-Jul-2018
Category:
Upload: sangeetha-sangu-bc
View: 218 times
Download: 0 times
Share this document with a friend

of 27

Transcript
  • 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$