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

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
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
 
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
 
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
 
_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
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
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
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 

Recently uploaded (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
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🔝
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
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
 
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
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
_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
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
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
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 

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