SlideShare a Scribd company logo
By 
Name: Nirav Bhojani 
Roll No: 14MCEI05
 TCP TAHOE 
 RENO 
 NEW RENO 
 SACK 
 TCP VEGAS
 Congestion control algorithm 
 Slow Start Phase: 
 Sender sets cwnd to 1 and for each ACK 
received it increase cwnd by 1. 
 It follows until packets are loosed and then 
we decrease sending rate and set cwnd to 1 
and start again 
 Detects packet loss by timeouts
 Tahoe uses Additive Increase Multiplicative 
Decrease 
 After timeouts, it sets cwnd to 1 and 
threshold value(ssthresh) to half of cwnd and 
starts slow start until it reaches threshold 
value. After that it increments linearly until it 
encounters packet loss
Analysis of TCP variants
 Takes a complete timeout interval to detect a 
packet loss 
 every time a packet is lost it waits for a 
timeout and the pipeline is emptied.
 Retains slow start and retransmit timer of 
Tahoe 
 In Fast Retransmit, after receiving 3 duplicate 
acks, it denotes that segment was lost 
 And enters into Fast-Recovery
1. When third duplicate ack is received 
• Set ssthresh = cwnd/2 
• Retransmit missing segment 
• Set cwnd = ssthresh +3 
2. After getting duplicate acks, increment cwnd 
by 1 
3. When next ack arrives which acknowledges 
new data then set cwnd = ssthresh
Analysis of TCP variants
 Performs very well when the packet losses are 
small 
 When there are multiple packet losses then 
detects only one packet loss in one RTT 
 If the window is very small and when the loss 
occurs then we would never receive enough 
duplicate acknowledgements for a fast 
retransmit and we would have to wait for a 
timeout
 Detects multiple packet losses and thus is 
much more efficient that RENO in the event of 
multiple packet losses. 
 it differs from RENO in that it doesn’t exit 
fast-recovery until all the data which was out 
standing at the time it entered fast recovery 
is acknowledged.
 it notes the maximums segment which is 
outstanding and when a fresh ACK is received 
then there are two cases: 
1. If it ACK’s all the segments which were 
outstanding when we entered fast recovery 
then it exits fast recovery and sets CWD to 
ssthresh and continues congestion avoidance 
like Tahoe. 
2. If the ACK is a partial ACK then it deduces that 
the next segment in line was lost and it re-transmits 
that segment and sets the number of 
duplicate ACKS received to zero.
 New-Reno suffers from the fact that it takes 
one RTT to detect each packet loss. When the 
ACK for the first retransmitted segment is 
received only then can we deduce which other 
segment was lost.
 Extension of TCP Reno 
 Retains slow-start and fast retransmit parts 
of RENO 
 Requires that segments should be 
acknowledged selectively. Thus each ACK has 
a block which describes which segments are 
being acknowledged.
 When the sender enters fast recovery, it 
initializes a variable pipe which is an estimate of 
how much data is outstanding in the network, 
and it also set CWND to half the current size. 
Every time it receives an ACK it reduces the pipe 
by 1 and every time it retransmits a segment it 
increments it by 1. Whenever the pipe goes 
smaller than the CWND window it checks which 
segments are un received and send them. If there 
are no such segments outstanding then it sends 
a new packet. Thus more than one lost segment 
can be sent in one RTT.
 The biggest problem with SACK is that 
currently selective acknowledgements are not 
provided by the receiver. To implement SACK 
we will need to implement selective 
acknowledgment which is not a very easy 
task.
 Proactive measure to encounter congestion 
 It does not depend solely on packet loss as a 
sign of congestion. It detects congestion 
before the packet losses occur. 
 Three major changes induced by Vegas are: 
1. New Re-Transmission Mechanism 
2. Congestion avoidance 
3. Modified Slow-start
 It keeps track of when each segment was 
sent and it also calculates an estimate of the 
RTT by keeping track of how long it takes for 
the acknowledgment to get back. Whenever a 
duplicate acknowledgement is received it 
checks to see if the (current time - segment 
transmission time) > RTT estimate; if it is 
then it immediately retransmits the segment 
without waiting for 3 duplicate 
acknowledgements or a coarse timeout.
 To catch any other segments that may have 
been lost prior to the retransmission, when a 
non duplicate acknowledgment is received, if 
it is the first or second one after a fresh 
acknowledgement then it again checks the 
timeout values and if the segment time since 
it was sent exceeds the timeout value then it 
re-transmits the segment without waiting for 
a duplicate acknowledgment. Thus in this way 
Vegas can detect multiple packet losses.
 It does not use the loss of segment to signal that 
