110 likes | 277 Views
Min Zhang, Junwen Lai, Arvind Krishnamurthy, Larry Peterson, Randolph Wang. A Transport Layer Approach for Improving End-to-End Performance and Robustness Using Redundant Paths. Motivation. Redundant paths on the Internet. RON, Detour. TCP is an end-to-end (one-to-one)transport protocol.
E N D
Min Zhang, Junwen Lai, Arvind Krishnamurthy, Larry Peterson, Randolph Wang A Transport Layer Approach for Improving End-to-End Performance and Robustness Using Redundant Paths
Motivation • Redundant paths on the Internet. • RON, Detour. • TCP is an end-to-end (one-to-one)transport protocol. • For multi-paths, need a one-to-many transport protocol.
mTCP • Modify TCP: • Stripe data packets across different paths. • Treat each flow as an individual TCP sub-flows. • Shared congestion scheme across the sub-flows to ensure fairness. • Advantage over individual TCP sockets: • Retransmission via a different sub-flow.
Path Selection • Underlying RON overlay routing layer. • Use RON score to grade paths. • Pick the 'm' best paths with least overlap. • Use paths in parallel for sending. • Single best reverse path for ACK reception. • Avoid overlapping paths. • Traceroute, Ally for ip address resolution.
Shared Congestion • Assume that routers use drop-tail queues. • Independence of two sub-flows • Inversely related to shared congestion. • Measure correlation between the fast retransmit times. • Periodically measure shared congestion.
Per Flow State • For each sub-flow pi • Individual sequence numbers. • Congestion window – cwndi • Next packet to be sent – sndnxti. • Next packet to be acked – sndunai • Pkts in flight: pipei = sndnxti – sndunai • For fast retransmits - dupacki • Timeri for timeouts and timestamping fast retransmit events.
Global State • Send/receive buffer. • Scoreboard: map individual sequence numbers to buffer range. • For sending the next pkt: choose path for which pipei / cwndi is least.
Path Management • Suppress sub-flow fi if • fi shares congestion with fi & T(fi) < T(fj). • T(fi) < (Max sub-flow throughput)/w. • Path pi fails. • Mpd flow • Suppress flow if no of paths > d. • TCP friendliness is d-tunable.
Robustness • Timeout = 2*RTOi. • Primary failure. • Auxiliary failure. • Recovery times • Internet is ~minutes. • RON takes ~18s to recover • mtcp: Transmission continues if path exists (~3 s on primary path failure).
Future Work • Can we do away with TCP slow-start? • Overlay networks are pro-active, metrics are already known. • Caching at intermediate nodes. • Reduced latency, increased throughput.