In 1987, Kent and Mogul wrote an extremely influential paper regarding network traffic and IP fragmentation. Their paper, entitled ``Fragmentation Considered Harmful'' was a watershed in the development of TCP/IP stacks and routers and has had a lasting effect on the movement of traffic, especially in the heterogeneous world of the Internet. This paper reconsiders some of the assumptions Kent and Mogul make in ``Fragmentation Considered Harmful'', and proposes some new techniques for using fragmentation to relieve the current bottlenecks in modern high-speed network technology.
While Kent and Mogul agree that the largest sized datagram possible should be sent between endpoints in a network, they caution against fragmentation for three reasons:
The deployment of PathMTU discovery has benefitted from developments in network technology. In particular, the stability of routers and their associated routing tables means that paths change infrequently. Additionally, because routers are tuned to move packets at the firmware level (when fragmentation is not required), pathMTU discovery allows for faster routing by allowing routers to avoid fragmentation.
``Fragmentation Considered Harmful'' primarily influenced the creation and employment of pathMTU discovery. However, few researchers have questioned the assumptions made in the paper, despite drastic changes in network technology in the last decade.
In reexamining these assumptions, our investigation primarily focuses on the new bottlenecks in heterogeneous networking. Namely, with the advent of fast routers and high-speed networks, the performance bottleneck has generally moved to the endpoints, especially in high-speed local area networks. With this in mind, we will examine the arguments against fragmentation from the perspective of creating efficient processing at the endpoints of a network connection. Finally, we will propose that endpoint fragmentation be used to allow for more efficient use of endpoint resources while still maintaining an optimized network path.
Two types of fragmentation will be discussed in this paper. Intermediate fragmentation is the classic fragmentation envisaged by IP designers. It occurs when a router receives a datagram that is too large for the outgoing link to which it should be sent. The router then fragments the datagram, and forwards the fragments. Intermediate fragmentation is the fragmentation that Kent and Mogul discuss. Endpoint fragmentation is a less-common kind of fragmentation that we propose reconsidering. Endpoint fragmentation is not necessarily harmful and may result in greater efficiencies in the stacks of the endpoints. Endpoint fragmentation occurs at the host before a datagram is sent. This fragmentation happens at the host when a higher layer in the protocol stack (usually TCP or UDP) sends the IP layer a datagram that is too large for the outbound interface. This happens when the higher level protocol ignores the MTU or pathMTU of a destination or interface.
Each of the arguments in Kent and Mogul's paper deserve to be reconsidered in light of changes in network technologies and implementations as well as the idea of endpoint fragmentation.