Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks

41
Carnegie Mellon University Computer Science Department 1 Ditto: Eavesdropping for the Common Good in Multi-hop Wireless Networks Amar Phanishayee Fahad Dogar, Himabindu Pucha, Olatunji Ruwase, Dave Andersen Carnegie Mellon University CMU Speaking Skills Talk

description

CMU Speaking Skills Talk. Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks. Amar Phanishayee Fahad Dogar, Himabindu Pucha, Olatunji Ruwase, Dave Andersen. Carnegie Mellon University. Wireless Networks. Cable Modem. Wired Link. Wireless Router. Wireless Link. - PowerPoint PPT Presentation

Transcript of Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks

Page 1: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 1

Ditto: Eavesdropping for the Common Good in

Multi-hop Wireless Networks

Amar PhanishayeeFahad Dogar, Himabindu Pucha, Olatunji Ruwase,

Dave Andersen

Carnegie Mellon University

CMU Speaking Skills Talk

Page 2: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 2

Wireless Networks

Wired Link

Wireless Router

WirelessLink

Cable Modem

Access-Point Based(Single Wireless Hop)

Page 3: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 3

No Infrastructure Cost Effective, Greater Coverage

Poor throughput

Wireless Networks

Multi-hop Wireless (Mesh) Networks

Gateway

Page 4: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 4

Hop Count Affects Throughput

• Pairwise transfers in a 28 node campus testbed• More hops slower transfers (low throughput)

Median3.2Mbps0.5Mbps

0.2Mbps

Page 5: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 5

Ditto: Key Contributions

Ditto improves throughput by reducing hop count to acquire commonly requested data Caching of overheard data

Also cache data on the path of a transfer Application independent caching

Ditto improves throughput (on 2 testbeds) Up to 7x better than on-path caching Up to 10x better than no caching

Page 6: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 6

Caching In Ditto Helps Speed Transfers

On-Path + Opportunistic Caching Ditto

Path of the transfer: Alice--A1--A2--Gateway A1 and A2 -- on-path caching

A3 -- opportunistic caching

A2

A3

GatewayA1

Request

Response

Cached copy

Page 7: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 7

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation

Future Work

Page 8: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 8

Transmit Range:Range in which router’s transmission can be fully decoded

Interference Range:Range in which router’s transmission can interfere but may not be fully decoded

Interference

Interference: Receivers in Interference Range cannot decode simultaneous transmissions

Page 9: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 9

Avoiding Interference: Don’t Transmit If You Know Others Are

Transmitting one at a time avoids interference

Page 10: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 10

GatewayA3A1 A2

• Subsequent Hops InterfereD1’s transmission from A2 to A3 stalled

• Cause for poor throughput in mesh networks

Subsequent Wireless Hops Interfere

D1D1

D2

Page 11: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 11

Mesh Networks Have Poor Throughput• Some links have a high loss rate• Subsequent hops interfere with each other• More hops slower transfers (low throughput)• Gateway is a bottleneck

A1A2

A3Gateway

Page 12: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 12

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design Opportunities to improve throughput How does Ditto utilize these opportunities?

Evaluation

Future Work

Page 13: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 13

Opportunities To Improve Throughput

Locality in access patterns Many clients from different parts of the network

request the same data over timee.g. Operating System Updates, Streaming video

Wireless routers can overhear other transfers The positive aspect of broadcast

Looks like a job for … Opportunistic Caching

Page 14: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 14

Challenge: Lossy Overhearing Wireless networks have high loss rates

Loss recovery: link layer retransmissions

Overhearing node also experiences losses Losses independent of that at Receiver Cannot ask for retransmissions

Successfully overhearing a large file is unlikely

1

1

22

A3

A1

A2

1 22A1

A2

Page 15: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 15

Chunk Based Transfers Lossy overhearing cannot overhear entire file

Smaller caching granularity Divide file into smaller chunks (8 – 32 KB) Use chunk as a unit of transfer

Ditto uses Data Oriented Transfer (DOT)1 for chunk based transfers

1 Tolia et al, An Architecture for Internet Data Transfer. NSDI 2006.

Page 16: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 16

A Ditto Transfer

chunkID3

chunkID1chunkID2foo.txt

Cryptographic HashChunking

App App

DITTO

chunk ids Chunk request

DITTO

Chunk response

request

response

request

response

Receiver Sender

Ditto Proxy

Ditto Proxy

Request – foo.txt

Response: chunk ids{1,2,3}

chunk ids

Page 17: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 17

Proxy Serves Chunk Request Directly If Chunk In Local Cache

Proxy ProxyProxy