there is congestion. It determines congestion by 
a decrease in sending rate as compared to the 
expected rate, as result of large queues building 
up in the routers. Thus whenever the calculated 
rate is too far away from the expected rate it 
increases transmissions to make use of the 
available bandwidth, whenever the calculated rate 
comes too close to the expected value it 
decreases its transmission to prevent over 
saturating the bandwidth. Thus Vegas doesn’t 
waste bandwidth by transmitting at too high a 
data rate and creating congestion.
 Vegas increases exponentially only every 
other RTT, between that it calculates the 
actual sending through put to the expected 
and when the difference goes above a certain 
threshold it exits slow start and enters the 
congestion avoidance phase.
 TCP Vegas is definitely better than 
1. Tahoe: 
 It can detect and retransmit lost packet much 
sooner than timeouts in Tahoe. 
 It also has fewer re-transmissions since it 
doesn’t empty the whole pipe whenever it loses 
packets. 
 It is better at congestion avoidance and its 
modified congestion avoidance and slow start 
algorithms measure incipient congestion and 
very accurately measures the available bandwidth 
and therefore use network resources efficiently 
and don’t contribute to congestion.
2. Reno: 
 More than half of the timeouts of Reno are 
prevented by Vegas as it detects and re-transmits 
more than one lost packet before 
timeout occurs. 
 It doesn’t have to always wait for 3 duplicate 
packets so it can retransmit sooner.
3. New-Reno: 
 It prevents many of timeouts of New-Reno as 
it doesn’t need to wait for 3 duplicate ACK’s 
before it retransmits a lost packet. 
 Its congestion avoidance mechanisms to 
detect incipient congestion are very efficient 
and utilize network resources much more 
efficiently. 
 Because of its modified congestion avoidance 
and slow start algorithm there are fewer 
retransmits.
4. SACK 
 In its estimation of incipient congestion, and its 
efficient estimation of congestion by measuring 
change in throughput rather than packet loss. 
This would result in a better utilization of 
bandwidth and lesser congestion. 
 Also it appears more stable than SACK. The 
reason for this being that SACK uses packet 
losses to denote congestion. So that the sender 
continually increase sending rate until there is 
congestion. 
 Another advantage of TCP Vegas or rather the 
disadvantage of SACK is that it is not very easy to 
incorporate SACK in the current TCP.
 https://www.hep.ucl.ac.uk/~ytl/tcpip/backgr 
ound/tahoe-reno.html 
 https://sites.google.com/site/networksprojec 
twiki/bit10/compnetworks/tcp-performance-in- 
high-speed-long-distance-networks/ 
working-oftcp-tahoe-newreno-and- 
vegas 
 https://inst.eecs.berkeley.edu/~ee122/fa05/ 
projects/Project2/SACKRENEVEGAS.pdf 
 Chapter 12 from High Speed Networks and 
Intranets by William Stallings
Analysis of TCP variants
Analysis of TCP variants

More Related Content

PDF
Osi model
PPTX
Threshold cryptography
PPTX
Transport Layer Security
PPTX
Application Layer
PPTX
PPT
Chapter 18
PPTX
PPP (Point to Point Protocol)
PPTX
Error Detection and Correction
Osi model
Threshold cryptography
Transport Layer Security
Application Layer
Chapter 18
PPP (Point to Point Protocol)
Error Detection and Correction

What's hot (20)

PPT
Clock synchronization in distributed system
PPTX
Transport layer
PPTX
Stop-and-Wait ARQ Protocol
PPTX
Transmission impairments
PPTX
TCP/IP 3-way Handshake
PPT
User datagram protocol
PPTX
Ssl and tls
PPTX
Transport Layer Security (TLS)
PDF
Congestion control 1
PPT
Ch2 network models
PPTX
MODULE-2_CCN.pptx
PDF
3. overview of data communication part 2
PPT
Framming data link layer
PPTX
TCP and UDP
PPTX
Ch 20 UNICAST ROUTING SECTION 2
PPT
Computer Networks - DNS
PPTX
Cloud federation.pptx
PPTX
Transmission Control Protocol (TCP)
PPTX
Checkpointing.pptx
PPTX
IMS Authentication with AKAv1 and AKAv2
Clock synchronization in distributed system
Transport layer
Stop-and-Wait ARQ Protocol
Transmission impairments
TCP/IP 3-way Handshake
User datagram protocol
Ssl and tls
Transport Layer Security (TLS)
Congestion control 1
Ch2 network models
MODULE-2_CCN.pptx
3. overview of data communication part 2
Framming data link layer
TCP and UDP
Ch 20 UNICAST ROUTING SECTION 2
Computer Networks - DNS
Cloud federation.pptx
Transmission Control Protocol (TCP)
Checkpointing.pptx
IMS Authentication with AKAv1 and AKAv2
Ad

