Federico Mengozzi

Transport Layer

Principles of Congestion Control

Causes and the Costs of Congestion

The following scenarios could show the problem with network congestions

1. Two senders and router with infinite buffers: Each host $A$ and $B$ applications send data into the connection with a rate of $\lambda_{in}$$\dfrac{bytes}{s}$. If the delay resulting from header creation and packet instantiation is ignored each host has a data offering rate equal to $\lambda_{in}$. The transmission rate of the router is $R$ hence the data can’t be sent faster than $R$. For each host with sending rate between 0 to $\frac{R}{2}$ the throughput at the receiver is equal to the sending rate, if however the sending rate is greater to $R$ the exceeding packet will be buffered by the router. In addition when the sending rate get closer to $\frac{R}{2}$ the average delay (packet managing, ..) increase very fust; that’s why it’s inconvenient to reach that sending rate.

2. Two senders and router with finite buffers: In this scenario, buffer overflow it’s an high risk and since the protocol must be reliable its must resend lost packet: as hosts offering rate approaches $\frac{R}{2}$, router sending rate approaches $R$ and \dfrac{1}{3} of the packet need to be resent, with a final throughput of $\frac{2R}{3}$ ($\frac{R}{3}$ for both host). Timeout can also occur because of the delay result from operating at high rates; in this case, assuming each packet is transmitted twice before receiving the first ACK, then the throughout would even lower ($\frac{R}{4}$ for each host).

3. Four senders, routers with finite buffers and multihop paths In case of multihops it may happens that some host physically closer to certain hops slowly occupy more and more bandwidth. In this case other connection passing trough that hop could potentially go to zero filling the previous hops with their offer load (that on the other hand it’s still not zero).

There are two possible congestion control mechanism

  • End-to-end - the transport layer is in charge of avoiding a network congestion
  • Network-assisted control - the network layer (in particular the router) are responsible for managing possible congestions
Go to top