TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE) PDF Download

Congestion in Network

  • Congestion is an important issue that can arise in Packet Switched Network.
  • Congestion leads to the loss of packets in transit.
  • So, it is necessary to control the congestion in network.
  • It is not possible to completely avoid the congestion.

Congestion Control

Congestion control refers to techniques and mechanisms that can:

  • Either prevent congestion before it happens
  • Or remove congestion after it has happened

TCP Congestion Control

The size of the sender window is determined by the following two factors:

  • Receiver window size
  • Congestion window size

1. Receiver Window Size

  • Sender should not send data greater than receiver window size.
  • Otherwise, it leads to dropping the TCP segments which causes TCP Retransmission.
  • So, sender should always send data less than or equal to receiver window size.
  • Receiver dictates its window size to the sender through TCP Header.

2. Congestion Window

  • Sender should not send data greater than congestion window size.
  • Otherwise, it leads to dropping the TCP segments which causes TCP Retransmission.
  • So, sender should always send data less than or equal to congestion window size.
  • Different variants of TCP use different approaches to calculate the size of congestion window.
  • Congestion window is known only to the sender and is not sent over the links.

So, always

Sender window size = Minimum (Receiver window size, Congestion window size)

TCP Congestion Policy

TCP’s general policy for handling congestion consists of following three phases-

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

  • Slow Start
  • Congestion Avoidance
  • Congestion Detection

1. Slow Start Phase

  •  Initially, sender sets congestion window size = Maximum Segment Size (1 MSS).
  • After receiving each acknowledgment, sender increases the congestion window size by 1 MSS.
  • In this phase, the size of congestion window increases exponentially.

The followed formula is

Congestion window size = Congestion window size + Maximum segment size

This is shown below

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

  • After 1 round trip time, congestion window size = (2)= 2 MSS
  • After 2 round trip time, congestion window size = (2)2 = 4 MSS
  • After 3 round trip time, congestion window size = (2)3 = 8 MSS and so on.

This phase continues until the congestion window size reaches the slow start threshold.
Threshold
= Maximum number of TCP segments that receiver window can accommodate / 2
= (Receiver window size / Maximum Segment Size) / 2

2. Congestion Avoidance Phase

After reaching the threshold,

  • Sender increases the congestion window size linearly to avoid the congestion.
  • On receiving each acknowledgement, sender increments the congestion window size by 1.

 The followed formula is:

Congestion window size = Congestion window size + 1

This phase continues until the congestion window size becomes equal to the receiver window size.

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

3. Congestion Detection Phase
When sender detects the loss of segments, it reacts in different ways depending on how the loss is detected

Case-01: Detection On Time Out

  • Time Out Timer expires before receiving the acknowledgement for a segment.
  • This case suggests the stronger possibility of congestion in the network.
  • There are chances that a segment has been dropped in the network.

Reaction
In this case, sender reacts by:

  • Setting the slow start threshold to half of the current congestion window size.
  • Decreasing the congestion window size to 1 MSS.
  • Resuming the slow start phase.

 Case-02: Detection On Receiving 3 Duplicate Acknowledgements

  • Sender receives 3 duplicate acknowledgements for a segment.
  • This case suggests the weaker possibility of congestion in the network.
  • There are chances that a segment has been dropped but few segments sent later may have reached.

Reaction
In this case, sender reacts by:

  • Setting the slow start threshold to half of the current congestion window size.
  • Decreasing the congestion window size to slow start threshold.
  • Resuming the congestion avoidance phase.
The document TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Computer Networks.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
21 videos|113 docs|66 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on TCP Congestion Control - Computer Networks - Computer Science Engineering (CSE)

1. What is TCP congestion control?
Ans. TCP congestion control is a mechanism used by the Transmission Control Protocol (TCP) to manage network congestion and prevent packet loss. It regulates the rate at which data is sent over a network to avoid overwhelming the network and ensure fair sharing of network resources.
2. How does TCP congestion control work?
Ans. TCP congestion control works by monitoring the network conditions and adjusting the sending rate accordingly. It uses various algorithms such as Slow Start, Congestion Avoidance, and Fast Retransmit to dynamically control the transmission rate. These algorithms help TCP to react to congestion signals, such as packet loss or increased round-trip time, and adjust the sending rate to alleviate congestion.
3. What is Slow Start algorithm in TCP congestion control?
Ans. The Slow Start algorithm is a part of TCP congestion control that determines the initial sending rate of data. When a TCP connection is established or re-established, Slow Start initially sends a small number of packets and gradually increases the sending rate based on the network's capacity. It helps avoid overwhelming the network with a sudden influx of packets.
4. How does TCP congestion control prevent packet loss?
Ans. TCP congestion control prevents packet loss by dynamically adjusting the sending rate based on the network conditions. When congestion is detected, TCP reduces the sending rate to alleviate congestion and avoid packet loss. It does this by reducing the congestion window size or implementing congestion avoidance algorithms. By regulating the sending rate, TCP ensures that the network is not overloaded and packets are successfully delivered without loss.
5. Can TCP congestion control be disabled or modified?
Ans. TCP congestion control is a fundamental part of the TCP protocol and is typically not recommended to be disabled or modified. However, in certain cases, such as specialized network environments or specific performance requirements, it may be necessary to modify or disable TCP congestion control. This should be done with caution and expert knowledge, as it can lead to network instability, unfair resource allocation, and increased packet loss.
21 videos|113 docs|66 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

study material

,

pdf

,

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

,

mock tests for examination

,

MCQs

,

Semester Notes

,

Sample Paper

,

shortcuts and tricks

,

Viva Questions

,

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

,

Objective type Questions

,

practice quizzes

,

TCP Congestion Control | Computer Networks - Computer Science Engineering (CSE)

,

Important questions

,

Exam

,

Extra Questions

,

video lectures

,

Summary

,

Free

,

ppt

,

Previous Year Questions with Solutions

,

past year papers

;