Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

TCP was designed to provide optimum performance over varying link conditions, and Windows Embedded CE contains improvements such as those supporting RFC 1323. Actual throughput for a link depends on a number of variables, but the most important factors are:

  • Link speed (bits/second that can be transmitted)

  • Propagation delay

  • Window size (amount of unacknowledged data that may be outstanding on a TCP connection)

  • Link reliability

  • Network and intermediate device congestion

TCP throughput calculation is discussed in detail in Chapters 20–24 of TCP/IP Illustrated,by W. Richard Stevens. Some key considerations are as follows:

  • The capacity of a pipe is the bandwidth multiplied by round-trip time. This is known as the bandwidth-delay product. If the link is reliable, for best performance the window size should be greater than or equal to the capacity of the pipe so that the sending stack can fill it. A window size of 65535 is the largest that can be specified due to its 16-bit field in the TCP header, but larger Windows can be negotiated by using window scaling as described earlier. See TcpWindowSizein TCP/IP Security.

  • Throughput can never exceed the window size divided by the round-trip time.

  • Propagation delay is dependent upon the speed of light and latencies in transmission equipment and so on.

  • Transmission delay depends on the speed of the media.

  • For a given path, propagation delay is fixed, but transmission delay depends upon the packet size.

  • At low speeds, transmission delay is the limiting factor. At high speeds, propagation delay may become the limiting factor.

To summarize, Windows Embedded CE TCP/IP can adapt to most network conditions, and can dynamically provide great throughput and reliability on a per-connection basis. Attempts at manual tuning are often counter-productive unless a qualified network engineer first performs a careful study of data flow.

See Also