Technical Summary:
This document describes a robust method for Path MTU Discovery
(PMTUD) for datagram Packetization Layers (PLs). It describes an
extension to RFC 1191 and RFC 8201, which specifies ICMP-based Path
MTU Discovery for IPv4 and IPv6. The method allows a PL, or a
datagram application that uses a PL, to discover whether a network
path can support the current size of datagram. This can be used to
detect and reduce the message size when a sender encounters a packet
black hole (where packets are discarded). The method can probe a
network path with progressively larger packets to discover whether
the maximum packet size can be increased. This allows a sender to
determine an appropriate packet size, providing functionality for
datagram transports that is equivalent to the Packetization Layer
PMTUD specification for TCP, specified in RFC 4821.
The document updates RFC 4821 to specify the method for datagram PLs,
and updates RFC 8085 as the method to use in place of RFC 4821 with
UDP datagrams. Section 7.3 of RFC4960 recommends an endpoint apply
the techniques in RFC4821 on a per-destination-address basis.
RFC4960 is updated to recommend that SCTP uses the method specified
in this document instead of the method in RFC4821.
The document also provides implementation notes for incorporating
Datagram PMTUD into IETF datagram transports or applications that use
datagram transports.
When published, this specification updates RFC 4821, RFC 4960 and RFC 8085.
Working Group Summary:
There were no major controversies or points of questionable consensus in
the process of working on this document. The document is somewhat
related to work in other working groups (such as QUIC), since it lays out
the framework for path MTU discovery that can be used in any
datagram-based protocol.
Document Quality:
There have been a number of separate implementations at different stages
of the document's maturity. An implementation for SCTP targets the
FreeBSD kernel, and is starting the review process to be included. This
code also is the basis for a userland stack currently used in browsers for
WebRTC data channels. Another implementation with UDP options was
done for the FreeBSD kernel, though has not tracked the draft since 2018.
Three early implementations were also done as part of the EU MAMI project,
to test possible algorithms and check if the specification could be
implemented, but these did not enter production code. Two of these
implementations were with UDP application protocols, for testing, and the
third was for a QUIC implementation.
Personnel:
Wesley Eddy is the document shepherd.
Magnus Westerlund is the responsible AD.