SlideShare a Scribd company logo
1 of 64
Congestion Avoidance!
            and Control


21 August 2009
   CS5229 Semester 1 2009/10
   1
Van Jacobson,
          “Congestion Avoidance
               and Control”, "
             SIGCOMM 1988

21 August 2009
   CS5229 Semester 1 2009/10
   2
Fixes to TCP in BSD"
     Handwaving arguments"
     Less rigorous math"
     Lots of “magical” hacks

21 August 2009
   CS5229 Semester 1 2009/10
   3
We assume "
     - the sender always has data to send"
     - each packet is of the same size"
     - TCP is message-oriented 


21 August 2009
   CS5229 Semester 1 2009/10
   4
1986

21 August 2009
   CS5229 Semester 1 2009/10
   6
TCP throughput from LBL to UC
     Berkeley (two hops) dropped from
     32K bps to 40 bps.


21 August 2009
   CS5229 Semester 1 2009/10
   7
RFC793

21 August 2009
    CS5229 Semester 1 2009/10
   8
Sending window = receiving
      window"

      No congestion control"

      Retransmit only when timeout

21 August 2009
   CS5229 Semester 1 2009/10
   9
Congestion Collapse: "
 sender sends too fast"
 routers delay/drop packets"
 sender retransmit"
 no useful data getting through 

21 August 2009
   CS5229 Semester 1 2009/10
   10
                                               10
21 August 2009
   CS5229 Semester 1 2009/10
   11
                                               11
Observation: a TCP connection should obey"

                  Conservation !
                      of !
                    Packets
21 August 2009
       CS5229 Semester 1 2009/10
   12
                                                   12
In equilibrium state, a new
       packet is not inserted until an
            old packet leaves.


21 August 2009
   CS5229 Semester 1 2009/10
   13
                                               13
21 August 2009
   CS5229 Semester 1 2009/10
   14
                                               14
How could this principle
              be violated?


21 August 2009
   CS5229 Semester 1 2009/10
   15
                                               15
1. Never reaches
                     equilibrium


21 August 2009
       CS5229 Semester 1 2009/10
   16
                                                   16
2. Inject a packet before
          the next packet leaves


21 August 2009
   CS5229 Semester 1 2009/10
   17
                                               17
1. Getting to the
                  equilibrium state


21 August 2009
        CS5229 Semester 1 2009/10
   18
                                                    18
Equilibrium state: "
                    self-clocking


21 August 2009
        CS5229 Semester 1 2009/10
   19
                                                    19
21 August 2009
   CS5229 Semester 1 2009/10
   20
                                               20
How to start the ‘clock’?


21 August 2009
   CS5229 Semester 1 2009/10
   21
                                               21
Slow Start


21 August 2009
    CS5229 Semester 1 2009/10
   22
                                                22
Add a new variable cwnd."
     Start/Restart: cwnd = 1."
     Upon receiving ACK, cwnd++."
     Send at most min(cwnd,rwin) 

21 August 2009
   CS5229 Semester 1 2009/10
   23
                                               23
21 August 2009
   CS5229 Semester 1 2009/10
   24
                                               24
Never send more than 2x
       the max possible rate."

                  (previously 200x is possible!)


21 August 2009
            CS5229 Semester 1 2009/10
   25
                                                        25
21 August 2009
   CS5229 Semester 1 2009/10
   26
                                               26
2. Inject a packet before
          the next packet leaves


21 August 2009
   CS5229 Semester 1 2009/10
   27
                                               27
2. Conservation at
                      Equilibrium


21 August 2009
        CS5229 Semester 1 2009/10
   28
                                                    28
Something’s wrong with
             TCP timer


21 August 2009
   CS5229 Semester 1 2009/10
   29
                                               29
21 August 2009
   CS5229 Semester 1 2009/10
   30
                                               30
TCP (RFC793)




                    Ri : smoothed RTT
                    Mi : measured RTT
                    RTO : timeout value
21 August 2009
      CS5229 Semester 1 2009/10
   31
                                                  31
Variation in RTT when
                    network is loaded


21 August 2009
          CS5229 Semester 1 2009/10
   32
                                                      32
β = 2 (recommended)
         tolerates only 30% load


21 August 2009
   CS5229 Semester 1 2009/10
   33
                                               33
Idea: estimate the variation
   and use in calculating RTO


21 August 2009
   CS5229 Semester 1 2009/10
   34
                                               34
Measuring Variation"

 variance: "
    costly (need to square)"
 mean error:"
    simpler
