Teletraffic engineering/What is Congestion control?

originally written by Moses Chisala

Summary
The document defines congestion control and the five algorithms found in the TCP protocols: slow start Exponential backoff, sliding window, Fast retransmit and Fast recovery. In addition, it also gives an example and an exercise basing on simple “steady-state model” of TCP technique.

Definition
Congestion control is a method used for monitoring the process of regulating the total amount of data entering the network so as to keep traffic levels at an acceptable value. This is done in order to avoid the telecommunication network reaching what is termed congestive collapse.

Congestion control mostly applies to packet-switching network. A wide variety of approaches have been proposed, however the "objective is to maintain the number of packets within the network below the level at which performance falls off dramatically."

There are two transport layer protocols where congestion control is implemented;
 * Transmission Control Protocol
 * User Datagram Protocol

In the TCP there are several congestion control algorithms strateges used:
 * slow start
 * exponential backoff

Model: The simple “steady-state model” of TCP

 * Fixed roundtrip time R in seconds.
 * A packet is dropped each time the window reaches W packets.
 * TCP’s congestion window: W, W / 2, W / 2 + 1,..., W - 1, W , W / 2

The average sending rate T pkts per sec: T = 3 W / 4 R

The packet drop rate p : p = 1 / (⅜ * W ²)

T in pkts per sec: T = &radic;(3 / 2) / ( R * &radic; p )

or in bytes per sec, given B bytes per pkt: T = &radic;(3 / 2) * B / (R * &radic; p )

The improved “steady-state model” of TCP:

An improved steady-state model of TCP includes a fixed packet drop rate,retranmit timeouts, and the exponential backoff of the retransmit timer.

T = B / [ R * &radic;(2 * p / 3) + 2 * R * {3 * &radic;(3 * p / 8)} * p * (1 + 32 * p ²)]
 * T
 * sending rate in bytes/sec


 * B
 * packet size in bytes


 * R
 * roundtrip time


 * p
 * packet drop rate[1]


 * sliding window
 * fast retransmit
 * fast recovery

Example
The date rate between two routers is 230.4 Kbps, and the TCP congestion window is 30 packets. calculate the round trip time R. (Assuming 1 packet = 512 - bytes)

Solution
T = 230.3 Kbps W = 30 packets = 30 * 512 * 8 bits R = 3 * W / 4 * T   = 3 * 30 * 512 * 8 / (4 * 230300) = 0.4 s

Exercises
An internet cafe connects to an ISP with bandwidth of 10 Mbps. The TCP’s congestion window is 64 KB. (1 packet = 512 bytes)


 * 1) Calculate the round trip time at network equilibrum
 * 2) What is the packet drop rate?
 * 3) What is the capacity of the TCP’s congestion window packets?

/Solutions/