16
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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 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

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

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)

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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)

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

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

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

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

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

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?

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

16

Conclusion

Cross-layer information awareness is key to improving TCP performance

Efficient route updates significantly improve performance

Should we ditch TCP? See ATP.