Scalable Ad Hoc Routing the Case for Dynamic Addressing.

22
Scalable Ad Hoc Routing the Case for Dynamic Addressing

Transcript of Scalable Ad Hoc Routing the Case for Dynamic Addressing.

Scalable Ad Hoc RoutingScalable Ad Hoc Routing

the Case for Dynamic Addressingthe Case for Dynamic Addressing

<- DART valley, New Zealand<- DART valley, New Zealand

Dynamic Address RouTing

Jakob Eriksson, Michalis Faloutsos, Srikanth Krishnamurthy

University of California, Riverside

Dynamic Address RouTing

Jakob Eriksson, Michalis Faloutsos, Srikanth Krishnamurthy

University of California, Riverside

DARTDART

•Routing in networks of millions of strangers.

•Be able to route packets even through handheld, low power, devices.

•Support wires, as well as directional and omnidirectional antennae.

•No assumption of infrastructure.

•No central ownership / administration.

•Plug-n-play operation, zero-configuration.

•Routing in networks of millions of strangers.

•Be able to route packets even through handheld, low power, devices.

•Support wires, as well as directional and omnidirectional antennae.

•No assumption of infrastructure.

•No central ownership / administration.

•Plug-n-play operation, zero-configuration.

The ProblemThe Problem

<- Poison DART frog<- Poison DART frog

• New/different approach to routing.

• Replace node address with two numbers:

• Node identifier - static.

• Routing address - dynamic.

• Dynamic routing address indicates current location in network topology.

• Proactive routing distributes routing info.

• Distributed lookup table maps identifier to current routing address.

• New/different approach to routing.

• Replace node address with two numbers:

• Node identifier - static.

• Routing address - dynamic.

• Dynamic routing address indicates current location in network topology.

• Proactive routing distributes routing info.

• Distributed lookup table maps identifier to current routing address.

DART initial designDART initial design

Why on Earth...?Why on Earth...?Rural networksRural networks

Consumer owned

networking

Consumer owned

networking

Theater-wide military networksTheater-wide military networks

Internet 2.0?Internet 2.0?

Civil disobedienceCivil disobedience

Protecting civil libertiesProtecting civil liberties

Free speechFree speech

Ubiquitous and free connectivity?Ubiquitous and free connectivity?

Networked societyNetworked society

Who knew what Internet would become?

Who knew what Internet would become?DIY wide-area networkingDIY wide-area networking

Circumventing copyrights?Circumventing copyrights?Because we can!Because we can!

Developing countriesDeveloping countries

<- motivation<- motivation

•Related Work

•DART

•Routing

•Address Allocation

•Node Lookup

•Simulations

•Conclusion

•Related Work

•DART

•Routing

•Address Allocation

•Node Lookup

•Simulations

•Conclusion

RoadmapRoadmap

DART subway map, Dublin ->DART subway map, Dublin ->

• Hierarchical routing (Kleinrock, Kamoun ‘77)

• Flat ad hoc routing protocols: AODV, DSR, DSDV. Numerous derivatives.

• Clustering based routing: Landmark, LANMAR, Clusterhead, Hierarchical State Routing, MMWN.

• Hybrids: ZRP, HARP, SHARP

• Georouting: LAR, DREAM, Grid, etc.

• Distributed Hashtables: Chord, Plaxton routing etc.

• Hierarchical routing (Kleinrock, Kamoun ‘77)

• Flat ad hoc routing protocols: AODV, DSR, DSDV. Numerous derivatives.

• Clustering based routing: Landmark, LANMAR, Clusterhead, Hierarchical State Routing, MMWN.

• Hybrids: ZRP, HARP, SHARP

• Georouting: LAR, DREAM, Grid, etc.

• Distributed Hashtables: Chord, Plaxton routing etc.

Related WorkRelated Work

Mobile IP? No, not quite related.Mobile IP? No, not quite related.

•Routing Address - fixed length binary string.

•Address Prefix - sequence of most significant bits from routing address.

•Prefix Subgraph - The graph induced from a network graph by the set of nodes with a given prefix.

•Routing Address - fixed length binary string.

•Address Prefix - sequence of most significant bits from routing address.

•Prefix Subgraph - The graph induced from a network graph by the set of nodes with a given prefix.

Some TerminologySome Terminology

In DART, prefix subgraphs must be connected!In DART, prefix subgraphs must be connected!

101101

10x10x

<- DART light rail<- DART light rail

Address Space as Binary Tree

Address Space as Binary Tree

•Routing addresses form a virtual binary tree.

•All nodes within any given subtree are able to communicate using only nodes in that subtree.

•Routing addresses form a virtual binary tree.

•All nodes within any given subtree are able to communicate using only nodes in that subtree.

Just prefixes, not actual nodes.

Just prefixes, not actual nodes.

Addresses that nodes can occupy.

Addresses that nodes can occupy.

•Scalable routing through a virtual hierarchy.

•Each node keeps log N routing entries.

•Scalable routing through a virtual hierarchy.

•Each node keeps log N routing entries.

The Routing TableThe Routing Table

•One unique address per node.

•All prefix subgraphs must be connected.

