Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Share this Page URL

Chapter 14. TCP Timeout and Retransmissi... > Setting the Retransmission Timeout (... - Pg. 651

Section 14.3 Setting the Retransmission Timeout (RTO) 651 Of immediate interest is the value called TcpMaxDataRetransmissions. This corresponds to the value of tcp_retries2 in Linux. It has a default value of 5. Even in the simple retransmission example we have seen so far, TCP is required to assign some timeout value to its retransmission timer to dictate how long it should await an ACK for data it sends. If TCP were only ever used in one static environment, it would be possible to determine one particular correct value for the timeout value. Because TCP needs to operate in a large variety of environments, which themselves may change over time, TCP needs to determine this timeout value based on the current situation. For example, if a network link failed and traf- fic were rerouted, the RTT would change (possibly in a major way). In other words, TCP needs to dynamically determine its RTO. We consider this problem next. 14.3 Setting the Retransmission Timeout (RTO) Fundamental to TCP's timeout and retransmission procedures is how to set the RTO based upon measurement of the RTT experienced on a given connection. If TCP retransmits a segment earlier than the RTT, it may be injecting duplicate traffic into the network unnecessarily. Conversely, if it delays sending until much longer than one RTT, the overall network utilization (and single-connection