Visual RFC.
ALL RFCs / RFC 6298
Read the RFC ↗

RFC 6298 / START HERE

TCP retransmission timer, before the details

RTO means Retransmission Timeout. TCP measures round-trip time (RTT) to decide how long to wait for an acknowledgment before timer-based recovery.

A TCP sender keeps unacknowledged data and runs a timer. RFC 6298 sets the algorithm for estimating that timeout from timing samples, managing its deadline, and backing off when it expires.

The idea in one picture

  1. Send and time

  2. Estimate delay

  3. Wait or retry

A simplified picture of the idea; the chapters explain the actual mechanisms.

Why it exists

A fixed short timeout retries too eagerly; a fixed long timeout delays recovery. This publication updates RFC 1122 and replaces RFC 2988 with an adaptive estimate, mandatory sample-order rules and a recommended one-second initial timeout. It complements TCP congestion control.

A familiar example

Imagine waiting for a receipt before sending another copy of a parcel. If you send two copies, a late receipt may not tell you which copy it answers—so that timing should not train the estimate. In the chosen clean 800 ms example, the first estimate becomes 2400 ms, not a universal 800 ms timeout. An ACK is not an application-level storage receipt.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Start and take a first sampleTCP keeps a retransmission timeout, or RTO, for recovering when acknowledgments do not arrive. It estimates round-trip time rather than using one fixed timeout for every connection.
  2. Update variation before the meanAfter the first sample, TCP blends new timing with old estimates. Variation must use the old smoothed RTT before that mean is updated; reversing the order changes the timeout.
  3. Start, restart and stop the timerThe recommended timer-management algorithm follows outstanding data. Starting a timer, restarting it for an ACK that advances delivery, and turning it off are different events.
  4. Back off and reject ambiguous samplesWhen an RTO expires, TCP retransmits the earliest unacknowledged segment and doubles the timeout. An ACK after a retransmission may confirm data but cannot normally tell which transmission it answered.
  5. Respect special cases and boundsThe specification distinguishes SYN-timeout fallback, disambiguating timestamps, clock granularity and an optional maximum. Their conditions matter as much as the numbers.
Start with chapter one →

This introduction explains RFC 6298 (2011). Read the original RFC ↗