Leveraging Multiple Network Interfaces for Improved TCP Throughput Sridhar Machiraju SAHARA Retreat, June 10-12, 2002
Motivation Proliferation of Wireless LANs, rollout of 3G and availability of devices with multiple network interfaces (MNIs) Can endhosts leverage multiple network interfaces for – improved throughput (current focus) masking packet losses improving connectivity …
Contents What should u expect from this presentation? why TCP cannot take advantage of MNIs easily two simple routing policies (at end-hosts) that improve TCP throughput Work started recently; feedback appreciated greatly
Problem Statement (Sender) N 1 N 2 (Receiver) N4N4 N3N3 2 Mbps, 50ms 5 Mbps, 100ms 5 Mbps, 50ms FTP Source N 1 has 2 NIs The 2 paths to N 2 are using N 3 (2Mbps, 100ms) and N 4 (5Mbps, 150ms) Can N 1 obtain a throughput of 7Mbps?
A Simple RR Scheme Assume that the ratio of bottlenecks on both paths is known (2:5 in the example) Route 2 of every 7 packets through N 3 and the rest through N 4 Future Work – Deduce the above ratio dynamically
Why it fails… Different RTTs on paths Packet reordering Duplicate ACKs False congestion signals Throughput Time
Increase DupACK threshold Prevents TCP from reacting to duplicate ACKs due to reordering But, dupACKs due to losses are also neglected Throughput Time
Discussion Packet reordering is inevitable A solution – buffer packets at receiver IP layer [Chebrolu et al., UCSD] Another possibility – buffer ACKs and eliminate unnecessary duplicates Our solution – use multiple routes to the source to send ACKs
DupACK routing policy (Sender) N 1 N 2 (Receiver) Assume 2 paths are (delay FP1 < delay FP2 ) such that (delay FP2 +delay RP1 ) < (delay FP1 +delay RP2 ) (delay property) DupACKs received only after subsequent ACKs and are discarded FP1 FP2 RP1 RP2 If DupACK, route through RP1 else use RP2
Example (Sender) N 1 N 2 (Receiver) p1p1 p2p2 2 Packets p 1 and p 2 sent one after another on different paths
Example (Sender) N 1 N 2 (Receiver) p 2 reaches before p 1 since its forward path is shorter p1p1 p2p2
Example (Sender) N 1 N 2 (Receiver) p 2 generates a DupACK even though p 1 is not dropped p1p1 ACK 1 DupACK
Example (Sender) N 1 N 2 (Receiver) p 1 would generate an ACK indicating receipt of p 1 and p 2 ACK 1 DupACK ACK 3
Example (Sender) N 1 N 2 (Receiver) (delay FP2 +delay RP1 ) < (delay FP1 +delay RP2 ) implies that the duplicate ACK is received later and discarded ACK 1 DupACK is discarded ACK 3
Discussion Single TCP flow is able to obtain better throughput – 7 Mbps Pros – better throughput simple policy packets not buffered or dropped Cons – 2 paths need to obey the delay property slower increase of congestion window Throughput Time
ACK Routing Policy What if DupACK policy cannot be used? Throughput can still be improved if delay(RP1) < delay(RP2) capacity (RP1) > ACK traffic Use high capacity path (P2) for data; low delay path (P1) for ACKs (Sender) N 1 N 2 (Receiver) P1 P2 Route ACKs through P1
Discussion Among competing TCP flows, flows with smaller RTT fare better Using our policy, RTT can be reduced Competing TCP Multipath TCP Time Throughput Time
Future Work Investigate the effect of competing TCP flows on such policies Devise more mechanisms esp. for other transport protocols Infer path properties dynamically Investigate approaches to deployment – receiver side modification use mobility servers such as home agents Finally, implement these