21 August 2009
   CS5229 Semester 1 2009/10
   35
                                               35
21 August 2009
   CS5229 Semester 1 2009/10
   36
                                               36
21 August 2009
   CS5229 Semester 1 2009/10
   38
                                               38
21 August 2009
   CS5229 Semester 1 2009/10
   39
                                               39
To prevent spurious timeout,




21 August 2009
   CS5229 Semester 1 2009/10
   40
                                               40
To pick a value of k,
                  consider bandwidth-
                    dominated link. 

21 August 2009
         CS5229 Semester 1 2009/10
   41
                                                     41
21 August 2009
   CS5229 Semester 1 2009/10
   42
                                               42
R doubles each round
               during slow-start. 


21 August 2009
     CS5229 Semester 1 2009/10
   43
                                                 43
21 August 2009
   CS5229 Semester 1 2009/10
   44
                                               44
21 August 2009
   CS5229 Semester 1 2009/10
   45
                                               45
21 August 2009
   CS5229 Semester 1 2009/10
   46
                                               46
21 August 2009
   CS5229 Semester 1 2009/10
   47
                                               47
3. Moving towards new
           equilibrium when path
                  changes 

21 August 2009
   CS5229 Semester 1 2009/10
   48
                                               48
Idea: adjust cwnd when
           congestion happens


21 August 2009
   CS5229 Semester 1 2009/10
   49
                                               49
Assume: congestion leads
    to packet loss, leads to
           timeout.

21 August 2009
   CS5229 Semester 1 2009/10
   50
                                               50
On timeout, cwnd /= 2"
     On ACK, cwnd += 1/cwnd


21 August 2009
   CS5229 Semester 1 2009/10
   51
                                               51
Why drop by half ?"
     1. Slow-start: "
           
 
we know R/2 works"
     2. Steady state:"
           
 
a new flow probably?
21 August 2009
    CS5229 Semester 1 2009/10
   52
                                                52
Combining "
                  slow-start "
                     and "
             congestion avoidance

21 August 2009
    CS5229 Semester 1 2009/10
   53
                                                53
TCP Tahoe

21 August 2009
     CS5229 Semester 1 2009/10
   54
                                                 54
21 August 2009
   CS5229 Semester 1 2009/10
   55
                                               55
21 August 2009
   CS5229 Semester 1 2009/10
   56
                                               56
cwnd: "
   
“pipe size” probed"

  ssthresh: "
   
“pipe size” during equilibrium
21 August 2009
   CS5229 Semester 1 2009/10
   57
                                               57
new ack:"
  if (cwnd < ssthresh)"
     cwnd += 1"
  else"
     cwnd += 1/cwnd
21 August 2009
   CS5229 Semester 1 2009/10
   58
                                               58
timeout/3rd dup ack:"
  retransmit all unacked"
  ssthresh = cwnd/2"
  cwnd = 1"

21 August 2009
   CS5229 Semester 1 2009/10
   59
                                               59
Improving TCP Tahoe:"

  Packets still getting through in
  dup ack -- no need to reset the
  clock!

21 August 2009
   CS5229 Semester 1 2009/10
   60
                                               60
TCP Reno

21 August 2009
     CS5229 Semester 1 2009/10
   61
                                                 61
timeout:"
  retransmit all unacked"
  ssthresh = cwnd/2"
  cwnd = 1"

21 August 2009
   CS5229 Semester 1 2009/10
   71
                                               71
3rd  duplicate ACK:!
  fast retransmission!
   (ie, retransmit 1st unack) "

  fast recovery"
   (details in Week 4)"
  ssthresh = cwnd = cwnd/2
21 August 2009
   CS5229 Semester 1 2009/10
   72
                                               72
21 August 2009
   CS5229 Semester 1 2009/10
   73
                                               73
AIMD!
                    additive increase!
                  multiplicative decrease


21 August 2009
          CS5229 Semester 1 2009/10
   74
                                                      74
Chiu and Jain, “Analysis of
         Increase and Decrease
        Algorithms for Congestion
         Avoidance in Computer
        Networks”, Comp. Net. &
             ISDN Sys. 1989
21 August 2009
   CS5229 Semester 1 2009/10
   80
                                               80

More Related Content

Viewers also liked

Congestion control
Congestion controlCongestion control
Congestion controlAbhay Pai
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion controlShubham Jain
 
Congetion Control.pptx
Congetion Control.pptxCongetion Control.pptx
Congetion Control.pptxNaveen Dubey
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Congestion on computer network
Congestion on computer networkCongestion on computer network
Congestion on computer networkDisi Dc
 
Leaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingLeaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingVimal Dewangan
 

Viewers also liked (8)

Congestion control
Congestion controlCongestion control
Congestion control
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion control
 
Congetion Control.pptx
Congetion Control.pptxCongetion Control.pptx
Congetion Control.pptx
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
Congestion control avoidance
Congestion control avoidanceCongestion control avoidance
Congestion control avoidance
 
Congestion on computer network
Congestion on computer networkCongestion on computer network
Congestion on computer network
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
 
Leaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingLeaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shaping
 

More from Wei Tsang Ooi

SIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business MeetingSIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business MeetingWei Tsang Ooi
 
The Computer Science behind YouTube
The Computer Science behind YouTubeThe Computer Science behind YouTube
The Computer Science behind YouTubeWei Tsang Ooi
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesWei Tsang Ooi
 
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game TrafficCS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game TrafficWei Tsang Ooi
 
CS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid ArchitectureCS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid ArchitectureWei Tsang Ooi
 
CS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest ManagementCS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest ManagementWei Tsang Ooi
 
CS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P SynchronizationCS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P SynchronizationWei Tsang Ooi
 
Cs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest ManagementCs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest ManagementWei Tsang Ooi
 
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception FilterCS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception FilterWei Tsang Ooi
 
CS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: ConsistencyCS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: ConsistencyWei Tsang Ooi
 
CS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: IntroductionCS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: IntroductionWei Tsang Ooi
 
CS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNSCS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNSWei Tsang Ooi
 
CS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet RoutingCS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet RoutingWei Tsang Ooi
 
CS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet DynamicsCS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet DynamicsWei Tsang Ooi
 
CS5229 09/10 Lecture 6: Simulation
CS5229 09/10 Lecture 6: SimulationCS5229 09/10 Lecture 6: Simulation
CS5229 09/10 Lecture 6: SimulationWei Tsang Ooi
 
Lecture 0: Introduction to CS5229
Lecture 0: Introduction to CS5229Lecture 0: Introduction to CS5229
Lecture 0: Introduction to CS5229Wei Tsang Ooi
 
Lecture 1: Design Principles of the Internet
Lecture 1: Design Principles of the InternetLecture 1: Design Principles of the Internet
Lecture 1: Design Principles of the InternetWei Tsang Ooi
 
CS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid ArchitectureCS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid ArchitectureWei Tsang Ooi
 
CS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player DynamicsCS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player DynamicsWei Tsang Ooi
 

More from Wei Tsang Ooi (20)

SIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business MeetingSIGMM Education Effort Presentation at Business Meeting
SIGMM Education Effort Presentation at Business Meeting
 
CS2106 Tutorial 2
CS2106 Tutorial 2CS2106 Tutorial 2
CS2106 Tutorial 2
 
The Computer Science behind YouTube
The Computer Science behind YouTubeThe Computer Science behind YouTube
The Computer Science behind YouTube
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
 
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game TrafficCS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
CS4344 09/10 Lecture 9: Characteristics of Networked Game Traffic
 
CS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid ArchitectureCS4344 09/10 Lecture 8: Hybrid Architecture
CS4344 09/10 Lecture 8: Hybrid Architecture
 
CS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest ManagementCS4344 09/10 Lecture 7: P2P Interest Management
CS4344 09/10 Lecture 7: P2P Interest Management
 
CS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P SynchronizationCS4344 09/10 Lecture 6: P2P Synchronization
CS4344 09/10 Lecture 6: P2P Synchronization
 
Cs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest ManagementCs4344 09/10 Lecture 5: Interest Management
Cs4344 09/10 Lecture 5: Interest Management
 
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception FilterCS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
CS4344 09/10 Lecture 3: Dead Reckoning and Local Perception Filter
 
CS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: ConsistencyCS4344 09/10 Lecture 2: Consistency
CS4344 09/10 Lecture 2: Consistency
 
CS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: IntroductionCS4344 09/10 Lecture 1: Introduction
CS4344 09/10 Lecture 1: Introduction
 
CS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNSCS5229 09/10 Lecture 11: DNS
CS5229 09/10 Lecture 11: DNS
 
CS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet RoutingCS5229 09/10 Lecture 10: Internet Routing
CS5229 09/10 Lecture 10: Internet Routing
 
CS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet DynamicsCS5229 09/10 Lecture 9: Internet Packet Dynamics
CS5229 09/10 Lecture 9: Internet Packet Dynamics
 
