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

Download Report

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

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 2

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

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 4

Mobility and TCP

TCP connection (0,1) 0 38 9 31 Link failure 1 Link failure 39 Node 31 drops all in-flight packets to Node 1 5

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 6

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 7

Examples: EPLN

A Data packets (A,E) B C Node C has no other cached Link failure notification to sender (A) D E Notification to Node C uses cached Notification (C,A) route: F-G-E node (F,C) F G Link failure Data packets dropped at Node F 8

Examples: BEAD

ACK received at A A B J Link failure C K D Node D hears notification, retransmits ACK using cached path D-K-J-B-A E H I Link failure Node I drops ACK 9

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 10

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 11

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

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 13

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 14

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?

15

Conclusion

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

16