grid: scalable ad hoc wireless networking

57
Grid: Scalable Ad Hoc Wireless Networking Douglas De Couto http://pdos.lcs.mit.edu/ grid

Upload: ezekiel-phelps

Post on 30-Dec-2015

60 views

Category:

Documents


2 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

Application: Smart Devices

Internet

AccessPoint

Print

E-Mail

Share

RemoteControl

Application: Rooftop Nets

Game server School/HomeworkServer

InternetAccess

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

Goal: Networks out of chaos

A

F

D

B

E

C

GJ

I

H

Direct Contact Scales Badly

A

F

D

B

E

C

GJ

I

H

“Hello J!”

Solution: Multi-hop Forwarding

A

F

D

B

E

C

GJ

I

H

“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)

• 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

N1

N2

N3N4 N5

N3’s radio range

N7

N6

A

EH

G

B

D

FC

J

I K

L

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.

“D?”

Grid Location Service (GLS) overview

level-0

level-1

level-2

level-3

All nodes agree on the global origin of the grid hierarchy

GLS’s Spatial Hierarchy

3 servers per node per leveln

s

s

s

s

s

s

s

s s

Node updates servers with GLS protocol

sibling level-0squares

sibling level-1squares

sibling level-2squares

Queries search for destination’s servers

Queries search with same protocol as updates.Guaranteed to find closest location server.

n

s

s

s

s

s

s

s

s s3

xs2

s1

location query path

• Geographic forwarding is less fragile than source routing.• DSR queries use too much b/w with > 300 nodes.

Fra

cti o

n of

da t

a pa

c ket

s de

l iver

ed s

ucce

ssfu

l ly

Number of nodes

DSR

Grid

GF + GLS performs well

Biggest network simulated:600 nodes, 2900x2900m(4-level grid hierarchy)

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

802.11 Capacity

• 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 packet-hops can scale

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

55

55 5

5 5 55

6

66 6 6

6

• 17 static nodes on 5th/6th floors• A dozen iPaq hand-helds

wiredgateway

Roof-Top Grid Net

LCS

5

43

12

6

A B

C DE

F

A’s nbrs:B, 1 hop (nh: B)C, 2 hops (nh: B)D, 3 hops (nh: B)…

C, 2 hops (nh: B)

B’s nbrs:A, 1 hop (nh: A)C, 1 hop (nh: C)D, 2 hops (nh: C)…

Distance Vector Protocol

C, 1 hop (nh: C)

*Nodes periodically broadcast route tables

*Nodes choose routewith fewest hops

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

Kernel

Userlevel

eth0

Grid routing process

demux

IPStack

Route lookup

Route tableControl packets (broadcast)

Encapsulated data packets

Grid packets (via pcap)

IP packets(via tun/tap)

Add/remove encapsulation

Applications

Packet Handling: Control

Kernel

Userlevel

eth0

Grid routing process

demux

IPStack

Route lookup

Route tableControl packets (broadcast)

Encapsulated data packets

Grid packets (via pcap)

IP packets(via tun/tap)

Add/remove encapsulation

Applications

Packet Handling: Data

Kernel

Userlevel

eth0

Grid routing process

demux

IPStack

Route lookup

Route tableControl packets (broadcast)

Encapsulated data packets

Grid packets (via pcap)

IP packets(via tun/tap)

Add/remove encapsulation

Applications

Does Grid Find Useful Paths?

A

F

D

B

E

C

GJ

I

H

Mistake: Shortest-Path Routes

A

F

D

B

E

C

GJ

I

HA’s maxrange

Link Quality Isn’t Bi-modal

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

End Of Talk

Demo…

Links Aren’t Symmetric

Application: Smart Devices

Internet

AccessPoint

Print

E-Mail

Share

RemoteControl

Application: Rooftop Nets

Game server School/HomeworkServer

InternetAccess

Direct Contact Scales Badly

A

F

D

B

E

C

GJ

I

H

“Hello J!”

Design Challenges

• Cope with mobile nodes

• Finding routes

• Conserving battery power

• Coping with malicious/faulty nodes

• Scaling to large networks

Topology Distribution Scales Badly

1. “C can reach A and B.”

AB

C

D

F

3. Data from F to B.

2. “D can reach A, B, and C.”

G

Geographic Forwarding Scales Well

Longitude

Latit

ude

A

F

D

B

E

C

G

“Send towards latG / lonG.”

Location Database

Longitude

Latit

ude

A

F

D

B

E

C

G

DB

1. “G is at latG / lonG”

2. “Where is G?”

Distributed Location Database

• Each node is DB for a few other nodes

• How to find a node’s location server(s)?

• Every node has an unchanging ID

• hash(ID) maps ID to position in unit square

G’s Location Server is a Point

G

hash(G) = 0.1,0.9

x

(0,0)

H I

Spatial Grid Hierarchy

All nodes agree on the global origin of the Grid hierarchy

Multiple Servers per Node

G

c

b a

Lookups Expand in Scope

G

c

b a

A

?

Grid Protocol Overhead Grows Slowly

• Protocol packets include: Grid update, Grid query/reply.

Number of nodes

Pro

toco

l Ov e

rhea

d (p

acke

ts p

er s

econ

d)