A Comparison of Mechanisms for Improving TCP Performance Over Wireless Links
September 30, 2008
This paper compares three schemes for improving performance of TCP in wireless and other lossy networks: end-to-end protocols, link-layer protocols, and split-connection protocols. Reliable transport protocols assume that packet loss and delay are caused by congestion, which is not necessarily true in this space. Still, when assuming congestion, congestion control techniques kick in that result in reduced throughput and performance. To remedy this, approaches include: hiding non-congestion related losses from the TCP sender to solve the problem locally, or make the TCP sender aware that the loss was not due to congestion. The latter could be accomplished via selective acknowledgments (SACKs) and explicit loss notification (ELN). SACKs could take the form of RFC, where acks contain information about three non-contiguous blocks of data, or SMART, where acks contain information the sequence of packets so far.
The authors compare a myriad combination of features in the three schemes they compare. The link-layer SMART TCP aware protocol performs the best overall. A spattering of other evaluation results I found interesting: link-layer protocol without TCP-AWARE cause duplicate acks that ultimately invoke congestion control, adding ELN and SACKs to end-to-end protocols yielded good performance, and the performance of split-connection is worse than a TCP aware link-layer protocol–further demonstrating that splitting the end-to-end connection at the base station doesn’t improve performance.
This paper was great for exploring the details of different approaches to preventing the unnecessary activation of congestion control in wireless links. They clearly presented the discussion of a lot of different models. In their extensive experimentation, the authors note that it was not their intent to model a real wireless channel, but rather to exercise the dynamics of each protocol. I’m wondering if this is the preferred method of simulation, or does the academic community prefer a mix of that and real-life situations. Or, perhaps, these models subsume or predict those that would occur in the real world.
Nice posting … one comment on the wireless channel — it is very hard to model, and even repeatable experiments on real hardware are difficult to achieve. Given what I know now, I would redo this work more parametrically throwing in different (though reasonable) loss patterns in the congestion window to understand how the various alternatives respond. This, by the way, is what I hope to do in the case of transport for the datacenter.