0% found this document useful (0 votes)
26 views3 pages

TCP Congestion Control

Uploaded by

Vishwa Panchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views3 pages

TCP Congestion Control

Uploaded by

Vishwa Panchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

TCP Congestion Control

TCP congestion control is a set of techniques used to prevent too much data from overwhelming
the network, ensuring efficient, reliable, and fair data transfer. It dynamically adjusts the sending
rate based on network conditions to avoid congestion, packet loss, and delays [1] [2] [3] .

Main Phases of TCP Congestion Control


Slow Start
Begins with a small congestion window (cwnd), typically 1 segment.
For each acknowledgment (ACK) received, the congestion window doubles, leading to
exponential growth.
This phase continues until a threshold (ssthresh) is reached or packet loss is detected [1]
[3] [4] .

Congestion Avoidance
After reaching the threshold, the congestion window increases linearly (by 1 segment
per round-trip time).
This phase helps probe the network’s capacity more cautiously and prevents sudden
congestion [1] [3] [4] .
Congestion Detection
If packet loss is detected (via timeout or triple duplicate ACKs), TCP assumes
congestion.
The congestion window is reduced:
On timeout: window is reset to 1 segment (slow start restarts).
On triple duplicate ACKs: window is reduced (multiplicative decrease), and fast
recovery may begin [1] [3] [4] .
Fast Retransmit and Fast Recovery
On receiving three duplicate ACKs, the lost segment is retransmitted immediately.
The congestion window is reduced, but not to the minimum, allowing for quicker
recovery and continued data flow [1] [3] [4] .

AIMD Principle
TCP uses the Additive Increase/Multiplicative Decrease (AIMD) algorithm:
Additive Increase: Window grows linearly when the network is uncongested.
Multiplicative Decrease: Window shrinks rapidly when congestion is detected [2] [5] .
TCP Timer Management
TCP uses several timers to ensure reliable, efficient, and orderly data transmission. These timers
help manage retransmissions, maintain connection health, and ensure proper closure of
connections [6] [7] [8] .

Main Types of TCP Timers


Timer Name Purpose

Retransmission Retransmits lost segments if no acknowledgment (ACK) is received within the timeout
Timer period.

Prevents deadlock when the receiver’s window size is zero by periodically probing the
Persistence Timer
receiver.

Detects inactive connections by sending periodic probes; closes connection if no


Keepalive Timer
response.

Time-Wait Timer Ensures all packets from a closed connection are cleared before the port is reused.

Retransmission Timer
Ensures reliable delivery by retransmitting segments that are not acknowledged in time.
The retransmission timeout (RTO) is adaptive, calculated based on the measured round-trip
time (RTT) and its variation [7] [8] .
If an ACK is not received before the timer expires, TCP retransmits the segment.

Persistence Timer
Prevents deadlock when the receiver advertises a zero window.
If the receiver’s window size is zero, the sender starts the persistence timer and sends a
probe when it expires. If the window is still zero, the process repeats until data can be
sent [6] [7] .

Keepalive Timer
Detects dead or inactive connections by sending periodic probes during long idle periods.
If no response is received after several probes, the connection is closed to free up
resources [6] [7] .

Time-Wait Timer
After a connection is closed, TCP waits for a period (usually twice the maximum segment
lifetime) before freeing the connection resources.
This prevents delayed segments from previous connections from being misinterpreted by
new connections using the same port [6] [7] .
Adaptive Timeout Calculation
TCP calculates the retransmission timeout (RTO) using both the smoothed RTT and the
variation in RTT.
This helps avoid unnecessary retransmissions and adapts to changing network conditions [7]
[8] .

Summary:
TCP’s congestion control mechanisms (slow start, congestion avoidance, fast retransmit, and
fast recovery) work together with its timers (retransmission, persistence, keepalive, and time-
wait) to provide reliable, efficient, and fair data transfer across the Internet [1] [2] [6] .

1. https://www.geeksforgeeks.org/computer-networks/tcp-congestion-control/
2. https://en.wikipedia.org/wiki/TCP_congestion_control
3. https://www.scaler.com/topics/computer-network/tcp-congestion-control/
4. https://www.scaler.in/congestion-control/
5. https://www.tetcos.com/pdf/v13/Experiments/TCP-Congestion-Control-Algorithms.pdf
6. https://www.tutorialspoint.com/tcp-timers
7. https://www.geeksforgeeks.org/computer-networks/tcp-timers/
8. https://www.scaler.in/tcp-timers/

You might also like