Upload
alexis-howard
View
216
Download
1
Embed Size (px)
Citation preview
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
Mobility and TCP
0 38 9
39
131
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
Examples: EPLN
A B C
G
ED
Data packets (A,E)Link failure
F
Node C uses cachedroute: F-G-E
Link failure
Data packets dropped at Node F
Notification to intermediate node (F,C)
Node C has no other cached route, sends packet loss notification to sender (A)
Notification (C,A)
9
Examples: BEAD
A B C ED
Link failure
H I
J K
ACK (E, A)
Node C retransmits using cached route C-I-H-A
Link failureNode I drops ACK
Node I sends notification to intermediate node (C)
Node C sends notification to sender (A)
Node D hears notification, retransmits ACK using cached path D-K-J-B-A
ACK received at A
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.