Upload
alicia-cox
View
217
Download
4
Tags:
Embed Size (px)
Citation preview
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 2
Wireless Networks
Wired Link
Wireless Router
WirelessLink
Cable Modem
Access-Point Based(Single Wireless Hop)
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 3
No Infrastructure Cost Effective, Greater Coverage
Poor throughput
Wireless Networks
Multi-hop Wireless (Mesh) Networks
Gateway
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 7
Outline Overview
Why poor throughput in mesh networks?
Ditto’s Design
Evaluation
Future Work
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 9
Avoiding Interference: Don’t Transmit If You Know Others Are
Transmitting one at a time avoids interference
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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.
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 16
A Ditto Transfer
chunkID3
chunkID1
chunkID2foo.txtfoo.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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 17
Proxy Serves Chunk Request Directly If Chunk In Local Cache
Proxy ProxyProxy
Chunk Request
Chunk Response
Cache
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 24
Outline Overview
Why poor throughput in mesh networks?
Ditto’s Design
Evaluation Reconstruction Efficiency Transfer Throughput
Future Work
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 25
Emulab Indoor Wireless Testbed
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 26
MAP Campus Testbed (Purdue Univ.)
Gateway
11
28 node Indoor/Outdoor Campus-wide Mesh Network
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
10
0
0 0
0
0
0
50
020
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 28
Overhearing Complete Chunks Is Feasible
Around 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 (%)
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 29
Nodes farthest from the gateway & transfer paths overhear nothing
Co
mp
lete
ch
unk
s o
verh
ear
d (
%)
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 30
Gateway
11
31
19
12
25
18
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 31
Nodes closer to the gateway & transfer paths overhear effectively
Co
mp
lete
ch
unk
s o
verh
ear
d (
%)
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 32
Gateway
1134
5
30
14
Shield the gateway from becoming a
bottleneck
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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.
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 35
Opportunistic Caching >> On-path Caching
Receiver
On-path Caching
Overhearing & Caching
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 36
Throughput Improvement Using Ditto
Median
Log Scale!
~900 Kbps
No Caching
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 37
Throughput Improvement Using Ditto
Median
Log Scale!
~1200Kbps
~900 Kbps
No Caching
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 39
Future Work
Support for mobility
Alternate proxy selection techniques
Application specific Ditto gateways
Carnegie Mellon UniversityComputer Science DepartmentCarnegie 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
Carnegie Mellon UniversityComputer Science DepartmentCarnegie Mellon UniversityComputer Science Department 41
Thank you!