Technical Report Number
We reconsider several issues related to fragmentation and reassembly in IP. We first reconsider reassembly. We describe a simple expected case optimization that improves reassembly performance to 38 instructions per fragment if the fragments arrive in FIFO order (the same assumption made in header prediction) which has been implemented in the NetBSD kernel. Next, we introduce the new idea of Graceful Intermediate Reassembly (GIR), which is a generalization of the existing IP mechanisms of destination and hop-by-hop reassembly. In GIR, we coalesce the fragments at an intermediate router in order to use the largest sized packets on its outgoing interface. We show that GIR always outperforms hop-by-hop reassembly and can be implemented economically in routers with small processing and memory costs. We then reconsider fragmentation. We show that avoiding fragmentation has costs of its own in terms of increased packet processing and/or round-trip delays. We describe measurements in which TCP performance improves after turning on fragmentation. For examples, on Ethernet under NetBSDS using a 536 byte segment size for TCP we get a throughput of only about 5.5 Mb/s, whereas we get a throughput of 8.45 Mb/s using a segment size of 1460 bytes (without fragmentation) and a throughput of 8.82 Mb/s using a segment size of 16260 byes with fragmentation. We also describe a simple performance model that can be used to determine when fragmentation is beneficial. Finally, we address the major disadvantages of fragmentation. A major proglem is that when a fragment is lost, the entire TCP segment must be retransmitted, resulting in reduced or zero goodput under loss. We describe a mechanism - dynamic segment sizing, in which the segment size is dynamically reduced after loss - which address this problem. We describe simulations (using our modified NetBSD kernel) which shows that dynamic segment sizing keeps the goodput at reasonable levels even under extremely possy conditions. All our mechanisms (reassembly optimization, GIR, and dynamic segment sizing) are orthogonal and can be applied to other protocol suits besides TCP/IP.
Chandranmenon, Girish P. and Varghese, George, "Reconsidering Fragmentation and Reassembly" Report Number: WUCS-96-09 (1996). All Computer Science and Engineering Research.