CS5229 09/10 Lecture 6: Simulation
CS5229 09/10 Lecture 6: SimulationCS5229 09/10 Lecture 6: Simulation
CS5229 09/10 Lecture 6: Simulation
 
Lecture 0: Introduction to CS5229
Lecture 0: Introduction to CS5229Lecture 0: Introduction to CS5229
Lecture 0: Introduction to CS5229
 
Lecture 1: Design Principles of the Internet
Lecture 1: Design Principles of the InternetLecture 1: Design Principles of the Internet
Lecture 1: Design Principles of the Internet
 
CS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid ArchitectureCS4344 Lecture 8: Hybrid Architecture
CS4344 Lecture 8: Hybrid Architecture
 
CS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player DynamicsCS4344 Lecture 10: Player Dynamics
CS4344 Lecture 10: Player Dynamics
 

Recently uploaded

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 

Recently uploaded (20)

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 

Lecture 2: Congestion Control and Avoidance

  • 1. Congestion Avoidance! and Control 21 August 2009 CS5229 Semester 1 2009/10 1
  • 2. Van Jacobson, “Congestion Avoidance and Control”, " SIGCOMM 1988 21 August 2009 CS5229 Semester 1 2009/10 2
  • 3. Fixes to TCP in BSD" Handwaving arguments" Less rigorous math" Lots of “magical” hacks 21 August 2009 CS5229 Semester 1 2009/10 3
  • 4. We assume " - the sender always has data to send" - each packet is of the same size" - TCP is message-oriented 21 August 2009 CS5229 Semester 1 2009/10 4
  • 5. 1986 21 August 2009 CS5229 Semester 1 2009/10 6
  • 6. TCP throughput from LBL to UC Berkeley (two hops) dropped from 32K bps to 40 bps. 21 August 2009 CS5229 Semester 1 2009/10 7
  • 7. RFC793 21 August 2009 CS5229 Semester 1 2009/10 8
  • 8. Sending window = receiving window" No congestion control" Retransmit only when timeout 21 August 2009 CS5229 Semester 1 2009/10 9
  • 9. Congestion Collapse: " sender sends too fast" routers delay/drop packets" sender retransmit" no useful data getting through 21 August 2009 CS5229 Semester 1 2009/10 10 10
  • 10. 21 August 2009 CS5229 Semester 1 2009/10 11 11
  • 11. Observation: a TCP connection should obey" Conservation ! of ! Packets 21 August 2009 CS5229 Semester 1 2009/10 12 12
  • 12. In equilibrium state, a new packet is not inserted until an old packet leaves. 21 August 2009 CS5229 Semester 1 2009/10 13 13
  • 13. 21 August 2009 CS5229 Semester 1 2009/10 14 14
  • 14. How could this principle be violated? 21 August 2009 CS5229 Semester 1 2009/10 15 15
  • 15. 1. Never reaches equilibrium 21 August 2009 CS5229 Semester 1 2009/10 16 16
  • 16. 2. Inject a packet before the next packet leaves 21 August 2009 CS5229 Semester 1 2009/10 17 17
  • 17. 1. Getting to the equilibrium state 21 August 2009 CS5229 Semester 1 2009/10 18 18
  • 18. Equilibrium state: " self-clocking 21 August 2009 CS5229 Semester 1 2009/10 19 19
  • 19. 21 August 2009 CS5229 Semester 1 2009/10 20 20
  • 20. How to start the ‘clock’? 21 August 2009 CS5229 Semester 1 2009/10 21 21
  • 21. Slow Start 21 August 2009 CS5229 Semester 1 2009/10 22 22
  • 22. Add a new variable cwnd." Start/Restart: cwnd = 1." Upon receiving ACK, cwnd++." Send at most min(cwnd,rwin) 21 August 2009 CS5229 Semester 1 2009/10 23 23
  • 23. 21 August 2009 CS5229 Semester 1 2009/10 24 24
  • 24. Never send more than 2x the max possible rate." (previously 200x is possible!) 21 August 2009 CS5229 Semester 1 2009/10 25 25
  • 25. 21 August 2009 CS5229 Semester 1 2009/10 26 26
  • 26. 2. Inject a packet before the next packet leaves 21 August 2009 CS5229 Semester 1 2009/10 27 27
  • 27. 2. Conservation at Equilibrium 21 August 2009 CS5229 Semester 1 2009/10 28 28
  • 28. Something’s wrong with TCP timer 21 August 2009 CS5229 Semester 1 2009/10 29 29
  • 29. 21 August 2009 CS5229 Semester 1 2009/10 30 30
  • 30. TCP (RFC793) Ri : smoothed RTT Mi : measured RTT RTO : timeout value 21 August 2009 CS5229 Semester 1 2009/10 31 31
  • 31. Variation in RTT when network is loaded 21 August 2009 CS5229 Semester 1 2009/10 32 32
  • 32. β = 2 (recommended) tolerates only 30% load 21 August 2009 CS5229 Semester 1 2009/10 33 33
  • 33. Idea: estimate the variation and use in calculating RTO 21 August 2009 CS5229 Semester 1 2009/10 34 34
  • 34. Measuring Variation" variance: " costly (need to square)" mean error:" simpler 21 August 2009 CS5229 Semester 1 2009/10 35 35
  • 35. 21 August 2009 CS5229 Semester 1 2009/10 36 36
  • 36. 21 August 2009 CS5229 Semester 1 2009/10 38 38
  • 37. 21 August 2009 CS5229 Semester 1 2009/10 39 39
  • 38. To prevent spurious timeout, 21 August 2009 CS5229 Semester 1 2009/10 40 40
  • 39. To pick a value of k, consider bandwidth- dominated link. 21 August 2009 CS5229 Semester 1 2009/10 41 41
  • 40. 21 August 2009 CS5229 Semester 1 2009/10 42 42
  • 41. R doubles each round during slow-start. 21 August 2009 CS5229 Semester 1 2009/10 43 43
  • 42. 21 August 2009 CS5229 Semester 1 2009/10 44 44
  • 43. 21 August 2009 CS5229 Semester 1 2009/10 45 45
  • 44. 21 August 2009 CS5229 Semester 1 2009/10 46 46
  • 45. 21 August 2009 CS5229 Semester 1 2009/10 47 47
  • 46. 3. Moving towards new equilibrium when path changes 21 August 2009 CS5229 Semester 1 2009/10 48 48
  • 47. Idea: adjust cwnd when congestion happens 21 August 2009 CS5229 Semester 1 2009/10 49 49
  • 48. Assume: congestion leads to packet loss, leads to timeout. 21 August 2009 CS5229 Semester 1 2009/10 50 50
  • 49. On timeout, cwnd /= 2" On ACK, cwnd += 1/cwnd 21 August 2009 CS5229 Semester 1 2009/10 51 51
  • 50. Why drop by half ?" 1. Slow-start: " we know R/2 works" 2. Steady state:" a new flow probably? 21 August 2009 CS5229 Semester 1 2009/10 52 52
  • 51. Combining " slow-start " and " congestion avoidance 21 August 2009 CS5229 Semester 1 2009/10 53 53
  • 52. TCP Tahoe 21 August 2009 CS5229 Semester 1 2009/10 54 54
  • 53. 21 August 2009 CS5229 Semester 1 2009/10 55 55
  • 54. 21 August 2009 CS5229 Semester 1 2009/10 56 56
  • 55. cwnd: " “pipe size” probed" ssthresh: " “pipe size” during equilibrium 21 August 2009 CS5229 Semester 1 2009/10 57 57
  • 56. new ack:" if (cwnd < ssthresh)" cwnd += 1" else" cwnd += 1/cwnd 21 August 2009 CS5229 Semester 1 2009/10 58 58
  • 57. timeout/3rd dup ack:" retransmit all unacked" ssthresh = cwnd/2" cwnd = 1" 21 August 2009 CS5229 Semester 1 2009/10 59 59
  • 58. Improving TCP Tahoe:" Packets still getting through in dup ack -- no need to reset the clock! 21 August 2009 CS5229 Semester 1 2009/10 60 60
  • 59. TCP Reno 21 August 2009 CS5229 Semester 1 2009/10 61 61
  • 60. timeout:" retransmit all unacked" ssthresh = cwnd/2" cwnd = 1" 21 August 2009 CS5229 Semester 1 2009/10 71 71
  • 61. 3rd duplicate ACK:! fast retransmission! (ie, retransmit 1st unack) " fast recovery" (details in Week 4)" ssthresh = cwnd = cwnd/2 21 August 2009 CS5229 Semester 1 2009/10 72 72
  • 62. 21 August 2009 CS5229 Semester 1 2009/10 73 73
  • 63. AIMD! additive increase! multiplicative decrease 21 August 2009 CS5229 Semester 1 2009/10 74 74
  • 64. Chiu and Jain, “Analysis of Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks”, Comp. Net. & ISDN Sys. 1989 21 August 2009 CS5229 Semester 1 2009/10 80 80