How TCP ensures smooth end-to-end performance

Opinion
Jun 30, 20052 mins

* TCP's effective transmission window

Last time, we discussed the fact that TCP has a flow control mechanism for each connection. The mechanism is based on a field in the segment header called the “Advertised Window”. The Advertised Window specifies how many additional bytes of data the receiver can accept.

Last time, we discussed the fact that TCP has a flow control mechanism for each connection. The mechanism is based on a field in the segment header called the “Advertised Window.” The Advertised Window specifies how many additional bytes of data the receiver can accept.  

The goal of congestion control is to ensure that the sending device does not transmit more data than the network can accommodate. To achieve this goal, the TCP congestion control mechanisms are based on a parameter referred to as the “Congestion Window.” Determining the optimum value for the Congestion Window is somewhat tricky, particularly because network congestion changes over time.

In order to ensure smooth end-to-end performance, TCP defines a parameter that is referred to as “Max Window.” It is helpful to think of Max Window as being an upper limit on the number of bytes that the sender could transmit at any point in time. In order to ensure that the sending device does not send more data than the network and the receiving device can accommodate, Max Window is defined to be the lesser of Advertised Window and Congestion Window.

However, data is continually being transmitted from the sending device to the receiving device and acknowledged by the receiving device. To account for this, TCP defines a parameter called Effective Window. Effective Window is equal to Max Window minus the number of bytes that have been sent, but not acknowledged.

The next newsletter will describe some techniques that are used to compute the Congestion Window.

Jim has a broad background in the IT industry. This includes serving as a software engineer, an engineering manager for high-speed data services for a major network service provider, a product manager for network hardware, a network manager at two Fortune 500 companies, and the principal of a consulting organization. In addition, Jim has created software tools for designing customer networks for a major network service provider and directed and performed market research at a major industry analyst firm. Jim’s current interests include both cloud networking and application and service delivery. Jim has a Ph.D. in Mathematics from Boston University.

More from this author