SlideShare a Scribd company logo
1 of 17
TCPCONGESTIONCONTROL
SUBTITLES
 INTRODUCTION
 CONGESTION WINDOW
 CONGESTION DETECTION
 CONGESTION POLICIES
 POLICY TRANSITION
 TCP THROUGHPUT
1
NETWORKS
AND SECURITY
INTRODUCTION TO TCP CONGESTION
2
 When the load offered to any network is more than it can handle,congestion builds up.
 A router may receive data from more than one sender. No matter how large the buffers
of a router may be, it may be overwhelmed with data, which results in dropping some
segments sent by a specific TCP sender.
 In other words, there is no congestion at the other end, but there may be congestion in
the middle.
 TCP needs to worry about congestion in the middle because many segments lost may
seriously affect the error control.
 More segment loss means resending the same segments again, resulting in worsening
the congestion, and finally the collapse of the communication.
3
 TCP is an end-to-end protocol that uses the service of IP.
 The congestion in the router is in the IP territory and should be taken care of by IP.
However, as we discussed before, IP is a simple protocol with no congestion control.
 TCP, itself, needs to be responsible for this problem.
 TCP cannot be very conservative, either, sending a small number of segments in each
time interval, because this means not utilizing the available bandwidth of the network.
 TCP needs to define policies that accelerate the data transmission when there is no
congestion and decelerate the transmission when congestion is detected.
 TCP uses different policies to handle the congestion in the network. They are,
 Slow Start
 Additive Increase
 Fast Recovery
CONGESTION WINDOW
 To control the number of segments to transmit, TCP uses another variable called a
congestion window (cwnd), whose size is controlled by the congestion situation in the
network .
 The cwnd variable and the rwnd variable together define the size of the send window in
TCP.
 The first is related to the congestion in the middle (network); the second is related to the
congestion at the end.
 The actual size of the window is the minimum of these two,
Actual window size = minimum (rwnd, cwnd)
4
CONGESTION DETECTION
5
The TCP sender uses the occurrence of two events as signs of congestion in the network:
time-out and receiving three duplicate ACKs.
The first is the time-out. If a TCP sender does not receive an ACK for a segment or a
group of segments before the time-out occurs, it assumes that the corresponding
segment or segments are lost and the loss is due to congestion.
Another event is the receiving of three duplicate ACKs (four ACKs with the same
acknowledgment number).
 Recall that when a TCP receiver sends a duplicate ACK, it is the sign that a segment has
been delayed, but sending three duplicate ACKs is the sign of a missing segment, which
can be due to congestion in the network.
A very interesting point in TCP congestion is that the TCP sender uses only one feedback
from the other end to detect congestion.
 Time-out, is the sign of a strong congestion; the receiving of three duplicate ACKs is the
sign of a weak congestion in the network.
CONGESTIONPOLICIES
 TCP’s general policy for handling congestion is based on three algorithms:
 SLOW START (Exponential Increase)
 ADDITIVE INCREASE (Congestion Avoidance)
 FAST RECOVERY
SLOW START
cwnd = 1 2⁰
cwnd= cwnd + 1 = 1 + 1 = 2 2¹
cwnd= cwnd + 2 = 2 + 2 = 4 2²
cwnd= cwnd + 4 = 4 + 4 = 8 2³
In the slow-start algorithm, the size of the
congestion window increases exponentially until
it reaches a threshold.
ADDITIVE INCREASE
 size of the congestion window in this
algorithm is also a function of the
number of ACKs that have arrived and
can be determined as follows:
 If an ACK arrives,
cwnd = cwnd+(1/cwnd).
 The size of the window increases only
1/cwnd portion of MSS (in bytes).
 In other words, all segments in the
previous window should be
acknowledged to increase the window 1
MSS bytes.
FAST RECOVERY
 Like congestion avoidance, this algorithm is also an additive increase, but it
increases the size of the congestion window when a duplicate ACK arrives
(after the three duplicate ACKs that trigger the use of this algorithm).
 The fast-recovery algorithm is optional in TCP.
 The old version of TCP did not use it, but the new versions try to use it.
 It starts when three duplicate ACKs arrive, which is interpreted as light
congestion in the network.
POLICY TRANSITION
 We discussed three congestion policies in TCP. Now the question is when
