Reliable transport protocols such as TCP are tuned to perform
well in traditional networks where packet losses occur
mostly 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.