Problem: Small Windows Result in Inefficient Use of Bandwidth

From a performance point of view, one of the main limitations of the original TCP design is that the 16-bit window size header limits the TCP receive window size to 2162^{16} bytes i.e., 65,53565,535 bytes. That means the sender can send at most 65,53565,535 bytes before it has to wait for an acknowledgment.

Round Trip Time vs. Bandwidth vs. Throughput

  • Round Trip Time is the amount of time it takes to send a packet and receive its acknowledgment.
  • Bandwidth is the rate at which the network can transport the bits.
  • Throughput is the amount of data that is actually transferred from one end-system to another.

So what if the round trip time is short enough to accommodate sending more data without having to wait for acknowledgments? The table below shows the rough maximum throughput that can be achieved by a TCP connection with a 64 KBytes window as a function of the connection’s round-trip-time:

RTT Maximum Throughput
1 msec 524 Mbps
10 msec 52.4 Mbps
100 msec 5.24 Mbps
500 msec 1.05 Mbps

This limitation was not a severe problem when TCP was designed, because at the time the available bandwidth was 5656 kbps at best. However, in today’s networks where the bandwidth can be in order gigabytes, this limitation is not acceptable.

Get hands-on with 1400+ tech skills courses.