160 likes | 271 Views
Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness. Xin Yu NYU Presented by: David Choffnes. Outline. Intro to MANETs and DSR Problems with TCP over MANETs EPLN and BEAD Results Conclusion. Mobile Ad-Hoc Networks (MANETs).
E N D
Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness Xin Yu NYU Presented by: David Choffnes
Outline • Intro to MANETs and DSR • Problems with TCP over MANETs • EPLN and BEAD • Results • Conclusion
Mobile Ad-Hoc Networks (MANETs) • Differences from wired networks • Wireless link much less predictable • Pathloss • Interference • Mobility leads to rapidly changing topology • Every host is a router • Routing in MANETs • Approaches • Link state • Requires every node to know about all other nodes • Too much wireless transmission overhead in MANETS • Distance vector (e.g., DSDV, AODV) • Source routing (e.g., DSR)
Routing in MANETs (cont) • Key observation • Interference/contention can significantly reduce performance • To reduce overhead, discover routes only when they are needed; otherwise, aggressively cache overhead/previously heard routes • Ad-hoc On-Demand Distance Vector (AODV) • DV algorithm, floods route request to find path • Dynamic Source Routing (DSR) • Similar to AODV, but returns the entire path • Establishes bi-directional paths • Route failure: send ROUTE ERROR messages, try to use cached route
38 39 31 0 9 1 Mobility and TCP TCP connection (0,1) Link failure Link failure Node 31 drops all in-flight packets to Node 1
ELFN: A Solution to Mobile TCP • Explicit Link Failure Notification (ELFN) • Sends ICMP message to TCP • Retransmission timer disabled • Sets thaw timer to 2s • Sends a probe data packet to determine if a new route was established • Issues • How do we set RTO and cwnd after thaw? • Small receive window can cause idle state after thaw • Smaller RTO leads to quicker recovery from freeze • When do we freeze TCP? • ELFN does not distinguish packet loss from link failures • Try to notify TCP of lost data and lost acks
EPLN and BEAD Overview • EPLN (Early Packet Loss Notification) • Intermediate nodes notify TCP senders about lost data packets • BEAD (Best-Effort ACK Delivery) • Intermediate nodes retransmit ACKs by extensively using cached routes when links fail • Rules when dropping packets • First link failure: notify TCP sender • After link failure recovery • Data: notify intermediate node, which tries to resend and notifies sender • ACK: notify intermediate node, try to resend using cached route; if no luck, notify TCP receiver • Similar for notification packet losses
G C D A B E F Examples: EPLN Node C has no other cached route, sends packet loss notification to sender (A) Data packets (A,E) Link failure Notification to intermediate node (F,C) Node C uses cached route: F-G-E Notification (C,A) Link failure Data packets dropped at Node F
C D H K A B E J I Examples: BEAD Node D hears notification, retransmits ACK using cached path D-K-J-B-A ACK received at A ACK (E, A) Link failure Node C retransmits using cached route C-I-H-A Node C sends notification to sender (A) Node I sends notification to intermediate node (C) Link failure Node I drops ACK
Cross Layer Interactions • TCP Sender • Notified about lost packets, not simply broken links • ICMP message contains seq number, packet status • Freeze TCP even if packet is salvaged, but retransmit packet only if this is the first packet lost (serves as probe packet) • Otherwise, wait for ACK to resume TCP • ACK received: restore TCP state to values before freezing
Evaluation Setup • Simulator: NS-2 • Mobility: RWP (boo!) • Speed: 1± v, where v is the mean speed • Field: 1500x1000m (50 nodes), 2200x600m (100 nodes) • Why? • MAC: 802.11, 2Mbps • Transmission radius: 250m (boo!) • TCP: Reno, 1460B packets, rwnd: 8 • App: FTP
Setting RTO and cwnd • Using “old” values is better than resetting them • Reducing cwnd can cause TCP to enter idle state, so TCP throughput becomes dependent on RTO • Lower RTO due to “old” value improves throughput (reduces slow starts) • Improvement not as much for higher traffic load; due to fresher routes • Can lead to lower performance in heavily congested scenarios (MAC contention due to increased route discoveries)
Evaluation: Throughput • 27%-210% higher throughput over EPLN • Improvement increases as • Traffic load increases • No reason given • Number of nodes increase • More cached routes leads to improved delivery • DSR-Update, a distributed cache update algorithm for DSR, further improves performance
Evaluation: Number of Slow Starts • Reduces timeouts by as much as 90% • Mostly due to cache update algorithm • Diminishes for larger numbers of nodes, larger traffic load • Probably due to contention
Packet Overhead • Increases overhead for small #’s of connections and low speed • Reduces overhead otherwise • Distributed DSR route update algorithm generally reduces overhead compared to standard DSR • Fair? How big is DSR’s FIFO cache compared to the cache for the dist. cache update algo?
Conclusion • Cross-layer information awareness is key to improving TCP performance • Efficient route updates significantly improve performance Should we ditch TCP? See ATP.