1 / 16

Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness

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).

licia
Download Presentation

Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving TCP Performance over MANETs by Exploiting Cross-Layer Information Awareness Xin Yu NYU Presented by: David Choffnes

  2. Outline • Intro to MANETs and DSR • Problems with TCP over MANETs • EPLN and BEAD • Results • Conclusion

  3. 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)

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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)

  13. 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

  14. 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

  15. 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?

  16. Conclusion • Cross-layer information awareness is key to improving TCP performance • Efficient route updates significantly improve performance Should we ditch TCP? See ATP.

More Related