Visual RFC.
ALL RFCs / RFC 6298
Read the RFC ↗
RFC 6298 / TCP retransmission timer

Respect special cases and bounds

05

The specification distinguishes SYN-timeout fallback, disambiguating timestamps, clock granularity and an optional maximum. Their conditions matter as much as the numbers.

RFC 6298 · § 5EXAMPLE
4 / 4
Respect special cases and boundsSeparate optional-cap policy blocks 55 seconds as invalid and permits chosen 60 seconds. Backoff 40000 to 80000 is bounded at 60000 under that choice; a cap is not mandatory and is not a universal timeout.Apply each exception with its conditionProposed cap: 55 sChosen cap: 60 srejectpermittedRTO 40000 × 2 = 80000 msWith cap 60000 → next RTO 60000No maximum is also permittedOptional maximum must be at least 60 sRecommended floor ≠ mandatory universal timeout
04
Validate an optional maximum

Separate configuration/backoff example:55 seconds is too small for a maximum. A chosen 60 second maximum is permitted and caps a 40000 ms timeout’s doubling at 60000 ms. It is not a universal required cap.

Source for this drawing: RFC 6298 · Read RFC section 5 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

Apply each exception only when its stated condition holds; an optional ceiling is not a universal timeout.

  • If a timer expires awaiting a SYN ACK while the implementation is using an RTO below 3 seconds, RTO MUST be re-initialized to 3 seconds when data transmission begins after the handshake (§5.7). A successful handshake without that timeout does not make every data RTO 3 seconds.
  • The timestamp option can remove retransmission ambiguity and permit an RTT sample (§3). The diagram uses symbolic transmission tags 10 and 20 and a returned 20; it illustrates correlation, not the full option encoding, timestamp clock or wraparound rules. Tags are not an authentication credential.
  • Clock granularity G has no prescribed value (§4). If variation is zero, the max(G,4×RTTVAR) term still uses G; this is required. The separate example SRTT 2000 ms/RTTVAR 0/G 10 ms gives RTO 2010 ms, not 2000 ms.
  • A maximum RTO MAY be configured, but it must be at least 60 seconds (§2.5). Choosing no maximum is permitted. A proposed 55 second maximum is invalid under this rule; an illustrative 60 second maximum caps 40000×2=80000 ms at 60000 ms when backing off (§5.5).
  • The recommended one-second computed minimum remains SHOULD; the optional maximum’s at-least 60 second condition must not be mistaken for a mandatory 60 second timeout for every connection.
  • §6 discusses manipulated delay and forged ACKs. This arithmetic does not authenticate feedback or replace TCP’s other validation/congestion rules. RFC 6298 is a timer specification, not a guarantee that any missing ACK proves a dead peer or that every retransmission represents network loss.
DETAILS

Each state is a separate exception/boundary example. Milliseconds are used for arithmetic;1 s=1000 ms,3 s=3000 ms and 60 s=60000 ms.

Read the RFC section ↗

All chapters in RFC 6298

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