Paper review: A Comparison of Mechanisms for Improving TCP Performance over Wireless Links
Reviewer: Hanlin D. Qian
Wireless Links has a much higher loss rate than wired network connections. These losses usually are not caused by congestion, and therefore TCP-Reno's congestion control strategies would yield much lower performance in wireless environments. This paper attempts to address this problem by proposing several schemes to improve TCP performance over wireless links.
Three main ideas are used to address this problem:
- Non-congestion related losses are hidden from the sender so that it doesn't reduce the congestion window size unnecessarily.
- The sender is made aware of the existence of wireless hops and therefore must refrain from executing congestion control procedures if sender finds out that, say, a packet is lost due to the wireless link.
- The link-layer can be beefed up to be wireless-aware so that it can handle losses caused by the wireless link.
These three ideas are employed in three different classes of scheme. Each class has several possible schemes of implementation.
- Link-Layer Protocols (error detection and retransmission mechanisms in the link-layer):
- First option is simply to have the base station attempt to restransmit any packets that are lost due to the wireless connection. One problem is that the sender may receive duplicate ACKs from receiver and also retransmit, and there will be redundant retransmits.
- The second scheme addresses this problem by suppressing duplicate ACKs from receiver, hence the LL-TCP-AWARE scheme (like snoop).
- End-to-end Scheme:
- TCP-Reno (unchanged)
- Improved TCP-Reno that remains in fast recovery mode if first new ACK received after fast retransmission is "partial."
- Explicit Loss Notification (ELN) - sender can distinguish between congestion loss and wireless loss. An extra heuristic can be added to retransmit after receiving one single duplicate ACK.
- Selective Acknowledgment - which can also be used with SMART ACKs.
- Split-Connection Protocols - the wireless link and the wired links are considered two separate connections.
After testing, the authors argue that LL-TCP-AWARE yields the best results.
This paper addresses a good problem and attempts to solve it with possible solutions. However, these solutions may have problems. First of all, I disagree with the authors that a linked-layer protocol is the best solution. It violates the end-to-end principle of the Internet and places too large a burden on the link layer. Much of the retransmission schemes used in the link layer duplicates that of the sender and is redundant. The tests used in the experiments are also quite simple can do not reflect well the heavy traffic in a real-world wireless link. I believe that an end-to-end protocol here is better. I give this paper a rating of 3 - moderate contribution.