Visual RFC.
ALL RFCs / RFC 8201
Read the RFC ↗
RFC 8201 / IPv6 Path MTU

Budget headers and data

03

PMTU limits the complete IPv6 packet. Its headers consume part of that budget. A packetization layer—TCP or an application protocol above UDP—chooses message sizes; a router does not silently resize application messages.

RFC 8201 · § 5.1EXAMPLE
4 / 4
Budget headers and dataA separate source-fragmentation example starts with 40 IPv6 + 8 UDP + 1452 data bytes. The 1460 bytes after the base header split into 1232 and 228 bytes, each with 48 headers. Packets are 1280 and 276 bytes, offsets 0 and 154, M bits 1 and 0, same Identification. The first contains the entire UDP header. The receiver reassembles; a router does not repair a dropped packet.PMTU counts headers as well as dataSourceReceivertwo source-created fragments1280-byte packet · offset 0 · M=148 headers + 1232 octets after Fragment header276-byte packet · offset 154 · M=048 headers + 228 octets after Fragment headerOriginal: 40 IPv6 + 8 UDP + 1452 data = 1500Offsets use 8-octet units · same ID for both
04
Fragment at the source if necessary

Separate source-fragmentation alternative for the 1500-byte original:1460 octets after the base header (8 UDP +1452 data) split into 1232 and 228. Add48 header bytes per fragment. Offsets 0 and154, M bits1 then 0; the destination reassembles. Neither fragment exceeds 1280.

Source for this drawing: RFC 8201 · Read RFC section 5.1 ↗

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

Subtract the headers that are actually present, and distinguish smaller messages from source fragmentation.

  • §5.1 defines the maximum send transport-message size by subtracting IPv6 headers, including extension headers, from the effective sending size. When avoiding source fragmentation, that effective size is the PMTU. UDP’s eight-byte header is additional overhead (RFC 768).
  • The chosen no-options UDP example at PMTU 1400 has 40 IPv6 +8 UDP +1352 data octets. Adding a chosen 8-byte Destination Options header leaves 1344 data octets. Extension headers do not all have this size; real headers must be counted.
  • At PMTU 1280, a no-extension UDP packet has at most 1232 data octets. UDP does not split an existing datagram into several application messages automatically. The application protocol must support any repacketization, or source fragmentation may be needed (§§5.1,5.5).
  • A source can fragment a larger IPv6 packet into fragments that each fit the PMTU; routers cannot (RFC 8200§4.5). The final state uses a 1500-byte original packet:40 IPv6 +8 UDP +1452 data. Its 1460 octets after the base header (8 UDP +1452 data) becomes 1232 and 228-byte pieces, each with40 IPv6 +8 Fragment-header overhead:1280 and 276-byte fragments.
  • The first fragment has offset 0/M=1; the second has offset154/M=0, since 1232/8=154 (RFC 8200§4.5). The first contains the entire UDP header. Widths for those fragment pieces share one byte scale. Reassembly happens at the destination; this is an alternative source-fragmentation example, not the router repairing an earlier dropped packet.
  • Packetization layers are encouraged to avoid source fragmentation (§5.1). A PMTU probe must not be fragmented down to the old PMTU (§5.4), which would defeat its test. Reliable retransmissions still need congestion control; a PTB-indicated PMTU probe loss is not itself a congestion notification (§5.4). TCP also remains bound by its peer MSS, independently of PMTU.
DETAILS

Chosen UDP data and 8-byte extension examples. Header/data widths in packet budgets are proportional. Fragment offsets count eight-octet units, not packet sequence numbers.

Read the RFC section ↗

All chapters in RFC 8201

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 ↗