TCP Friendliness

TCP congestion control tries to bring solutions to the problem of packet loss, which happens in networks for several reasons:

  1. Increasing number of hosts connected to the network;
  2. Increased traffic to and from the hosts;
  3. Limited capacity of routers in between hosts and networks (Kurose & Ross, page 254).

Congestion is an important problem raised by multimedia streaming applications, where a high quantity of UDP packets (typically with audio and video information) is sent through the network with important rates. The problem with this approach is that UDP has no congestion traffic, and as such packets might be dropped by routers if a buffer overflow occurs. TCP, on the other hand, provides network congestion management, but

“TCP is not well-suited for many applications such as streaming multimedia, because TCP congestion control algorithms introduce large variations in the congestion window size (and corresponding large variations in the sending rate)”

(Kyasanur)

Network congestion, in turn, has complex consequences in terms of lower perceived quality of service, which is easily seen by the low quality of IP telephony communications in peak hours, bad quality video connections, and the commercial implications of these problems (difficulty to newcomers to provide innovative services, low acceptance by end users, etc). Continue reading