Network Working Group F. Templin, Ed. Internet-Draft Boeing Phantom Works Intended status: Informational September 25, 2007 Expires: March 28, 2008 Minimal Packetization Layer Path MTU Discovery for IP/*/IPv4 Tunnels draft-templin-inetmtu-lite-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 28, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract The nominal Maximum Transmission Unit (MTU) of the Internet has become 1500 bytes, but existing IP/*/IPv4 tunneling mechanisms impose an encapsulation overhead that can reduce the effective path MTU to smaller values. Additionally, existing IP/*/IPv4 tunneling mechanisms are limited in their ability to discover and utilize larger MTUs. This document specifies minimal mechanisms for conveying packets over IP/*/IPv4 tunnels that address these issues. Templin Expires March 28, 2008 [Page 1] Internet-Draft M/PLPMTUD for Tunnels September 2007 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Concept of Operation . . . . . . . . . . . . . . . . . . . . . 4 4. MTU and EMTU_R . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Tunnel Soft State . . . . . . . . . . . . . . . . . . . . . . 4 6. Sending Packets . . . . . . . . . . . . . . . . . . . . . . . 5 6.1. Conceptual Sending Algorithm . . . . . . . . . . . . . . . 5 6.2. Inner packet Fragmentation . . . . . . . . . . . . . . . . 6 6.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 7 6.4. Outer Packet Fragmentation . . . . . . . . . . . . . . . . 9 6.5. Setting DF in the Outer Header . . . . . . . . . . . . . . 9 7. Receiving Packets . . . . . . . . . . . . . . . . . . . . . . 9 7.1. IPv4 Reassembly Cache Management . . . . . . . . . . . . . 9 7.2. Decapsulation . . . . . . . . . . . . . . . . . . . . . . 9 7.3. Receiving Packet Too Big (PTB) Errors . . . . . . . . . . 9 8. Tunnel Qualification and Soft State Management . . . . . . . . 10 8.1. Basic Probing Strategy . . . . . . . . . . . . . . . . . . 10 8.2. MaxFragSize Probing . . . . . . . . . . . . . . . . . . . 10 8.3. Sending Probe Requests . . . . . . . . . . . . . . . . . . 10 8.4. Receiving Probe Requests . . . . . . . . . . . . . . . . . 11 8.5. Sending Probe Replies . . . . . . . . . . . . . . . . . . 11 8.6. Receiving Probe Replies . . . . . . . . . . . . . . . . . 11 9. 8-bit Fletcher Checksum Calculation . . . . . . . . . . . . . 11 10. Updated Specifications . . . . . . . . . . . . . . . . . . . . 12 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 12. Security Considerations . . . . . . . . . . . . . . . . . . . 13 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14.1. Normative References . . . . . . . . . . . . . . . . . . . 14 14.2. Informative References . . . . . . . . . . . . . . . . . . 14 Appendix A. Discussion . . . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 15 Intellectual Property and Copyright Statements . . . . . . . . . . 16 Templin Expires March 28, 2008 [Page 2] Internet-Draft M/PLPMTUD for Tunnels September 2007 1. Introduction The nominal Maximum Transmission Unit (MTU) of today's Internet has become 1500 bytes due to the preponderance of networking gear that configures an MTU of that size. Since not all links in the Internet configure a 1500 byte MTU, however [RFC3819], packets can be dropped due to an MTU restriction on the path. Internet Protocol, Version 4 (IPv4) [RFC0791] is the predominant network layer protocol in the Internet today, and it is likely that IP/*/IPv4 tunnel use will continue to grow into the future. Upper layers see IP/*/IPv4 tunnels as ordinary links, but even for packets no larger than 1500 bytes these links are susceptible to silent loss (e.g., due to path MTU restrictions, lost error messages, layered encapsulations, reassembly buffer limitations, etc.) resulting in poor performance and/or communications failures [RFC2923][RFC4459][RFC4821][RFC4963]. This document specifies minimal mechanisms for IP/*/IPv4 tunnels that provide robust handling for packets of 1500 bytes or smaller and best-effort handling for packets larger than 1500 bytes. It updates the functional specifications for Tunnel Endpoints (TEs) found in existing IP/*/IPv4 tunneling mechanisms (see: Section 10). 2. Terminology The following abbreviations and terms are used in this document: DF - the IPv4 header "Don't Fragment" flag ([RFC0791], Section 3.1). EMTU_R - Effective MTU to Receive ([RFC1122], Section 3.3.2). ENCAPS - the size of the encapsulating */IPv4 headers plus trailers. IPv4 - Internet Protocol, Version 4 IPv6 - Internet Protocol, Version 6 MaxFragSize - Maximum Outer Packet size, in bytes MTU - Maximum Transmission Unit PTB - Packet Too Big error Templin Expires March 28, 2008 [Page 3] Internet-Draft M/PLPMTUD for Tunnels September 2007 TE - Tunnel Endpoint TFE - Tunnel Far End TNE - Tunnel Near End IP/*/IPv4 - an IP packet encapsulated in */IPv4 headers (e.g. for "*" = NULL, UDP, TCP, AH, ESP, etc.). inner packet/header/payload - an IP packet/header/payload before IP/*/IPv4 encapsulation. outer packet/header/payload - a */IPv4 packet/header/payload after IP/*/IPv4 encapsulation. 3. Concept of Operation TEs that implement this scheme engage in a continuous probing process while data is flowing through the tunnel to confirm that the TFE is participating and to maintain soft state used for determining maximum packet sizes. When the flow of data through the tunnel is suspended, the probing process is discontinued. When one or both of the TEs do not implement the scheme, the behavior automatically reverts to that of the legacy IP/*/IPv4 tunneling mechanism. 4. MTU and EMTU_R TEs configure an indefinite MTU on the tunnel interface, i.e., there is no logical limit on the size of inner packets that upper layers can present to the tunnel interface. TEs MUST configure an EMTU_R that is no smaller than 2048 bytes (2KB) on all IPv4 interfaces over which a tunnel interface is configured. Additionally, they MUST configure an EMTU_R that is no smaller than 2KB on the tunnel interface, and SHOULD configure an EMTU_R that is no smaller than the largest EMTU_R of any IPv4 interfaces over which the tunnel is configured. See: [RFC1122], Section 3.3.2 for EMTU_R recommendations. 5. Tunnel Soft State TEs maintain the following per-TFE conceptual variables as soft state (e.g., in a conceptual neighbor cache): Templin Expires March 28, 2008 [Page 4] Internet-Draft M/PLPMTUD for Tunnels September 2007 MaxFragSize the current maximum length outer packet/fragment that can be accommodated by the IPv4 path MTU without further fragmentation. See: [RFC3819], Section 2 for subnetwork MTU recommendations that influence 'MaxFragSize'. Recommended default value: 128 bytes. Range: 68 bytes to 64KB. IPv4Id the current IPv4 ID value that the TE will assign in the outer IPv4 header of packets it sends into the tunnel. Initial value: randomly chosen. Range: 0 to 2^16-1. isQualified boolean indicating whether the TFE implements the scheme. Recommended default value: FALSE. 6. Sending Packets TEs send packets across tunnels to TFEs for which 'isQualified' is TRUE according to the following specifications. (TEs also use portions of the following specifications to qualify new TFEs through initial 'isQualified' probing). 6.1. Conceptual Sending Algorithm With reference to Sections 6.2 - 6.5, TEs use the following conceptual sending algorithm: Templin Expires March 28, 2008 [Page 5] Internet-Draft M/PLPMTUD for Tunnels September 2007 if inner packet is larger than 1500 bytes and inner packet is not fragmentable (see: Section 6.2) Encapsulate as an outer IPv4 packet (see: Section 6.3). Set DF in the outer header per Section 6.5. Send packet. else if inner packet is larger than 2*('MaxFragSize' - ENCAPS) and inner packet is not a probe if inner packet is not fragmentable (see: Section 6.2) Send PTB appropriate to the inner protocol with MTU = 2*('MaxFragSize' - ENCAPS). Drop packet. else Fragment inner packet into fragments no larger than 2*('MaxFragSize' - ENCAPS) (see: Section 6.2). endif endif foreach inner packet/fragment Encapsulate as an outer IPv4 packet (see: Section 6.3). if outer packet is not a probe fragment outer packet into fragments no larger than 'MaxFragSize' (see: Section 6.4). endif foreach outer packet/fragment Set DF in the outer header per Section 6.5. Send packet/fragment. endforeach endforeach endif Figure 1: Conceptual Sending Algorithm 6.2. Inner packet Fragmentation An inner packet is fragmentable IFF the TE is permitted to break it into inner fragments before encapsulation, e.g., an IPv4 packet with DF=0, an IPv6 packet of 1280 bytes or smaller with a fragment header (see below), etc. TEs break fragmentable inner packets into inner fragments of no more than 2*('MaxFragSize' - ENCAPS) bytes. The TE then encapsulates each inner fragment per Section 6.3. These inner fragments will be reassembled by the final destination. Note that 2*('MaxFragSize' - ENCAPS) may not be large enough to accommodate the minimum IPv6 MTU such that the TE may be required to drop an IPv6 packet of 1280 bytes or smaller and send an ICMPv6 PTB with an MTU value less than 1280 bytes. The original IPv6 source Templin Expires March 28, 2008 [Page 6] Internet-Draft M/PLPMTUD for Tunnels September 2007 will then include a fragment header in subsequent IPv6 packets and the TE can then perform IPv6 fragmentation on these inner packets using the fragment header included by the source according to the final paragraph of [RFC2460], Section 5. 6.3. Encapsulation TEs encapsulate inner IP packets according to the specific IP/*/IPv4 document, except that the TE maintains a randomly-initialized and monotonically-increasing (modulo 64K) per-TFE 'IPv4Id' value that it encodes in the outer IPv4 headers of successive encapsulated packets. During encapsulation the TE also appends a trailer (if necessary) that includes zero or more zero-padding bytes and a 4-byte trailing "footer". The TE increments the innermost '*' header length field by the number of trailer bytes added, for example it increments the UDP length field for IPv6/UDP/IPv4 tunnels, the IPv4 length field for IPv6/IPv4 tunnels, etc. The encapsulation is shown in Figure 2: +---------------------------------+ | Outer IPv4 | | Header w/'IPv4Id' | +---------------------------------+ | * Headers | | | +-------------+ +---------------------------------+ | Inner IP | | Inner IP | ~ packet ~ ===> ~ packet ~ | | | | +-------------+ +---------------------------------+ -\ T Inner Packet | | | r ~ Zero-Padding (0 or more bytes) ~ | a | | > i +---------------------------------+ | l | Footer (4 bytes) | | e +---------------------------------+ -/ r | Any */IPv4 protocol trailers ... +------------------------------ Outer Packet Figure 2: Encapsulation Format with Trailer The footer is encoded as the final 4 bytes of the trailer and is byte-aligned only, i.e., it need not be aligned on an even word/ longword/etc. boundary. The footer is formatted as shown in Figure 3: Templin Expires March 28, 2008 [Page 7] Internet-Draft M/PLPMTUD for Tunnels September 2007 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Type | Reserved | Fletcher A | Fletcher B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Footer Format Version (4 bits) The Version field indicates the format of the trailer. This document describes version 2. Type (4 bits) The type of encapsulated packet. The following types are defined: 0 - Ordinary data packet. 1 - Probe Request 2 - Probe Reply 3 - 15 - Reserved for future use. Reserved (8 bits) Reserved for future use. Fletcher A (8 bits) The 8-bit Fletcher A checksum component. Fletcher B (8 bits) The 8-bit Fletcher B checksum component. During encapsulation, the TE MUST include a trailer with a non-zero checksum in all probe request/reply packets and in all data packets that are sent as multiple outer fragments. For data packets that are sent as a single outer fragment, the TE MAY: 1) include a trailer with a non-zero checksum, 2) include a trailer with a zero checksum, or 3) omit the trailer. For all packets that will include a trailer with a non-zero checksum, the TE appends zero-filled padding bytes as necessary to extend the packet to a minimum length of 64 bytes beyond the beginning of the inner IP header. The TE then calculates the 8-bit Fletcher checksum as specified in Section 9 and encodes the results in the Fletcher A and B fields of the footer. Templin Expires March 28, 2008 [Page 8] Internet-Draft M/PLPMTUD for Tunnels September 2007 6.4. Outer Packet Fragmentation For outer packets other than probe requests used for 'MaxFragSize' determination, TEs use IPv4 fragmentation to fragment the packets into fragments no larger than 'MaxFragSize' bytes. These outer fragments will be reassembled by the TFE. 6.5. Setting DF in the Outer Header TEs MUST set DF=1 in the outer IPv4 header of probe requests used for 'MaxFragSize' determination. TEs MAY set DF=0 in the outer header of other probe requests and SHOULD set DF=0 in the outer header of probe replies. TEs MUST set DF=1 in the outer header of ordinary data packets/ fragments. 7. Receiving Packets 7.1. IPv4 Reassembly Cache Management TEs that implement this scheme should perform active management in their IPv4 reassembly cache. That is, they should actively discard "stale" reassemblies that have no apparent opportunity for successful completion prior to the normal reassembly timeout expiration. 7.2. Decapsulation TEs decapsulate each outer packet they receive exactly as specified in the appropriate IP/*/IPv4 document except that when 'isQualified' is TRUE and the packet includes a non-zero trailing checksum the TE first verifies the checksum in the outer packet as specified in Section 9. If the A and B results of the checksum calculation match the values stored in the trailing checksum, the TE decapsulates the packet; otherwise it drops the packet. Note that the initial probe request/reply packets from a new TFE will be received before 'isQualified' is set to TRUE. The TE decapsulates these packets also, as specified in Section 8. 7.3. Receiving Packet Too Big (PTB) Errors TEs may receive ICMPv4 PTB errors with Type=3 ("Destination Unreachable") and Code=4 ("fragmentation needed, and DF set") that include a Next-Hop MTU value [RFC1191] in response to any packets that were admitted into the tunnel with DF=1 [RFC0792]. Templin Expires March 28, 2008 [Page 9] Internet-Draft M/PLPMTUD for Tunnels September 2007 When the TE receives an ICMPv4 PTB with a Next-Hop MTU value smaller than 'MaxFragSize', it SHOULD reduce 'MaxFragSize' and/or actively probe to discover and confirm a new 'MaxFragSize'. When the TE receives an ICMPv4 PTB for an inner packet larger than 1500 bytes, it SHOULD send a translated PTB back to the inner source if possible. 8. Tunnel Qualification and Soft State Management TEs engage in a probing process to qualify new TFEs and refresh per- TFE soft state for qualified TFEs thereafter. TEs discontinue the probing process and garbage-collect stale soft state for dormant tunnels and unqualified TFEs. TEs exchange probe requests and replies as specified in the following sections: 8.1. Basic Probing Strategy TEs send probe requests while data is actively flowing through the tunnel. The TE sends initial probe requests to qualify each new TFE, then sends periodic probe requests thereafter. The TE SHOULD limit the rate at which it sends probe requests to each TFE, but MUST probe frequently enough to refresh per-TFE conceptual variables. The TE retains a cache of recently-sent probe requests and uses them to verify subsequent probe replies. 8.2. MaxFragSize Probing The TE SHOULD probe to detect larger 'MaxFragSize' values by sending progressively larger probe requests padded to the desired probe size (up to 1500 bytes + ENCAPS). When the TE receives sufficient evidence through probing that the forward path to the TFE supports the probed size, it advances 'MaxFragSize' to the probe size. The TE MAY send a series of probes in parallel to mitigate 'MaxFragSize' fluctuations in the case of multipath routes with diverse path MTUs. 8.3. Sending Probe Requests TEs generate probe requests by creating a minimum-sized and unfragmentable IP echo request packet according to the inner IP protocol (e.g., an ICMPv6 echo request [RFC4443] when the inner IP protocol is IPv6). The echo request MUST include source and destination addresses that correspond to the TNE and TFE respectively, and SHOULD include additional identifying information (e.g., sequence/identification numbers, nonce values, etc.) that the TFE will echo in its reply. The TE then encapsulates the echo Templin Expires March 28, 2008 [Page 10] Internet-Draft M/PLPMTUD for Tunnels September 2007 request with padding added to create an outer probe request of the desired probe size and sends the probe request into the tunnel as specified in Section 6. 8.4. Receiving Probe Requests When a TE receives a potential probe request from a TFE (i.e., as- told by examining the potential trailer), it first determines whether the packet includes a valid trailer (i.e., a valid footer and checksum). If the packet does not include a valid trailer, the TE discontinues probe request processing, decapsulates the packet as for ordinary data and returns from processing. Otherwise, the TE generates and sends a probe reply. 8.5. Sending Probe Replies TEs send probe replies in response to valid probe requests, but MUST limit the rate at which it sends replies to each TFE to avoid DOS amplification based on probe requests with spoofed source addresses. When it sends a probe reply, the TE creates an inner IP echo reply packet according to the inner IP protocol (e.g., an ICMPv6 echo reply [RFC4443] when the inner protocol is IPv6). The TE includes in the echo reply the destination address of the echo request as the source address and the source address of the echo request as the destination addresses. The TE also includes in the echo reply any additional identifying information that the TFE included in its echo request. The TE then encapsulates the echo reply as specified in Section 6.3. 8.6. Receiving Probe Replies When a TE receives a potential probe reply from a TFE, it first determines whether the packet includes a valid trailer. If the packet did not include a valid trailer, the TE discontinues probe reply processing, decapsulates the packet as for ordinary data and returns from processing. Otherwise, the TE verifies that the inner IP echo reply matches one of its cached probe requests by examining the inner IP source and destination addresses as well as any other identifying information in the inner packet. The TE sets: 'isQualified' to TRUE for this TFE if the probe reply is valid; otherwise, it discards the probe reply and returns from processing. 9. 8-bit Fletcher Checksum Calculation The 8-bit Fletcher Checksum is discussed in [RFC1146][STONE1][STONE2] Templin Expires March 28, 2008 [Page 11] Internet-Draft M/PLPMTUD for Tunnels September 2007 and is used by this specification to provide an integrity check with different properties than those used by common link layers and upper layer protocols. The TE calculates the 8-bit Fletcher checksum of the first 64 bytes of the inner packet beginning with the inner IP header according to the algorithm of [RFC1146], which is reproduced below with an additional rule for representing zero results: The 8-bit Fletcher Checksum Algorithm is calculated over a sequence of data octets (call them D[1] through D[N]) by maintaining 2 unsigned 1's-complement 8-bit accumulators A and B whose contents are initially zero, and performing the following loop where i ranges from 1 to N: A := A + D[i] B := B + A If, at the end of the loop, either or both of the A, B accumulators encode the value 0x0000, invert the value in the accumulator(s) to 0xffff. Note that faster algorithms are possible and may be used instead of the algorithm above; see: [RFC1146] for citations of alternate algorithms. 10. Updated Specifications This document updates the following specifications: o RFC2003 (IP-in-IP) o RFC2529 (6over4) o RFC2661 (L2TP) o RFC2784 (GRE) o RFC3056 (6to4) o RFC3378 (ETHERIP) o RFC3884 (IPSec Transport Mode for Dynamic Routing) o RFC4023 (MPLS-in-IP) Templin Expires March 28, 2008 [Page 12] Internet-Draft M/PLPMTUD for Tunnels September 2007 o RFC4213 (Basic IPv6 Transition Mechanisms) o RFC4214 (ISATAP) o RFC4301 (IPSec) o RFC4302 (AH) o RFC4303 (ESP) o RFC4380 (TEREDO) o LISP o others.... 11. IANA Considerations The IANA is instructed to create a registry for the Version and Type values that occur in the footers of encapsulated packets per Section 6.3.1. 12. Security Considerations A possible attack vector involves an off-path attacker sending probe requests with spoofed source addresses. Legitimate probe requests and replies contain identifying information that is useful for defending against off-path attacks. Security considerations for specific IP/*/IPv4 tunneling mechanisms are given in the respective documents. 13. Acknowledgments This work has benefited from discussions with Fred Baker, Iljitsch van Beijnum, Steve Casner, Gorry Fairhurst, John Heffner, Joe Macker, Matt Mathis, and Joe Touch. Dan Romascanu mentioned the IEEE 802.3as extension of the Ethernet frame size to 2048 bytes. Remi Denis- Courmont noted that trailers could be added using the innermost '*' protocol length field. 14. References Templin Expires March 28, 2008 [Page 13] Internet-Draft M/PLPMTUD for Tunnels September 2007 14.1. Normative References [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981. [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981. [RFC1122] Braden, R., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, October 1989. [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, November 1990. [RFC1812] Baker, F., "Requirements for IP Version 4 Routers", RFC 1812, June 1995. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. 14.2. Informative References [RFC0905] International Organization for Standardization (ISO), "ISO Transport Protocol specification ISO DP 8073", RFC 905, April 1984. [RFC1146] Zweig, J. and C. Partridge, "TCP alternate checksum options", RFC 1146, March 1990. [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. [RFC3385] Sheinwald, D., Satran, J., Thaler, P., and V. Cavanna, "Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations", RFC 3385, September 2002. [RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D., Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L. Wood, "Advice for Internet Subnetwork Designers", BCP 89, RFC 3819, July 2004. [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms for IPv6 Hosts and Routers", RFC 4213, October 2005. Templin Expires March 28, 2008 [Page 14] Internet-Draft M/PLPMTUD for Tunnels September 2007 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 4443, March 2006. [RFC4459] Savola, P., "MTU and Fragmentation Issues with In-the- Network Tunneling", RFC 4459, April 2006. [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, March 2007. [RFC4963] Heffner, J., Mathis, M., and B. Chandler, "IPv4 Reassembly Errors at High Data Rates", RFC 4963, July 2007. [STONE1] Stone, J., "Checksums in the Internet (Stanford Doctoral Dissertation)", August 2001. [STONE2] Stone, J., Greenwald, M., Partridge, C., and J. Hughes, "Performance of Checksums and CRC's over Real Data, IEEE/ ACM Transactions on Networking, Vol 6, No. 5", October 1998. Appendix A. Discussion Probing strategies for packetization layer protocols are specified in ([RFC4821], Section 7) and apply also to the TE's 'MaxFragSize' probing process. Further strategies for handling ICMPv4 PTB errors are specified in ([RFC4821], Section 7) and apply also to the TE's 'MaxFragSize' probing process. Note that decapsulation automatically erases any padding that may have been inserted by the TE along with the trailing checksum. Author's Address Fred L. Templin (editor) Boeing Phantom Works P.O. Box 3707 Seattle, WA 98124 USA Email: fred.l.templin@boeing.com Templin Expires March 28, 2008 [Page 15] Internet-Draft M/PLPMTUD for Tunnels September 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Templin Expires March 28, 2008 [Page 16]