0% found this document useful (0 votes)
59 views

MKET1313 - Congestion Control

This document discusses TCP congestion control. It explains that TCP implements congestion control at the sender to reduce network congestion. The sender uses two parameters: congestion window (cwnd) and threshold value (ssthresh). During slow start, cwnd increases exponentially with each ACK received. Once cwnd exceeds ssthresh, the congestion avoidance phase begins and cwnd increases additively. If packet loss occurs, cwnd is halved in the multiplicative decrease phase.

Uploaded by

md
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)
59 views

MKET1313 - Congestion Control

This document discusses TCP congestion control. It explains that TCP implements congestion control at the sender to reduce network congestion. The sender uses two parameters: congestion window (cwnd) and threshold value (ssthresh). During slow start, cwnd increases exponentially with each ACK received. Once cwnd exceeds ssthresh, the congestion avoidance phase begins and cwnd increases additively. If packet loss occurs, cwnd is halved in the multiplicative decrease phase.

Uploaded by

md
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/ 9

MKET 1313

Communication and
Computer Networks
Congestion Control

Kamaludin Mohamad Yusof
[email protected]
TCP implements conges=on control at the sender. This control is
intended to reduce conges=on in the network.
The sender has two parameters for conges=on control:
Conges=on Window (cwnd; Ini=al value is MSS bytes)
Threshhold Value (ssthresh; Ini=al value is 65536 bytes)
The window size at the sender is set as follows:
Allowed Window = MIN (adver=sed window, conges=on window)
adver=sed window: ow-control window at the receiver
MSS: Maximum Segment Size (set with op=on eld in TCP header)
Slow Start
Ini=al value: Set cwnd = 1
Note: Unit is a segment size. TCP actually is based on bytes and increments
by 1 MSS (maximum segment size)
The receiver sends an acknowledgement (ACK) for each packet
Note: Generally, a TCP receiver sends an ACK for every other segment.
Each =me an ACK is received by the sender, the conges=on window is
increased by 1 segment:
cwnd = cwnd + 1
If an ACK acknowledges two segments, cwnd is s=ll increased by only 1
segment.
Even if ACK acknowledges a segment that is smaller than MSS bytes long,
cwnd is increased by 1.
Slow Start, Exponential Increase
The conges=on window size
grows very rapidly
For every ACK, we increase
cwnd by 1 irrespec=ve of the
number of segments ACKed
TCP slows down the increase
of cwnd when
cwnd > ssthresh

Congestion Avoidance, Additive Increase Multiplicative
Decrease (AIMD)
Conges=on avoidance phase is
started if cwnd has reached the
slow-start threshold value
If cwnd >= ssthresh then each
=me an ACK is received,
increment cwnd as follows:
cwnd = cwnd + 1/ cwnd
So cwnd is increased by one only
if all cwnd segments have been
acknowledged.
Additive Increase Multiplicative Decrease (AIMD)
Each =me conges=on occurs - the conges=on Source Destination

window is halved.
Example, if current window is 16 segments
and a =me-out occurs (implies packet loss),
reduce the window to 8.
Finally window may be reduced to 1
segment.
Window is not allowed to fall below 1 segment
(MSS).
For each conges=on window worth of packets
that has been sent out successfully (an ACK is
received), increase the conges=on window by
the size of a (one) segment.
Example of Slow Start/Congestion Avoidance
Assume that ssthresh = 8
Summary of TCP congestion control

You might also like