Network Working Group | F. L. Templin, Ed. |
Internet-Draft | Boeing Research & Technology |
Intended status: Informational | July 11, 2012 |
Expires: January 10, 2013 |
IPv6 Path MTU Updates
draft-generic-6man-tunfrag-04.txt
IPv6 intentionally deprecates fragmentation by routers in the network. Instead, links with restricting MTUs must either drop each too-large packet and return an ICMPv6 Packet Too Big (PTB) message or perform link-specific fragmentation (also known as "link adaptation") at a layer below IPv6. This latter category of links is often performance-challenged to accommodate steady-state link-specific fragmentation and reassembly to the point that it would be highly desirable to push the workload back to the IPv6 communication endpoints. A common case that exhibits these link characteristics is seen for IPv6-within-IP tunnels. Additionally, IPv6 nodes can avoid path MTU discovery issues even when no link adaptation is necessary by performing a small amount of fragmentation and/or by probing the path as necessary. This document therefore proposes an update to the base IPv6 specification to better accommodate path MTU issues.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 10, 2013.
Copyright (c) 2012 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 (http:/⁠/⁠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.
IPv6 intentionally deprecates fragmentation by routers in the network. Instead, links with restricting MTUs must either drop each too-large packet and return an ICMPv6 Packet Too Big (PTB) message or perform link-specific fragmentation (also known as "link adaptation") at a layer below IPv6. This latter category of links is often performance-challenged to accommodate steady-state link-specific fragmentation and reassembly to the point that it would be highly desirable to push the workload back to the IPv6 communication endpoints. A common case that exhibits these link characteristics is seen for IPv6-within-IP tunnels [I-D.generic-v6ops-tunmtu]. Additionally, IPv6 nodes can avoid path MTU discovery issues even when no link adapation is necessary by performing a small amount of fragmentation and/or by probing the path as necessary. This document therefore proposes an update to the base IPv6 specification to better accommodate path MTU issues.
The current "Internet cell size" is effectively 1500 bytes, i.e., the minimum MTU configured by the vast majority of links in the Internet. IPv6 constrains this even further by specifying a minimum link MTU of 1280 bytes [RFC2460]. However, due to operational issues with Path MTU Discovery (PMTUD) [RFC1981] these sizes can often only be accommodated when links with smaller link-layer segment sizes are permitted to perform link adaptation. A common example of such links is seen for IPv6-within-IP tunnels.
Unfortunately, link-layer fragmentation can present a significant burden to the link endpoints, i.e., especially when the link supports high data rates and/or is located nearer the "middle" of the network instead of nearer the "edge". An alternative therefore is to ask the originating IPv6 node to perform fragmentation on the packet before sending it out, in which case reassembly would be performed by the final destination.
In addition to the above considerations, it is becoming more and more evident that PMTUD uncertainties can be encountered even when there are no tunnels nor other links in the path that must perform link adaptation. This is due to the fact that the PTB messages required for PMTUD can be lost due to network filters that block ICMPv6 messages [RFC2923][WAND][SIGCOMM]. Originating IPv6 node are therefore advised to take precautions to avoid path MTU related failure modes.
This document updates the IPv6 protocol specification [RFC2460] to better accommodate paths with various MTUs as described in the following sections.
Section 5 of [RFC2460] states:
"IPv6 requires that every link in the internet have an MTU of 1280 octets or greater. On any link that cannot convey a 1280-octet packet in one piece, link-specific fragmentation and reassembly must be provided at a layer below IPv6."
This document does not propose to change this requirement, but notes that link-specific fragmentation can be burdensome for some links (e.g., IPv6-within-IP tunnels), to the point that it would be highly desirable for the fragmentation and reassembly to be offloaded to the IPv6 communication endpoints. In order to accommodate this, when the router at the link ingress performs link adaptation on a packet it should also send a PTB message back to the original source (subject to rate limiting) with a Next-Hop MTU less than 1280. Note that these PTB messages are advisory in nature and do not necessarily indicate packet loss.
As a result, in response to an IPv6 packet that is sent to an IPv6 destination located beyond a link that must perform link-specific fragmentation, the originating IPv6 node may receive a PTB message reporting a Next-Hop MTU less than 1280. In that case, the IPv6 node should perform IPv6 fragmentation on any subsequent packets that are larger than this MTU value but no larger than 1500 bytes using the MTU value as the maximum fragment size. These fragments will be reassembled by the final destination, which is required by Section 5 of [RFC2460] to configure a minimum reassembly buffer size of 1500 bytes.
An example tunnel protocol that invokes this behavior appears in: [I-D.templin-intarea-seal].
Regardless of whether there is a link in the path that performs link adaptation, when an originating IPv6 node receives a PTB message reporting a Next-Hop MTU value between 1280 and 1500 bytes, the node need not reduce the size of the packets it sends but may instead invoke fragmentation for packets up to 1500 bytes using a maximum fragment size of 1280 bytes. These fragments will again be reassembled by the final destination.
A more interesting situation arises when PTB messages are lost on the return path to the originating IPv6 node. Since the node has no way of discerning which paths may exhibit this condition, it may be better served to assume the worst case for all paths and take precautionary measures to avoid silent packet loss.
In one approach, an originating IPv6 node that wishes to ensure that packets between 1281 and 1500 bytes in length will reach the destination can use "proactive fragmentation" to fragment the packets into two pieces that are no larger than 1280 bytes. In a second approach, the node can use Packetization Layer Path MTU Discovery (PLPMTUD) [RFC4821] without fragmentation to verify that packets larger than 1280 bytes are reaching the final destination.
An originating IPv6 node connected to a link that supports an MTU of 1500 bytes or larger is permitted to send packets larger than 1500 bytes without fragmentation, but should implement [RFC4821] to verify that these larger packets are reaching the final destination.
There are no IANA considerations for this document.
The security considerations for [RFC2460] apply also to this document.
This method was inspired through discussion on the IETF v6ops and NANOG mailing lists in the May through July 2012 timeframe.
[RFC2460] | Deering, S.E. and R.M. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. |
[I-D.templin-intarea-seal] | Templin, F, "The Subnetwork Encapsulation and Adaptation Layer (SEAL)", Internet-Draft draft-templin-intarea-seal-30, August 2011. |
[I-D.generic-v6ops-tunmtu] | Templin, F, "Operational Issues with Tunnel Maximum Transmission Unit (MTU)", Internet-Draft draft-generic-v6ops-tunmtu-08, June 2012. |
[RFC4821] | Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, March 2007. |
[RFC1981] | McCann, J., Deering, S. and J. Mogul, "Path MTU Discovery for IP version 6", RFC 1981, August 1996. |
[RFC2923] | Lahey, K., "TCP Problems with Path MTU Discovery", RFC 2923, September 2000. |
[WAND] | Luckie, M, Cho, K and B Owens, "Inferring and Debugging Path MTU Discovery Failures", October 2005. |
[SIGCOMM] | Luckie, M and B Stasiewicz, "Measuring Path MTU Discovery Behavior", November 2010. |