SelfOrganizing Hierarchical Routing for Scalable Ad Hoc Networking

Self-Organizing Hierarchical Routing for Scalable Ad Hoc Networking At Ad/Hoc Networks, Elsevier, 2007 Or Computer Science Technical Report Rice University, 2004 Slides by Ece Gelal and M. Faloutsos

Problem p Use of wireless devices is rapidly increasing n p Current ad hoc routing protocols are limited in scalability n n p Decentralized, self organizing systems Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale

Contribution p Self-organizing hierarchical routing n Proximity-based multi-level hierarchy of cells Address = concatenation of cluster ids p Hybrid Routing using this hierarchy p n n p Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash table

The Main Idea Level 3 p 2 1 0 p p Each node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and n n Join cluster Take over drum role

DART versus SAFARI p What is common? n n p Hierarchical addressing Map IDs to addresses via a hash table Difference from DART n n Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell

Safari Overview: Hierarchy p Nodes organized in multi-level cells n p Cells are identified by drums (= head) n n p Level k cells grouped into Level k+1 cells Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1 -level higher drum n The one closest in hops

Safari Overview: Routing p Self-organize into clusters: n p Nodes keep DHTs (distr. hash tables) n p Drums transmit periodic beacons Look up ID of node to find its address Route towards the drum of the cell of dest. n n n Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s. t. dest. is its member Within: Any node in cell of dest. initiates ondemand route discovery

Beaconing Protocol Beacons help establish the drums p Drums broadcast beacons periodically: p n p Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops n n D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. p Assumes: Topology changes less frequent at higher level

Clusterhead and hierarchy p D_k+1 k-level clusterheads “rule” a D_k radius area At k+1 -level we have fewer clusterheads

Beacons: Rules of Hierarchy DART = Dynamic Address Routing Table A node at level n, must have a leader at level n+1 p There is no other n-level node near by p There is a reason why you are at level n p n At least two clusters near you at level n-1

Drum Level Selection p Algorithm runs at each node, after each change in DART n p Assure DART satisfies certain conditions n p New entry or timer expiry If violated, change the node level appropriately Aids efficiency under dynamic changes

Membership Algorithm Invoked after drum level selection p Nodes choose a unique drum in 1 -higher level (closest drum) p n p Then each node is assigned a coordinate, based on its drum n n n p Whose DART entry has not expired Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di)) RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing

The Routing Table: DART p Drum Ad Hoc Routing Table (DART) p Nodes store beacons they forwarded n p Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry n When expired, I rethink my membership p drum level selection algorithm and membership algorithm invoked

Addressing -- Implications p COORD(Di)=COORD(PARENT(Di)) Rand(b) n p COORD(L)= COORD(PARENT(L)) n p if b then Pr{2 nodes get same coordinate} All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.

Proposed Routing Protocol p 1. Proactive Inter-Cell Routing n n Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes p All nodes of its sibling cells (same parent at n+1) p n p By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing n n Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol

Proactive Inter-Cell Routing p Unlike conventional clustering n n p Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART n Longest prefix matching between two coordinates p p Get the sequence # of the longest prefix match Compare with sequence # in pkt header n If not worse, replace entry in pkt with DART info

Reactive Intra-Cell Routing p Each node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself n p Coordinates are the same If coordinates match, use DSR within cell

Example Safari Routing overview

Address Resolution p Senders wish to send pkts to an ID n But protocol forwards to a coordinate Map node. ID to its current coordinate p Implemented like DHTs p n n p Each node inserts (ID, coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID

Address Resolution - Locality? p p We don’t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes n n p Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B’s coordinates n Iteratively query all nodes at greater distances

Performance Evaluation Dn= 3 hops p Transmission range = 250 m. p Topology: p n p fixed density: 50 nodes in 1000 m x 1000 m area Mobility: random waypoint

Scalability PDR: fraction of application layer packets successfully rcvd PDR versus network size

Overhead asymptotically approaches a constant value.

Path Lengths Avg # of hops btwn a random src and a random

Mobility 1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.

DHT Scalability Avg. # of hops for all pkts to STORE a coordinate in DHT. Avg. # of hops to LOOK UP a coordinate in DHT.

Conclusions Proposed routing algorithm scales well. p Periodic beacons are an overhead. p A lot of patch-like details create complication p n n Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs
- Slides: 27