each of these policies policies is used and when TCP moves from one policy
to another.
 To answer these questions, we need to refer to three versions of TCP:
 Taho TCP
 Reno TCP
 New Reno TCP
TAHO TCP:
The early TCP, known asTaho TCP used only two different algorithms
in their congestion policy: slow start and congestion avoidance.
RENO TCP:
A newer version of TCP, called Reno TCP, added a new state to the
congestion-control called the fast-recovery state.
NEWRENO TCP:
13
 A later version of TCP, called NewReno TCP, made an extra optimization on the Reno TCP.
 In this version, TCP checks to see if more than one segment is lost in the current window
when three duplicate ACKs arrive.
 When TCP receives three duplicate ACKs, it retransmits the lost segment until a new ACK
(not duplicate) arrives.
 If the new ACK defines the end of the window when the congestion was detected, TCP is
certain that only one segment was lost.
 However, if the ACK number defines a position between the retransmitted segment and
the end of the window, it is possible that the segment defined by the ACK is also lost.
 NewReno TCP retransmits this segment to avoid receiving more and more duplicate ACKs
for it.
ADDITIVEINCREASE,MULTIPLICATIVEDECREASE:
14
The congestion window size, after it passes the initial slow-start
state, follows a saw tooth pattern called additive increase, multiplicative
decrease (AIMD).
 The throughput for TCP, which is based on the congestion window behavior, can be
easily found if the cwnd is a constant (flat line) function of RTT. The throughput with
this unrealistic assumption is throughput = cwnd / RTT.
 In this assumption, TCP sends a cwnd bytes of data and receives acknowledgement
for them in RTT time.
 The behavior of TCP, as shown in Figure, is not a flat line; it is like saw teeth, with
many minimum and maximum values. If each tooth were exactly the same, we could
say that the throughput = [(maximum + minimum) / 2] / RTT.
 However, we know that the value of the maximum is twice the value of the
minimum because in each congestion detection the value of cwnd is set to half of its
previous value.
 So the throughput can be better calculated as in which
throughput = (0.75) Wmax / RTT
 Wmax is the average of window sizes when the congestion occurs.
15
THROUGHPUT
Example:
If MSS = 10 KB (kilobytes) and RTT = 100 ms in Figure 24.35, we can calculate the
throughput as shown below.
Soln:
Wmax = (10 + 12 + 10 + 8 + 8) / 5 = 9.6 MSS
Throughput = (0.75 Wmax / RTT) = 0.75 × 960 kbps / 100 ms = 7.2 Mbps
16
TCP Congestion Control Guide: Slow Start, Additive Increase & Fast Recovery

More Related Content

Similar to TCP Congestion Control Guide: Slow Start, Additive Increase & Fast Recovery

Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot LayerMaulik Patel
 
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...ijcseit
 
A packet drop guesser module for congestion Control protocols for high speed ...
A packet drop guesser module for congestion Control protocols for high speed ...A packet drop guesser module for congestion Control protocols for high speed ...
A packet drop guesser module for congestion Control protocols for high speed ...ijcseit
 
Performance Evaluation of High Speed Congestion Control Protocols
Performance Evaluation of High Speed Congestion Control  ProtocolsPerformance Evaluation of High Speed Congestion Control  Protocols
Performance Evaluation of High Speed Congestion Control ProtocolsIOSR Journals
 
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...IJERD Editor
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputIJLT EMAS
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...cscpconf
 
Congestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachCongestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachIOSR Journals
 
Congestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachCongestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachIOSR Journals
 
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLS
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLSCOMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLS
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLSIJNSA Journal
 
Explicit congestion notification
Explicit congestion notificationExplicit congestion notification
Explicit congestion notificationAbhishek Kesharwani
 
TCP Traffic Control Chapter12
TCP Traffic Control Chapter12TCP Traffic Control Chapter12
TCP Traffic Control Chapter12daniel ayalew
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion controlAbdo sayed
 
Tcp congestion control (1)
Tcp congestion control (1)Tcp congestion control (1)
Tcp congestion control (1)Abdo sayed
 
Congestion control in TCP.pptx
Congestion control in TCP.pptxCongestion control in TCP.pptx
Congestion control in TCP.pptxkamalakantas
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasIOSR Journals
 

Similar to TCP Congestion Control Guide: Slow Start, Additive Increase & Fast Recovery (20)