Similar to Analysis of TCP variants (20)

DOC
Congestion Control
PDF
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
PDF
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
PPT
Tcp Congestion Avoidance
PPTX
Mobile Transpot Layer
PPTX
High Performance Networking with Advanced TCP
DOC
A Performance Comparison of TCP Protocols
PDF
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
PDF
Tcp performance simulationsusingns2
PPTX
Mcseminar
PDF
Flow Control Cumputer Network report writing
PPT
Congestion control avoidance
PDF
Analytical Research of TCP Variants in Terms of Maximum Throughput
PPTX
Transport layer
DOC
Retransmission Tcp
PPTX
Ch 18 intro to network layer - section 3
PDF
Lecture 19 22. transport protocol for ad-hoc
PPT
Chapter6TransportLayer header format protocols-2.ppt
PPSX
Congestion control in TCP
PDF
Congestion Control
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Tcp Congestion Avoidance
Mobile Transpot Layer
High Performance Networking with Advanced TCP
A Performance Comparison of TCP Protocols
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
Tcp performance simulationsusingns2
Mcseminar
Flow Control Cumputer Network report writing
Congestion control avoidance
Analytical Research of TCP Variants in Terms of Maximum Throughput
Transport layer
Retransmission Tcp
Ch 18 intro to network layer - section 3
Lecture 19 22. transport protocol for ad-hoc
Chapter6TransportLayer header format protocols-2.ppt
Congestion control in TCP
Ad

Recently uploaded (20)

DOCX
573137875-Attendance-Management-System-original
PPTX
web development for engineering and engineering
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Well-logging-methods_new................
PDF
composite construction of structures.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Digital Logic Computer Design lecture notes
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
573137875-Attendance-Management-System-original
web development for engineering and engineering
Foundation to blockchain - A guide to Blockchain Tech
additive manufacturing of ss316l using mig welding
Internet of Things (IOT) - A guide to understanding
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Embodied AI: Ushering in the Next Era of Intelligent Systems
OOP with Java - Java Introduction (Basics)
Lecture Notes Electrical Wiring System Components
Well-logging-methods_new................
composite construction of structures.pdf
UNIT 4 Total Quality Management .pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Digital Logic Computer Design lecture notes
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Mechanical Engineering MATERIALS Selection
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...