Chunk Request

Chunk Response

Cache

Page 18: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 18

Proxy Routes Request Towards Gateway If Chunk Not In Cache

Next-Hop based on routing table

information

Separate TCP connection on

each hop

On-Path Caching

Proxy ProxyProxy

Chunk Request

Chunk Response

Cache

Chunk Request

Chunk Response

GW Next Hop

Page 19: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 19

Sniffer Module Caches Overheard Chunks

Opportunistic Caching

Proxy

Sniffer

Cache

Overhear and reassemble streams

Identify chunks in streams

Handoff entire chunk to proxy for caching

Page 20: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 20

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design Why caching, overhearing? Chunk based transfers and caching How does Ditto overhear and reconstruct chunks?

Evaluation Future Work

Page 21: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 21

Sniffer Module Reassembles Overheard Streams

A3 (Overhearing)

Path of the transfer: Alice – A1 – A2 …

• Stream identification & placement within the stream• Next Steps: identify chunk

A1A2

Page 22: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 22

Chunk Identification

A3 (Overhearing)

Path of the transfer: Alice – A1 – A2 …

A1A2

Chunk Boundaries

Look for Ditto header

• What if there were losses within the overheard chunk?

C1

Page 23: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 23

Optimization: Inter-Stream Chunk Reassembly

Look for Ditto header

Chunk Boundaries

• Sniffer identifies the same chunk across streams• Correlates and fills in the blanks

A1A2

C1

Page 24: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 24

Outline Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation Reconstruction Efficiency Transfer Throughput

Future Work

Page 25: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 25

Emulab Indoor Wireless Testbed

Page 26: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 26

MAP Campus Testbed (Purdue Univ.)

Gateway

11

28 node Indoor/Outdoor Campus-wide Mesh Network

Page 27: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 27

ExperimentCan we overhear complete chunks?

Receiver

Observer • A receiver initiates transfer• 1MB file, 8KB chunks

• Observers report % of chunks reconstructed

• Receiver reports throughput• Caches are cleared & next

node becomes a receiver• If n nodes in network, [n* (n - 1)] observers in all

100

90

80

100

100100

30

100

0 0

0

0

0

50

020

Page 28: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 28

Overhearing Complete Chunks Is FeasibleAround 30% of the observers

reconstruct at least 50% chunks

For any transfer, ~30% of the nodes can overhear a large fraction of the chunks

Complete chunks overheard (%)

Page 29: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 29

Nodes farthest from the gateway & transfer paths overhear nothing

Com

plet

e ch

unks

ove

rhea

rd (%

)

Page 30: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 30

Gateway

11

31

19

12

25

18

Page 31: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 31

Nodes closer to the gateway & transfer paths overhear effectively

Com

plet

e ch

unks

ove

rhea

rd (%

)

Page 32: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 32

Gateway

1134

5

30

14

Shield the gateway from becoming a

bottleneck

Page 33: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 33

Factors Affecting Chunk Reconstruction

Factor Insight

Proximity Nodes closer to gateway overhear more chunks.Can shield the gateway from becoming a hotspot.

Chunk Size

Smaller Chunk Size Better Reconstruction 8 KB provides good reconstruction efficiency with low overhead.

Page 34: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 34

Experiment: Throughput EvaluationReceiver

Observer • Leaf nodes are receivers• A receiver initiates transfer

• reports throughput

• Next receiver downloads the same file

Page 35: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 35

Opportunistic Caching >> On-path Caching

Receiver

On-path Caching

Overhearing & Caching

Page 36: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 36

Throughput Improvement Using Ditto

Median

Log Scale!

~900 Kbps

No Caching

Page 37: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 37

Throughput Improvement Using Ditto

Median

Log Scale!

~1200Kbps

~900 Kbps

No Caching

Page 38: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 38

Throughput Improvement Using Ditto

Opportunistic caching >> On-path caching > No caching

Median

Log Scale!

~1200Kbps

~900 Kbps 9000 Kbps

No Caching

Page 39: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 39

Future Work

Support for mobility

Alternate proxy selection techniques

Application specific Ditto gateways

Page 40: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 40

Conclusion

Ditto improves throughput by reducing hop count to acquire commonly requested data Caching of overheard data

Also cache data on the path of a transfer Chunk based transfer, inter-stream chunk

reconstruction

Ditto improves throughput (on 2 testbeds) Up to 7x better than on-path caching Up to 10x better than no caching

Page 41: Ditto :  Eavesdropping for the Common Good in Multi-hop Wireless Networks

Carnegie Mellon UniversityComputer Science Department 41

Thank you!