Congestion physically occurs at the network layer (i.e. in routers), however itās mainly caused by the transport layer sending too much data at once. That means it will have to be dealt with or ācontrolledā at the transport layer as well.
Traffic congestion at Times Square, NYC.
Traffic congestion at Times Square, NYC.
š Note Congestion control also occurs in the network layer, but weāre skipping over that detail for now since the focus of this chapter is the transport layer. So congestion control with TCP is end-to-end; it exists on the end-systems and not the network. Also note that in this lesson, the term delay means end-to-end message delay.
Congestion control is really just congestion avoidance. Hereās how the transport layer controls congestion:
It sends packets at a slower rate in response to congestion,
The āslower rateā is still fast enough to make efficient use of the available capacity,
Changes in the traffic are also kept track of.
Congestion control algorithms are based on these general ideas and are built into transport layer protocols like TCP. Letās also look at a few principles of bandwidth allocation before moving on.