rfc-8201

Path MTU Discovery for IP version 6

J. McCann, S. Deering, J. Mogul, R. Hinden (Editor)
date2017-07 streamIETF areaint wg6man statusINTERNET STANDARD pages19 canonicalhttps://www.rfc-editor.org/rfc/rfc8201 doi10.17487/RFC8201
This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.

obsoletes

also

Extracted elements (24)

design-rationale §3

For multicast destinations, the minimum PMTU across all paths to all receivers determines the packet size sent, since a single packet may traverse many different paths and generate multiple Packet Too Big messages each reporting a different next-hop MTU.

ip, multicast

design-rationale §Appendix A

IPv6 has no Don't Fragment (DF) bit (unlike IPv4/RFC 1191) and all Packet Too Big messages report the MTU of the constricting link, eliminating the need for MTU plateau tables used in IPv4 PMTUD.

ip, v6ops

design-rationale §5.1

Packetization layers are encouraged to avoid sending messages requiring source fragmentation because fragmentation degrades performance and reliability. When source fragmentation is not desired, EMTU_S is set to PMTU and the upper layer must limit its message sizes accordingly.

ip, v6ops

design-rationale §5.1

PMTU information is suggested to be stored at the IP layer (not the packetization layer) so it can be shared across different transport connections and protocols, avoiding duplicated implementation effort and allowing long-term caching independent of connection state.

ip, v6ops

design-rationale §5.3

PMTU values should be aged (invalidated after roughly 10 minutes without a decrease) so that increases in the actual path MTU can be discovered. Stale values that are too small have no self-correcting mechanism unlike stale values that are too large.

ip, v6ops

interoperability-note §5.5

For transport protocols that cannot repacketize on retransmission, the IP layer may fragment the original segment during retransmission. Subsequent new segments should be no larger than allowed by the Path MTU.

ip, tcp, sctp

interoperability-note §3

Path MTU Discovery must be performed even when a node believes a destination is on the same link, because a neighboring router acting as a proxy may make a multi-hop destination appear directly connected, and the actual PMTU may be lower than the link MTU.

ip, v6ops

interoperability-note §5.4

The TCP MSS option value sent by a node reflects EMTU_R (the receiver's reassembly limit) and is independent of the sender's PMTU. The peer uses the received MSS as an upper bound on segment size regardless of its own PMTU value.

ip, tcp

interoperability-note §6

When ICMPv6 filtering prevents reception of PTB messages, PMTUD fails silently and can cause black-hole connections. Packetization Layer Path MTU Discovery (RFC 4821) does not rely on ICMPv6 and is more robust in filtered environments.

ip, v6ops, security

normative-requirement §5.4 MUST NOT

A loss caused by a PMTU probe indicated by reception of a Packet Too Big message must not be considered a congestion notification, and hence the congestion window may not change.

ip, congestion, tcp

normative-requirement §4 MUST NOT

A node must not increase its estimate of the Path MTU in response to the contents of a Packet Too Big message, as such a message might be stale, forged, or reflect multipath conditions.

ip, v6ops, security

normative-requirement §4 MUST NOT

A node must not reduce its estimate of the Path MTU below the IPv6 minimum link MTU on receipt of a Packet Too Big message. If a Packet Too Big message reports a next-hop MTU less than the IPv6 minimum link MTU, the node must discard it.

ip, v6ops

normative-requirement §5.4 MUST

A packetization layer must use the PMTU for the path(s) in use by a connection and should not send segments that would result in packets larger than the PMTU, except for PMTU probes (which must not be fragmented to the PMTU).

ip, tcp, v6ops

normative-requirement §5.4 MUST

A TCP implementation must store the Maximum Segment Size (MSS) received from its peer (representing EMTU_R) and must not send any segment larger than this MSS, regardless of the PMTU.

ip, tcp

normative-requirement §4 MUST

After receiving a Packet Too Big message, a node must attempt to avoid eliciting more such messages and must reduce the size of packets it is sending along the path.

ip, v6ops

normative-requirement §4 MUST NOT

An attempt to detect a PMTU increase by sending a packet larger than the current estimate must not be done less than 5 minutes after a Packet Too Big message has been received for the given path. The recommended timer setting is 10 minutes.

ip, v6ops

normative-requirement §1 MUST

Nodes not implementing Path MTU Discovery must use the IPv6 minimum link MTU as the maximum packet size.

ip, v6ops

normative-requirement §4 SHOULD

Nodes should appropriately validate the payload of ICMPv6 PTB messages to ensure they were received in response to traffic actually transmitted by the node, per RFC 4443.

ip, v6ops, security

normative-requirement §4 MUST

When a node receives a Packet Too Big message, it must reduce its estimate of the PMTU for the relevant path based on the MTU field value in the message.

ip, v6ops

protocol-element §5.1

EMTU_S (Effective MTU for sending) is the largest IP packet that can be sent; MMS_S (maximum send transport-message size) is EMTU_S minus the IPv6 header size. When source fragmentation is not desired, EMTU_S is set to PMTU.

ip, tcp

protocol-element §3

Path MTU Discovery uses ICMPv6 Packet Too Big (PTB) messages to determine the MTU of a path. When a router cannot forward a packet due to its size, it discards the packet and returns a PTB message containing the MTU of the constricting link.

ip, v6ops

protocol-element §5.2

PMTU information may be keyed by destination address, flow id (source address plus non-zero flow label), or source route. Storing per-destination or per-flow allows optimally sized packets; a single global PMTU is the minimal implementation.

ip, v6ops

security-consideration §6

A malicious party can send false Packet Too Big messages claiming a PMTU larger than reality, causing temporary packet drops and black-hole connections. The defense is that a node must never raise its PMTU estimate based on a PTB message.

ip, security, v6ops

state-machine §3

PMTU discovery iterates through states: (1) assume PMTU equals first-hop link MTU; (2) send packets; (3) on receiving PTB, reduce PMTU estimate and reduce packet size; (4) periodically probe for PMTU increase (no sooner than 5 minutes after last PTB). The process ends when the estimate is at or below the actual PMTU.

ip, v6ops