•Minimize communication overhead.

•No centralized resources/infrastructure.

•Minimize address size (in bits).

•One unique address per node.

•All prefix subgraphs must be connected.

•Minimize communication overhead.

•No centralized resources/infrastructure.

•Minimize address size (in bits).

The Addressing ProblemThe Addressing ProblemIMPORTANT!IMPORTANT!

IMPORTANT!IMPORTANT!

<- DART automobile<- DART automobile

Basic Solution exampleBasic Solution example

When a node joins, it picks an address that shares a prefix one of its neighbors.

Neighbors’ routing tables show valid address ranges that are still unoccupied.

When a node joins, it picks an address that shares a prefix one of its neighbors.

Neighbors’ routing tables show valid address ranges that are still unoccupied.

Node Lookup TableNode Lookup Table• Efficient distributed hashtable (DHT) that

maps Node ID -> Routing Address.

• Similar to overlay DHT research, but uses existing routing layer state for efficiency.

• Nodes periodically send their current address to one other node, their lookup peer.

• Upon connection establishment, the routing address of the destination retrieved from the destination’s lookup peer.

• Efficient distributed hashtable (DHT) that maps Node ID -> Routing Address.

• Similar to overlay DHT research, but uses existing routing layer state for efficiency.

• Nodes periodically send their current address to one other node, their lookup peer.

• Upon connection establishment, the routing address of the destination retrieved from the destination’s lookup peer.

Lookup Table BasicsLookup Table Basics

Node 3 (011)Node 3 (011)

“Node 3 has address 001”“Node 3 has address 001”

Node 7 (111)Node 7 (111)

“Node 7 has address 000”“Node 7 has address 000”

????

Every ID->Address mapping is stored at the node whose address most closely matches the

ID!

Every ID->Address mapping is stored at the node whose address most closely matches the

ID!

•Performed using two simulators:

•Home-grown for visual feedback, speed and scalability.

•ns-2 for comparisons and accuracy.

•Wireless nodes, with omnidirectional antennae.

•Performed using two simulators:

•Home-grown for visual feedback, speed and scalability.

•ns-2 for comparisons and accuracy.

•Wireless nodes, with omnidirectional antennae.

SimulationsSimulations

DART personal aircraft ->DART personal aircraft ->

Extremely small average routing table size < 2*log N.

About 15 entries for 4000 nodes!

Extremely small average routing table size < 2*log N.

About 15 entries for 4000 nodes!

Routing Table SizeRouting Table Size

0

10

20

30

10 100 1000 10000

Network Size (nodes)

Routing Table Size (entries)

Simulation Results log(N) 2*log(N)

•Low average path stretch, 30-35%, so route aggregation is not hurting us much.

•Low average path stretch, 30-35%, so route aggregation is not hurting us much.

Experimental ResultsExperimental Results

0

0.1

0.2

0.3

0.4

0.5

0.6

125 250 375 500 625 750 875 1000

Network Size (nodes)

Path Stretch (fractional increase)

Return Trip Long Direction Short Direction

•Ns-2 doesn’t scale to large wireless simulations.

•Simulated 400-node networks.

•Varied connection establishment frequency (CEF).

•Arguably, CEF increases in larger networks.

•Also, CEF depends on traffic patterns.

•Ns-2 doesn’t scale to large wireless simulations.

•Simulated 400-node networks.

•Varied connection establishment frequency (CEF).

•Arguably, CEF increases in larger networks.

•Also, CEF depends on traffic patterns.

Simulating large networks

Simulating large networks

0

2000

4000

6000

8000

10000

12000

0.1 1 10 100

Connection Establishment Frequency (conn/s)

Overhead (packets/s)

DART AODV DSR

Overhead vs. CEFOverhead vs. CEF

• DART overhead is not affected by CEF.

• Reactive protocols suffer when CEF increases.

• DART overhead is not affected by CEF.

• Reactive protocols suffer when CEF increases.

UpdatesUpdatesUpdates & RequestsUpdates & Requests

Throughput vs. CEFThroughput vs. CEF

• DART reliably outperforms AODV/DSR when connection establishment frequency > 3.

• CEF == 3 means one connection/node every 2 mins.

• DART reliably outperforms AODV/DSR when connection establishment frequency > 3.

• CEF == 3 means one connection/node every 2 mins.

0

5

10

15

20

25

30

0.1 1 10 100

Connection Establishment Frequency (conn/s)

Throughput (packets/s)

DART AODV DSR

•Dynamic Addressing represents a novel and promising approach to scalable ad hoc routing.

•DART is on its way to become a scalable alternative to current ad hoc routing protocol.

•Simulation results indicate significant performance improvement even for 400-node networks.

•Dynamic Addressing represents a novel and promising approach to scalable ad hoc routing.

•DART is on its way to become a scalable alternative to current ad hoc routing protocol.

•Simulation results indicate significant performance improvement even for 400-node networks.

ConclusionConclusion<- DART valley, New Zealand<- DART valley, New Zealand

The EndThe End

<- DART simulator<- DART simulator

dart.cs.ucr.edudart.cs.ucr.edu