TCP Window Scaling
In this lesson, we'll discuss TCP window scaling!
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 bytes i.e., bytes. That means the sender can send at most 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 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.