You are on page 1of 9

MKET 1313

Communication and
Computer Networks
Congestion Control

Kamaludin Mohamad Yusof
kamalmy@3e.utm.my
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