570 likes | 583 Views
This article discusses the concepts and research results in scalable ad hoc wireless networking, including geographic forwarding, Grid location service, capacity of ad hoc networks, and testbed implementations.
E N D
Grid: Scalable Ad Hoc Wireless Networking Douglas De Couto http://pdos.lcs.mit.edu/grid
What is “Ad Hoc”? • 802.11 “Ad hoc mode” • Single-hop communications • Bluetooth: master/slave • All communication goes through master device • We will mean multihop wireless networks without infrastructure, possibly mobile.
Talk Outline • Motivation • Research Results • Geographic forwarding • Grid location service (GLS) • Capacity of ad hoc networks • 802.11 performance • Testbed Implementations • In-building net • Rooftop net
Access Point Application: Smart Devices Remote Control Print Share E-Mail Internet
Application: Rooftop Nets School/Homework Server Internet Access Game server
Application: Community Nets • Cheap • Incremental • Automatic
Application: Disaster Services • Disaster may have damaged phone system etc. • Want to avoid N2 plans for N services to communicate
A F D B E C G J I H Goal: Networks out of chaos
A F D B E C G J I H Direct Contact Scales Badly “Hello J!”
A F D B E C G J I H Solution: Multi-hop Forwarding “A to J: Hello!”
Design Challenges • Finding routes • Cope with mobile nodes • Conserving battery power • Coping with malicious/faulty nodes • Scaling to large networks
Completed Research • Scalable routing: • Geographic forwarding • Distributed P2P location database • Low-power forwarding • Understanding capacity limits • Avoiding malicious nodes • Current research: 802.11 link selection
Geographic forwarding (GF) N3’s radio range N1 N4 N5 N3 N6 N2 N7 • Packets addressed to id, location • Next hop is chosen from neighbors to move packet geographically closer to destination location • Per-node routing overhead constant as network size (nodes, area) grows • Requires location service, which adds overhead
Grid Location Service (GLS) overview E H L B D J G A “D?” I F K C Each node has a few servers that know its location. 1. Node D sends location updates to its servers (B, H, K). 2. Node J sends a query for D to one of D’s close servers.
GLS’s Spatial Hierarchy level-0 level-1 level-2 level-3 All nodes agree on the global origin of the grid hierarchy
sibling level-0 squares s n s s s s sibling level-1 squares s s sibling level-2 squares s s 3 servers per node per level Node updates servers with GLS protocol
location query path Queries search for destination’s servers s n s s s s Queries search with same protocol as updates. Guaranteed to find closest location server. s s s1 x s2 s s3
GF + GLS performs well Grid DSR Number of nodes Biggest network simulated: 600 nodes, 2900x2900m (4-level grid hierarchy) Fraction of data packets delivered successfully • Geographic forwarding is less fragile than source routing. • DSR queries use too much b/w with > 300 nodes.
GLS properties • Spreads load evenly over all nodes • Degrades gracefully as nodes fail • Queries for nearby nodes stay local • Per-node storage and communication costs grow slowly as the network size grows: O(log n), n nodes • More details: Li et al., Mobicom 2000
Enlarge network by adding nodes, area Constant density Ideally, there is more “packet-hop” capacity, due to spatial reuse of spectrum But: more nodes producing traffic to be forwarded across network 802.11 Capacity
Per-node capacity depends on traffic patterns • “Random” traffic patterns won’t scale • Per-node capacity decreases like O(1/sqrt(n)) • “Local” traffic patterns scale, capacity remains constant if number of hops follows a power law distribution (e.g. GLS) • More details: Li et al., Mobicom 2001
Implementation and Testbeds • Software distributions for • Linux, BSD • PC, iPAQ • Works with unmodified Internet software • Two Grid nets deployed
LCS Grid Net 5 5 6 5 6 5 5 5 6 5 6 6 5 6 5 5 5 • 17 static nodes on 5th/6th floors • A dozen iPaq hand-helds wired gateway
Roof-Top Grid Net 6 5 4 3 2 1 LCS
Distance Vector Protocol *Nodes periodically broadcast route tables *Nodes choose route with fewest hops E D C F B’s nbrs: A, 1 hop (nh: A) C, 1 hop (nh: C) D, 2 hops (nh: C) … B A C, 1 hop (nh: C) A’s nbrs: B, 1 hop (nh: B) C, 2 hops (nh: B) D, 3 hops (nh: B) … C, 2 hops (nh: B)
Implementation • Click modular software router (userlevel) • Portable: userlevel or kernel • Rich APIs, e.g. Vector, HashMap, etc. • Any 802.11 card with std. “ad hoc mode” • Aironet 340/350 cards on Linux/BSD • Lucent-based cards on Linux • Best performance with driver support for signal statistics (minor patches)
Grid Protocol • All packets have Grid header • Own Ethernet type code (not IP packets) • Transmitter information: ID, location • Control packets • Route advertisements (broadcasts) • Location queries and replies • Data packets • Encapsulated IP • Link information is included
Packet Handling Grid routing process Route table Control packets (broadcast) Encapsulated data packets demux Route lookup Applications Add/remove encapsulation Grid packets (via pcap) IP packets (via tun/tap) Userlevel Kernel IP Stack eth0
Packet Handling: Control Grid routing process Route table Control packets (broadcast) Encapsulated data packets demux Route lookup Applications Add/remove encapsulation Grid packets (via pcap) IP packets (via tun/tap) Userlevel Kernel IP Stack eth0
Packet Handling: Data Grid routing process Route table Control packets (broadcast) Encapsulated data packets demux Route lookup Applications Add/remove encapsulation Grid packets (via pcap) IP packets (via tun/tap) Userlevel Kernel IP Stack eth0
A F D B E C G J I H Does Grid Find Useful Paths?
A F D B E C G J I H Mistake: Shortest-Path Routes A’s max range
Obstacles to Better Routing • Use low-loss paths, but… • Loss rate masked by 802.11 re-sends • Changes quickly with time, motion • What’s the best metric to minimize? • Expected total packet transmissions • Fight strong bias towards shortest paths
How to choose links? • Signal strength?
Should we use “quality”? Aironet “quality”
Current Approach: Measure loss rates • Receiver measures loss rate of sender • Receiver ping-pongs loss rate to sender • Meaured with broadcast • But: each node broadcasts every ~1.3s • What period to measure over? • How to smooth? • Trying exponentially time-weighted avg.
Installing Grid • ipkg install grid • Follow prompts, be sure to set IPADDR • Is it working?
Grid Summary • Grid routing protocols are • Self-configuring • Easy to deploy • Scalable Software etc. at: http://www.pdos.lcs.mit.edu/grid
References • GLS: Li et al., “A Scalable Location Service for Geographic Ad Hoc Routing”. Proc. ACM MobiCom, August 2000. pp. 120--130 • Capacity: Li et al., “Capacity of Ad Hoc Wireless Networks”. Proc. ACM MobiCom, July 2001. pp. 61--69 • Link quality: De Couto et al., “Effects of Loss Rate on Ad Hoc Wireless Routing”. MIT LCS TR #836
Access Point Application: Smart Devices Remote Control Print Share E-Mail Internet
Application: Rooftop Nets School/Homework Server Internet Access Game server
Application: Disaster Services • Disaster may have damaged phone system &c • Want to avoid N2 plans for N services to communicate
A F D B E C G J I H Direct Contact Scales Badly “Hello J!”
Design Challenges • Cope with mobile nodes • Finding routes • Conserving battery power • Coping with malicious/faulty nodes • Scaling to large networks
A B C D F G Topology Distribution Scales Badly 1. “C can reach A and B.” 3. Data from F to B. 2. “D can reach A, B, and C.”
A F D B E C G Geographic Forwarding Scales Well “Send towards latG / lonG.” Latitude Longitude