Visual RFC.
ALL RFCs / RFC 6691
Read the RFC ↗
RFC 6691 / MECHANISMS

Choose conservatively when interface budgets vary

05

Some interfaces have a changing effective MTU, for example when header compression occasionally needs full headers to resynchronize. A fixed receive advertisement must account for that risk.

RFC 6691 · § 5.2EXAMPLE
4 / 4
04
Continue adjusting actual packets for headers.

With 20 additional-header bytes, the sender uses at most 1200 data bytes. Total 60 fixed plus 20 additional plus 1200 data is 1280, fitting either illustrated interface budget.

Choose conservatively when interface budgets varyWith 20 additional-header bytes, the sender uses at most 1200 data bytes. Total 60 fixed plus 20 additional plus 1200 data is 1280, fitting either illustrated interface budget.Actual headers still reduce the dataOne IPv6 interface · illustrative effective MTUslarger state: 1500smaller state: 1280MSS 1220 − 20 extra = 1200 data60 base + 20 extra + 1200 data = 1280Fits both illustrated budgets; actual delivery is separate

Key idea: For a packet-to-packet varying interface, use of its smallest effective MTU is a SHOULD, not an unconditional MUST.

Terms

Look up a term in the glossary ↗

Rules & examples
  • RFC 6691 section 5.2 says TCP SHOULD use the smallest effective MTU of a varying interface to calculate its advertised MSS. RFC 9293 section 3.7.3 retains this recommendation as SHLD-6.
  • The example IPv6 interface alternates between effective packet budgets 1500 and 1280. Choosing only 1500 would suggest MSS 1440; a full-sized no-options packet would then exceed the 1280 state.
  • Choosing the smaller effective MTU 1280 gives 1220 after the 40-byte IPv6 base header and 20-byte TCP base header. That leaves room for a no-options packet in either illustrated interface state.
  • Actual additional headers still reduce data per packet: with 20 extra-header bytes,1220 −20 =1200 data bytes. The advertised 1220 does not itself shrink each time options change.
  • Exception outside these ordinary examples: RFC 6691 section 5.3 discusses IPv6 jumbograms. Under RFC 2675, an MSS value 65535 has special infinity semantics; it is not a universal literal 65535-byte data cap. Path MTU Discovery determines the actual limit.

The two budgets are fictional inputs, not a model of ROHC compression. This chapter teaches the recommendation and its motivation, without claiming every deviation from SHOULD is forbidden. The jumbogram rule is a boundary note, not implemented by the ordinary-packet helper.

Sources
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.

This guide explains the 2012 publication. Superseded by RFC 9293.

Related RFCs and changes

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

What changed
RFC 6691 · July 2012 Informational clarificationRFC 9293 · current TCP specification

RFC 9293 obsoletes RFC 6691 and incorporates this sizing distinction. This historical guide does not replace the current TCP specification.

Read the updated RFC section ↗

All chapters in RFC 6691

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 ↗