Ming Zhang, Junwen Lai, Arvind Krishnamurthy, Larry Peterson, and
Randolph Wang.
A Transport Layer Approach for Improving End-to-End Performance and
Robustness Using Redundant Paths. Proc. of the USENIX 2004 Annual
Technical Conference. June 2004.
Recent work on Internet measurement and overlay networks has shown
that redundant paths are common between pairs of hosts and that one
can often achieve better end-to-end performance by adaptively choosing
an alternate path. In this paper, we propose an end-to-end
transport layer protocol, mTCP, which can aggregate the available
bandwidth of those redundant paths in parallel. By striping one flow's
packets across multiple paths, mTCP can not only obtain higher
end-to-end throughput but also be more robust under path
failures. When some paths fail, mTCP can continue sending packets on
other paths, and the recovery process normally takes only a few
seconds. Because mTCP could obtain an unfair share of bandwidth under
shared congestion, we integrate a shared congestion detection
mechanism into our system. It allows us to dynamically detect and
suppress paths with shared congestion so as to alleviate the
aggressiveness problem. mTCP can also passively monitor the
performance of several paths in parallel and discover better paths
than the path provided by the underlying routing infrastructure. We
also propose a heuristic to find disjoint paths between pairs of nodes
using traceroute. We have implemented our system on top of overlay
networks and evaluated it in both PlanetLab and Emulab.