A transport layer approach for improving end-to-end performance and robustness using redundant paths

Ming Zhang, Junwen Lai, Arvind Krishnamurthy, Larry Peterson, Randolph Wang

Research output: Contribution to conferencePaperpeer-review

170 Scopus citations


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 [8, 28]. 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 become more robust under path failures. When some paths fail, mTCP can continue sending packets on other living 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.

Original languageEnglish (US)
StatePublished - 2004
Event2004 USENIX Annual Technical Conference - Boston, United States
Duration: Jun 27 2004Jul 2 2004


Conference2004 USENIX Annual Technical Conference
Country/TerritoryUnited States

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'A transport layer approach for improving end-to-end performance and robustness using redundant paths'. Together they form a unique fingerprint.

Cite this