Tcp
TcpTcp
Tcp
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
 
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
 
A packet drop guesser module for congestion Control protocols for high speed ...
A packet drop guesser module for congestion Control protocols for high speed ...A packet drop guesser module for congestion Control protocols for high speed ...
A packet drop guesser module for congestion Control protocols for high speed ...
 
Mcseminar
McseminarMcseminar
Mcseminar
 
Performance Evaluation of High Speed Congestion Control Protocols
Performance Evaluation of High Speed Congestion Control  ProtocolsPerformance Evaluation of High Speed Congestion Control  Protocols
Performance Evaluation of High Speed Congestion Control Protocols
 
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
 
M017137072
M017137072M017137072
M017137072
 
Congestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachCongestion Control: A Dynamic Approach
Congestion Control: A Dynamic Approach
 
Congestion Control: A Dynamic Approach
Congestion Control: A Dynamic ApproachCongestion Control: A Dynamic Approach
Congestion Control: A Dynamic Approach
 
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLS
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLSCOMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLS
COMPARISON OF HIGH SPEED CONGESTION CONTROL PROTOCOLS
 
Explicit congestion notification
Explicit congestion notificationExplicit congestion notification
Explicit congestion notification
 
TCP_Congestion_Control.ppt
TCP_Congestion_Control.pptTCP_Congestion_Control.ppt
TCP_Congestion_Control.ppt
 
TCP Traffic Control Chapter12
TCP Traffic Control Chapter12TCP Traffic Control Chapter12
TCP Traffic Control Chapter12
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion control
 
Tcp congestion control (1)
Tcp congestion control (1)Tcp congestion control (1)
Tcp congestion control (1)
 
Congestion control in TCP.pptx
Congestion control in TCP.pptxCongestion control in TCP.pptx
Congestion control in TCP.pptx
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 

Recently uploaded

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 

Recently uploaded (20)

Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 