Analysis of TCP variants

  • 1. By Name: Nirav Bhojani Roll No: 14MCEI05
  • 2.  TCP TAHOE  RENO  NEW RENO  SACK  TCP VEGAS
  • 3.  Congestion control algorithm  Slow Start Phase:  Sender sets cwnd to 1 and for each ACK received it increase cwnd by 1.  It follows until packets are loosed and then we decrease sending rate and set cwnd to 1 and start again  Detects packet loss by timeouts
  • 4.  Tahoe uses Additive Increase Multiplicative Decrease  After timeouts, it sets cwnd to 1 and threshold value(ssthresh) to half of cwnd and starts slow start until it reaches threshold value. After that it increments linearly until it encounters packet loss
  • 6.  Takes a complete timeout interval to detect a packet loss  every time a packet is lost it waits for a timeout and the pipeline is emptied.
  • 7.  Retains slow start and retransmit timer of Tahoe  In Fast Retransmit, after receiving 3 duplicate acks, it denotes that segment was lost  And enters into Fast-Recovery
  • 8. 1. When third duplicate ack is received • Set ssthresh = cwnd/2 • Retransmit missing segment • Set cwnd = ssthresh +3 2. After getting duplicate acks, increment cwnd by 1 3. When next ack arrives which acknowledges new data then set cwnd = ssthresh
  • 10.  Performs very well when the packet losses are small  When there are multiple packet losses then detects only one packet loss in one RTT  If the window is very small and when the loss occurs then we would never receive enough duplicate acknowledgements for a fast retransmit and we would have to wait for a timeout
  • 11.  Detects multiple packet losses and thus is much more efficient that RENO in the event of multiple packet losses.  it differs from RENO in that it doesn’t exit fast-recovery until all the data which was out standing at the time it entered fast recovery is acknowledged.
  • 12.  it notes the maximums segment which is outstanding and when a fresh ACK is received then there are two cases: 1. If it ACK’s all the segments which were outstanding when we entered fast recovery then it exits fast recovery and sets CWD to ssthresh and continues congestion avoidance like Tahoe. 2. If the ACK is a partial ACK then it deduces that the next segment in line was lost and it re-transmits that segment and sets the number of duplicate ACKS received to zero.
  • 13.  New-Reno suffers from the fact that it takes one RTT to detect each packet loss. When the ACK for the first retransmitted segment is received only then can we deduce which other segment was lost.
  • 14.  Extension of TCP Reno  Retains slow-start and fast retransmit parts of RENO  Requires that segments should be acknowledged selectively. Thus each ACK has a block which describes which segments are being acknowledged.
  • 15.  When the sender enters fast recovery, it initializes a variable pipe which is an estimate of how much data is outstanding in the network, and it also set CWND to half the current size. Every time it receives an ACK it reduces the pipe by 1 and every time it retransmits a segment it increments it by 1. Whenever the pipe goes smaller than the CWND window it checks which segments are un received and send them. If there are no such segments outstanding then it sends a new packet. Thus more than one lost segment can be sent in one RTT.
  • 16.  The biggest problem with SACK is that currently selective acknowledgements are not provided by the receiver. To implement SACK we will need to implement selective acknowledgment which is not a very easy task.
  • 17.  Proactive measure to encounter congestion  It does not depend solely on packet loss as a sign of congestion. It detects congestion before the packet losses occur.  Three major changes induced by Vegas are: 1. New Re-Transmission Mechanism 2. Congestion avoidance 3. Modified Slow-start
  • 18.  It keeps track of when each segment was sent and it also calculates an estimate of the RTT by keeping track of how long it takes for the acknowledgment to get back. Whenever a duplicate acknowledgement is received it checks to see if the (current time - segment transmission time) > RTT estimate; if it is then it immediately retransmits the segment without waiting for 3 duplicate acknowledgements or a coarse timeout.
  • 19.  To catch any other segments that may have been lost prior to the retransmission, when a non duplicate acknowledgment is received, if it is the first or second one after a fresh acknowledgement then it again checks the timeout values and if the segment time since it was sent exceeds the timeout value then it re-transmits the segment without waiting for a duplicate acknowledgment. Thus in this way Vegas can detect multiple packet losses.
  • 20.  It does not use the loss of segment to signal that there is congestion. It determines congestion by a decrease in sending rate as compared to the expected rate, as result of large queues building up in the routers. Thus whenever the calculated rate is too far away from the expected rate it increases transmissions to make use of the available bandwidth, whenever the calculated rate comes too close to the expected value it decreases its transmission to prevent over saturating the bandwidth. Thus Vegas doesn’t waste bandwidth by transmitting at too high a data rate and creating congestion.
  • 21.  Vegas increases exponentially only every other RTT, between that it calculates the actual sending through put to the expected and when the difference goes above a certain threshold it exits slow start and enters the congestion avoidance phase.
  • 22.  TCP Vegas is definitely better than 1. Tahoe:  It can detect and retransmit lost packet much sooner than timeouts in Tahoe.  It also has fewer re-transmissions since it doesn’t empty the whole pipe whenever it loses packets.  It is better at congestion avoidance and its modified congestion avoidance and slow start algorithms measure incipient congestion and very accurately measures the available bandwidth and therefore use network resources efficiently and don’t contribute to congestion.
  • 23. 2. Reno:  More than half of the timeouts of Reno are prevented by Vegas as it detects and re-transmits more than one lost packet before timeout occurs.  It doesn’t have to always wait for 3 duplicate packets so it can retransmit sooner.
  • 24. 3. New-Reno:  It prevents many of timeouts of New-Reno as it doesn’t need to wait for 3 duplicate ACK’s before it retransmits a lost packet.  Its congestion avoidance mechanisms to detect incipient congestion are very efficient and utilize network resources much more efficiently.  Because of its modified congestion avoidance and slow start algorithm there are fewer retransmits.
  • 25. 4. SACK  In its estimation of incipient congestion, and its efficient estimation of congestion by measuring change in throughput rather than packet loss. This would result in a better utilization of bandwidth and lesser congestion.  Also it appears more stable than SACK. The reason for this being that SACK uses packet losses to denote congestion. So that the sender continually increase sending rate until there is congestion.  Another advantage of TCP Vegas or rather the disadvantage of SACK is that it is not very easy to incorporate SACK in the current TCP.
  • 26.  https://www.hep.ucl.ac.uk/~ytl/tcpip/backgr ound/tahoe-reno.html  https://sites.google.com/site/networksprojec twiki/bit10/compnetworks/tcp-performance-in- high-speed-long-distance-networks/ working-oftcp-tahoe-newreno-and- vegas  https://inst.eecs.berkeley.edu/~ee122/fa05/ projects/Project2/SACKRENEVEGAS.pdf  Chapter 12 from High Speed Networks and Intranets by William Stallings

Editor's Notes

  • #19: Thus it gets around the problem faced by Reno of not being able to detect lost packets when it had a small window and it didn’t receive enough duplicate ACK’s.