Reliable transport protocols such as TCP are tuned to perform well in traditional networks where packet losses occurmostly because of congestion. However, networks with wireless and other lossy links also suffer from significant
losses due to bit errors and handoffs. TCP responds to all losses by invoking congestion control and avoidance algorithms,
resulting in degraded end-to-end performance in wireless and lossy systems. In this paper, we compare several
schemes designed to improve the performance of TCP in such networks. We classify these schemes into three
broad categories: end-to-end protocols, where loss recovery is performed by the sender; link-layer protocols, that provide
local reliability; and split-connection protocols, that break the end-to-end connection into two parts at the base station.
We present the results of several experiments performed in both LAN and WAN environments, using throughput and goodput as the metrics for comparison. Our results show that a reliable link-layer protocol that is TCP-aware provides very good performance. Furthermore, it is possible to achieve good performance without splitting the end-to-end connection at the base station. We also demonstrate that selective acknowledgments and explicit loss notifications result in significant performance improvements.