TCP Congestion Control Guide: Slow Start, Additive Increase & Fast Recovery

  • 1. TCPCONGESTIONCONTROL SUBTITLES  INTRODUCTION  CONGESTION WINDOW  CONGESTION DETECTION  CONGESTION POLICIES  POLICY TRANSITION  TCP THROUGHPUT 1 NETWORKS AND SECURITY
  • 2. INTRODUCTION TO TCP CONGESTION 2  When the load offered to any network is more than it can handle,congestion builds up.  A router may receive data from more than one sender. No matter how large the buffers of a router may be, it may be overwhelmed with data, which results in dropping some segments sent by a specific TCP sender.  In other words, there is no congestion at the other end, but there may be congestion in the middle.  TCP needs to worry about congestion in the middle because many segments lost may seriously affect the error control.  More segment loss means resending the same segments again, resulting in worsening the congestion, and finally the collapse of the communication.
  • 3. 3  TCP is an end-to-end protocol that uses the service of IP.  The congestion in the router is in the IP territory and should be taken care of by IP. However, as we discussed before, IP is a simple protocol with no congestion control.  TCP, itself, needs to be responsible for this problem.  TCP cannot be very conservative, either, sending a small number of segments in each time interval, because this means not utilizing the available bandwidth of the network.  TCP needs to define policies that accelerate the data transmission when there is no congestion and decelerate the transmission when congestion is detected.  TCP uses different policies to handle the congestion in the network. They are,  Slow Start  Additive Increase  Fast Recovery
  • 4. CONGESTION WINDOW  To control the number of segments to transmit, TCP uses another variable called a congestion window (cwnd), whose size is controlled by the congestion situation in the network .  The cwnd variable and the rwnd variable together define the size of the send window in TCP.  The first is related to the congestion in the middle (network); the second is related to the congestion at the end.  The actual size of the window is the minimum of these two, Actual window size = minimum (rwnd, cwnd) 4
  • 5. CONGESTION DETECTION 5 The TCP sender uses the occurrence of two events as signs of congestion in the network: time-out and receiving three duplicate ACKs. The first is the time-out. If a TCP sender does not receive an ACK for a segment or a group of segments before the time-out occurs, it assumes that the corresponding segment or segments are lost and the loss is due to congestion. Another event is the receiving of three duplicate ACKs (four ACKs with the same acknowledgment number).  Recall that when a TCP receiver sends a duplicate ACK, it is the sign that a segment has been delayed, but sending three duplicate ACKs is the sign of a missing segment, which can be due to congestion in the network. A very interesting point in TCP congestion is that the TCP sender uses only one feedback from the other end to detect congestion.  Time-out, is the sign of a strong congestion; the receiving of three duplicate ACKs is the sign of a weak congestion in the network.
  • 6. CONGESTIONPOLICIES  TCP’s general policy for handling congestion is based on three algorithms:  SLOW START (Exponential Increase)  ADDITIVE INCREASE (Congestion Avoidance)  FAST RECOVERY
  • 7. SLOW START cwnd = 1 2⁰ cwnd= cwnd + 1 = 1 + 1 = 2 2¹ cwnd= cwnd + 2 = 2 + 2 = 4 2² cwnd= cwnd + 4 = 4 + 4 = 8 2³ In the slow-start algorithm, the size of the congestion window increases exponentially until it reaches a threshold.
  • 8. ADDITIVE INCREASE  size of the congestion window in this algorithm is also a function of the number of ACKs that have arrived and can be determined as follows:  If an ACK arrives, cwnd = cwnd+(1/cwnd).  The size of the window increases only 1/cwnd portion of MSS (in bytes).  In other words, all segments in the previous window should be acknowledged to increase the window 1 MSS bytes.
  • 9. FAST RECOVERY  Like congestion avoidance, this algorithm is also an additive increase, but it increases the size of the congestion window when a duplicate ACK arrives (after the three duplicate ACKs that trigger the use of this algorithm).  The fast-recovery algorithm is optional in TCP.  The old version of TCP did not use it, but the new versions try to use it.  It starts when three duplicate ACKs arrive, which is interpreted as light congestion in the network.
  • 10. POLICY TRANSITION  We discussed three congestion policies in TCP. Now the question is when each of these policies policies is used and when TCP moves from one policy to another.  To answer these questions, we need to refer to three versions of TCP:  Taho TCP  Reno TCP  New Reno TCP
  • 11. TAHO TCP: The early TCP, known asTaho TCP used only two different algorithms in their congestion policy: slow start and congestion avoidance.
  • 12. RENO TCP: A newer version of TCP, called Reno TCP, added a new state to the congestion-control called the fast-recovery state.
  • 13. NEWRENO TCP: 13  A later version of TCP, called NewReno TCP, made an extra optimization on the Reno TCP.  In this version, TCP checks to see if more than one segment is lost in the current window when three duplicate ACKs arrive.  When TCP receives three duplicate ACKs, it retransmits the lost segment until a new ACK (not duplicate) arrives.  If the new ACK defines the end of the window when the congestion was detected, TCP is certain that only one segment was lost.  However, if the ACK number defines a position between the retransmitted segment and the end of the window, it is possible that the segment defined by the ACK is also lost.  NewReno TCP retransmits this segment to avoid receiving more and more duplicate ACKs for it.
  • 14. ADDITIVEINCREASE,MULTIPLICATIVEDECREASE: 14 The congestion window size, after it passes the initial slow-start state, follows a saw tooth pattern called additive increase, multiplicative decrease (AIMD).
  • 15.  The throughput for TCP, which is based on the congestion window behavior, can be easily found if the cwnd is a constant (flat line) function of RTT. The throughput with this unrealistic assumption is throughput = cwnd / RTT.  In this assumption, TCP sends a cwnd bytes of data and receives acknowledgement for them in RTT time.  The behavior of TCP, as shown in Figure, is not a flat line; it is like saw teeth, with many minimum and maximum values. If each tooth were exactly the same, we could say that the throughput = [(maximum + minimum) / 2] / RTT.  However, we know that the value of the maximum is twice the value of the minimum because in each congestion detection the value of cwnd is set to half of its previous value.  So the throughput can be better calculated as in which throughput = (0.75) Wmax / RTT  Wmax is the average of window sizes when the congestion occurs. 15 THROUGHPUT
  • 16. Example: If MSS = 10 KB (kilobytes) and RTT = 100 ms in Figure 24.35, we can calculate the throughput as shown below. Soln: Wmax = (10 + 12 + 10 + 8 + 8) / 5 = 9.6 MSS Throughput = (0.75 Wmax / RTT) = 0.75 × 960 kbps / 100 ms = 7.2 Mbps 16