SlideShare a Scribd company logo
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 .pptx

More Related Content

PPTX
TCP Congestion Control By Owais Jara
Owaîs Járå
 
PPSX
Congestion control in TCP
selvakumar_b1985
 
PPT
Congestion control avoidance
Anthony-Claret Onwutalobi
 
PPT
Computer Networks Network congestion.ppt
vengaimarbhan1
 
PPTX
NE #1.pptx
tahaniali27
 
PPTX
Week8 lec2-bscs1
syedhaiderraza
 
PPTX
Congestion control in TCP.pptx
kamalakantas
 
PPT
Lect9 (1)
Abdo sayed
 
TCP Congestion Control By Owais Jara
Owaîs Járå
 
Congestion control in TCP
selvakumar_b1985
 
Congestion control avoidance
Anthony-Claret Onwutalobi
 
Computer Networks Network congestion.ppt
vengaimarbhan1
 
NE #1.pptx
tahaniali27
 
Week8 lec2-bscs1
syedhaiderraza
 
Congestion control in TCP.pptx
kamalakantas
 
Lect9 (1)
Abdo sayed
 

Similar to tcp congestion .pptx (20)

PPT
Lect9
Abdo sayed
 
PDF
congestion control data communication.pdf
nqck82120b
 
PPTX
Tcp congestion avoidance
Ahmed Kamel Taha
 
PPT
Chapter6TransportLayer header format protocols-2.ppt
Mugabo4
 
PPTX
Congestion control in tcp
samarai_apoc
 
PPTX
Tcp(no ip) review part2
Diptanshu singh
 
PDF
Computer network (13)
NYversity
 
PPT
Tcp congestion control (1)
Abdo sayed
 
PPT
Tcp congestion control
Abdo sayed
 
PPT
TCP_Congestion_Control.ppt
19UCSA032ASANJAYKUMA
 
PPTX
computer networks tcp congestion control road map from kurose
joshvenky04
 
PPTX
chapter 3.2 TCP.pptx
Tekle12
 
PDF
Lecture 19 22. transport protocol for ad-hoc
Chandra Meena
 
PDF
A Packet Drop Guesser Module for Congestion Control Protocols for High speed ...
ijcseit
 
PDF
A packet drop guesser module for congestion Control protocols for high speed ...
ijcseit
 
PDF
TCP Congestion Control
Michail Grigoropoulos
 
PPT
Tcp traffic control and red ecn
Abhishek Kesharwani
 
PPTX
High Performance Networking with Advanced TCP
Dilum Bandara
 
PDF
TCP Theory
soohyunc
 
PPTX
Computer Networks_Lec 1-TCP Congestion .pptx
shahb1268
 
Lect9
Abdo sayed
 
congestion control data communication.pdf
nqck82120b
 
Tcp congestion avoidance
Ahmed Kamel Taha
 
Chapter6TransportLayer header format protocols-2.ppt
Mugabo4
 
Congestion control in tcp
samarai_apoc
 
Tcp(no ip) review part2
Diptanshu singh
 
Computer network (13)
NYversity
 
Tcp congestion control (1)
Abdo sayed
 
Tcp congestion control
Abdo sayed
 
TCP_Congestion_Control.ppt
19UCSA032ASANJAYKUMA
 
computer networks tcp congestion control road map from kurose
joshvenky04
 
chapter 3.2 TCP.pptx
Tekle12
 
Lecture 19 22. transport protocol for ad-hoc
Chandra Meena
 
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 ...
ijcseit
 
TCP Congestion Control
Michail Grigoropoulos
 
Tcp traffic control and red ecn
Abhishek Kesharwani
 
High Performance Networking with Advanced TCP
Dilum Bandara
 
TCP Theory
soohyunc
 
Computer Networks_Lec 1-TCP Congestion .pptx
shahb1268
 
Ad

Recently uploaded (20)

PDF
Introduction to Data Science: data science process
ShivarkarSandip
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
PPTX
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
PPTX
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PPTX
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PPTX
Inventory management chapter in automation and robotics.
atisht0104
 
PDF
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PDF
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
PPTX
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
PDF
Zero carbon Building Design Guidelines V4
BassemOsman1
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
PDF
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
PPTX
easa module 3 funtamental electronics.pptx
tryanothert7
 
Introduction to Data Science: data science process
ShivarkarSandip
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
Inventory management chapter in automation and robotics.
atisht0104
 
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
Zero carbon Building Design Guidelines V4
BassemOsman1
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
easa module 3 funtamental electronics.pptx
tryanothert7
 
Ad

tcp congestion .pptx

  • 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