Fragmentation and reassembly of datagrams too large
to be transmitted on the network was built into the TCP/IP protocol in
order to allow the internetwork to successfully transmit data across
very different kinds of physical and link-layer networks. Early in
the days of the internet, fragmentation and reassembly were abandoned
in favor of sending datagrams small enough to avoid fragmentation.
This adoption was due to inefficiencies in fragmentation and
reassembly that were well-stated in Kent and Mogul's 1987 paper,
Fragmentation Considered Harmful [KM87]. Our tests conclude
that currently fragmentation rarely occurs on the Internet due to
widespread adoption of Kent and Mogul's pathMTU discovery technique in
which the Maximum Transmission Unit (MTU) of an entire path is
discovered and used for that destination. The pathMTU is defined as
the minimum MTU for each hop along a network path [
MD90]
However, with the advent of gigabit Ethernet and other high-speed,
reliable networks, the state of network technology has changed
drastically since 1987. Where the network was the performance
bottleneck in network systems in 1987, the memory access speed of the
processors, and interrupt processing latency is quite frequently the
bottleneck today. We reconsider fragmentation and reassembly in light
of current technology and discuss a use for fragmentation that
relieves memory accesses in the endpoints of a network transaction and
allows for the possibility of greater overall performance in today's
high-speed networks.
The IP protocol has become the most commonly used network protocol.
Its adoption has been widespread for over a decade now. However, the
world in which and on which IP works has changed dramatically over
that time. This paper studies one portion of the IP protocol,
fragmentation, in depth and with an eye to the future of IP
fragmentation.
The IP protocol supports network traffic over heterogeneous networks
by allowing for variable size MTUs (maximum transmission units) at the
link layer. The maximum transmission unit is the largest size frame
supported by the link layer of a network segment. The IP protocol
adapts to various sized MTUs using a technique called fragmentation.
Fragmentation occurs when the IP layer receives a datagram that is too
large for the outgoing link to which it should be sent. The IP layer
breaks the datagram up into fragments smaller than the MTU of the
outbound link and sends the fragments out. When all of the fragments
of a datagram are received at the final destination or endpoint, the
IP layer of the receiver reassembles them and passes the complete
datagram up the protocol stack to the appropriate protocol (usally TCP
or UDP).