Network Working Group D. Borman
Request for Comments: 2147 Berkeley Software Design, Inc.
Updates: 1883 May 1997
Category: Standards Track
TCP and UDP over IPv6 Jumbograms
1. Overview
IPv6 supports datagrams larger than 65535 bytes long, often referred to as jumbograms, through use of the Jumbo Payload hop-by-hop option [Deering95]. The UDP protocol has a 16-bit length field that keeps it from being able to make use of jumbograms, and though TCP does not have a length field, both the MSS option and the Urgent field are constrained by 16-bits. This document describes some simple changes that can be made to allow TCP and UDP to make use of IPv6 jumbograms.
2. UDP Jumbograms
To allow UDP to make use of jumbograms, either the UDP length field needs to be extended, or it needs to be ignored. Since the size of the field can't be changed, a length of zero is used to indicate that it is to be ignored, and the length in the "pseudo-header" is to be used to determine the true length of the UDP header plus data. This works because UDP length field includes the UDP header, so the minimum valid value for this field is 8.
Borman Standards Track [Page 1]
RFC 2147 TCP and UDP over IPv6 Jumbograms May 1997
If a UDP packet is received with a length field of zero, the length of the UDP packet is computed from the length field in the Jumbo Payload option minus the length of all extension headers present between the IPv6 header and the UDP header.
3. TCP Jumbograms
Because there is no length field in the TCP header, there is nothing limiting the length of an individual TCP packet. However, the MSS value that is negotiated at the beginning of the connection limits the largest TCP packet that can be sent, and the Urgent Pointer cannot reference data beyond 65535 bytes.
3.1 TCP MSS
When determining what MSS value to send, if the MTU of the directly attached interface is greater than 65535, then set the MSS value to 65535.
3.2 TCP Urgent Pointer
The Urgent Pointer problem could be fixed by adding a TCP Urgent Pointer Option. However, since it is unlikely that applications using jumbograms will also use Urgent Pointers, a less intrusive change similar to the MSS change will suffice.
Borman Standards Track [Page 2]
RFC 2147 TCP and UDP over IPv6 Jumbograms May 1997
Note: The first piece does not have to include all of the data up to the Urgent Pointer. It can be shorter, just as long as it ends within 65534 bytes of the Urgent Pointer, so that the offset to the Urgent Pointer in the second piece will be less than 65535 bytes.
4. Security Considerations
There are no known security issues involved in these changes.
5. References
[Jacobson92] Jacobson, V., R. Braden and D. Borman, "TCP Extensions for High Performance", RFC 1323, LBL, ISI and Cray Research, May 1992.