Packetization Layer Path MTU Discovery for Datagram Transports
RFC 8899
Document | Type | RFC - Proposed Standard (September 2020; No errata) | |
---|---|---|---|
Authors | Gorry Fairhurst , Tom Jones , Michael Tüxen , Irene Ruengeler , Timo Voelker | ||
Last updated | 2020-09-11 | ||
Replaces | draft-fairhurst-tsvwg-datagram-plpmtud | ||
Stream | Internet Engineering Task Force (IETF) | ||
Formats | plain text html xml pdf htmlized (tools) htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication (wg milestone: Apr 2020 - Submit 'Packetizatio... ) | |
Document shepherd | Wesley Eddy | ||
Shepherd write-up | Show (last changed 2020-02-07) | ||
IESG | IESG state | RFC 8899 (Proposed Standard) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Magnus Westerlund | ||
Send notices to | Wesley Eddy <wes@mti-systems.com> | ||
IANA | IANA review state | IANA OK - No Actions Needed | |
IANA action state | No IANA Actions |
Internet Engineering Task Force (IETF) G. Fairhurst Request for Comments: 8899 T. Jones Updates: 4821, 4960, 6951, 8085, 8261 University of Aberdeen Category: Standards Track M. Tüxen ISSN: 2070-1721 I. Rüngeler T. Völker Münster University of Applied Sciences September 2020 Packetization Layer Path MTU Discovery for Datagram Transports Abstract This document specifies Datagram Packetization Layer Path MTU Discovery (DPLPMTUD). This is a robust method for Path MTU Discovery (PMTUD) for datagram Packetization Layers (PLs). It 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. It can also probe a network path to discover whether the maximum packet size can be increased. This provides functionality for datagram transports that is equivalent to the PLPMTUD specification for TCP, specified in RFC 4821, which it updates. It also updates the UDP Usage Guidelines to refer to this method for use with UDP datagrams and updates SCTP. The document provides implementation notes for incorporating Datagram PMTUD into IETF datagram transports or applications that use datagram transports. This specification updates RFC 4960, RFC 4821, RFC 6951, RFC 8085, and RFC 8261. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8899. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction 1.1. Classical Path MTU Discovery 1.2. Packetization Layer Path MTU Discovery 1.3. Path MTU Discovery for Datagram Services 2. Terminology 3. Features Required to Provide Datagram PLPMTUD 4. DPLPMTUD Mechanisms 4.1. PLPMTU Probe Packets 4.2. Confirmation of Probed Packet Size 4.3. Black Hole Detection and Reducing the PLPMTU 4.4. The Maximum Packet Size (MPS) 4.5. Disabling the Effect of PMTUD 4.6. Response to PTB Messages 4.6.1. Validation of PTB Messages 4.6.2. Use of PTB Messages 5. Datagram Packetization Layer PMTUD 5.1. DPLPMTUD Components 5.1.1. Timers 5.1.2. Constants 5.1.3. Variables 5.1.4. Overview of DPLPMTUD Phases 5.2. State Machine 5.3. Search to Increase the PLPMTU 5.3.1. Probing for a Larger PLPMTU 5.3.2. Selection of Probe Sizes 5.3.3. Resilience to Inconsistent Path Information 5.4. Robustness to Inconsistent Paths 6. Specification of Protocol-Specific Methods 6.1. Application Support for DPLPMTUD with UDP or UDP-Lite 6.1.1. Application Request 6.1.2. Application Response 6.1.3. Sending Application Probe Packets 6.1.4. Initial Connectivity 6.1.5. Validating the Path 6.1.6. Handling of PTB Messages 6.2. DPLPMTUD for SCTP 6.2.1. SCTP/IPv4 and SCTP/IPv6 6.2.1.1. Initial Connectivity 6.2.1.2. Sending SCTP Probe Packets 6.2.1.3. Validating the Path with SCTP 6.2.1.4. PTB Message Handling by SCTP 6.2.2. DPLPMTUD for SCTP/UDP 6.2.2.1. Initial Connectivity 6.2.2.2. Sending SCTP/UDP Probe Packets 6.2.2.3. Validating the Path with SCTP/UDP 6.2.2.4. Handling of PTB Messages by SCTP/UDP 6.2.3. DPLPMTUD for SCTP/DTLS 6.2.3.1. Initial Connectivity 6.2.3.2. Sending SCTP/DTLS Probe PacketsShow full document text