180 likes | 320 Views
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)
E N D
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 N3 2 Mbps, 50ms 2 Mbps, 50ms (Sender) N1 N2 (Receiver) 5 Mbps, 50ms 5 Mbps, 100ms N4 • FTP Source N1 has 2 NIs • The 2 paths to N2 are using N3 (2Mbps, 100ms) and N4 (5Mbps, 150ms) • Can N1 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 N3 and the rest through N4 • 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 RP1 FP1 (Sender) N1 N2 (Receiver) If DupACK, route through RP1 else use RP2 FP2 RP2 • Assume 2 paths are (delayFP1 < delayFP2) such that (delayFP2+delayRP1) < (delayFP1+delayRP2) (delay property) • DupACKs received only after subsequent ACKs and are discarded
Example (Sender) N1 N2(Receiver) p2 p1 • 2 Packets p1 and p2 sent one after another on different paths
Example (Sender) N1 N2(Receiver) p2 p1 • p2 reaches before p1 since its forward path is shorter
Example (Sender) N1 N2(Receiver) p1 ACK1 DupACK • p2 generates a DupACK even though p1 is not dropped
Example ACK3 (Sender) N1 N2(Receiver) ACK1 DupACK • p1 would generate an ACK indicating receipt of p1 and p2
Example ACK3 (Sender) N1 N2(Receiver) ACK1 DupACK is discarded • (delayFP2+delayRP1) < (delayFP1+delayRP2) implies that the duplicate ACK is received later and discarded
Discussion • Single TCP flow is able to obtain better throughput – 7 Mbps Throughput Time • Cons – • 2 paths need to obey the delay property • slower increase of congestion window • Pros – • better throughput • simple policy • packets not buffered or dropped
ACK Routing Policy P1 (Sender) N1 N2 (Receiver) Route ACKs through P1 P2 • 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
Discussion • Among competing TCP flows, flows with smaller RTT fare better • Using our policy, RTT can be reduced Throughput Time Time Competing TCP Multipath TCP
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