Scalable Ad Hoc Routing: The Case for Dynamic Addressing INFOCOM 2004 Jakob Eriksson, Michalis Faloutsos, Srikanth Krishnamurthy University of California, Riverside
Introduction Why dynamic addressing? Address equals to identity is impropriate in ad hoc (especially mobility) networks Dynamic addressing in ad hoc network: How to allocate address? How to route? How to perform node lookup? The methods should be: Localize overhead Avoid centralized protocols or special nodes Minimize manual configuration
Terminologies Identifier: globally unique Address: changes with node movement Address tree: the address space can be viewed as the leaves of a binary tree Address subtree: a range of addresses with a common prefix Level-k sibling
Example of address tree, address subtree, and level-k sibling xxx 0xx1xx 00x01x10x 11x L0 L1 L2
Address allocation The responding node splits its controlling address into half 000 A 01x00x10x11x 0xx1xx xxx 100 B 1. B joins via A 110 C 2. C joins via B 010 D 3. D joins via A
Characteristics of the method Level-0 sibling: physically connected directly The leaves of the same subtree: form a physically connected sub-graph DCABSE-- 00x01x10x11x 0xx 1xx xxx S AB DE C Node S enters the networks through node D, should these two nodes be physically connected?
Routing xxx 1xx 10x 100 0xx 11x 101 A node keeps one entry for each level-i sibling in its routing table
Routing example DCABSE-- 00x01x10x11x 0xx 1xx xxx Node S = 100 Level 2 : B Level 1 : E? Level 0 : E Node B = 011 Level 2 : S Level 1 : C Level 0 : A Node C = 001 Level 2 : E Level 1 : B Level 0 : D S AB DE C
Node lookup Each mapping is stored on one node in the network XOR-distance criterion A Addr:000 ID:0101 B Addr:001 ID:1101 C Addr:010 ID: 0010 Where should store the mapping of C? A: 000 xor 010 = 010 B: 001 xor 010 = 011 C: 010 xor 010 = 000 Stores in B Can be replaced by any prior known functions
Improvements in node moving and lookup entry updates Challenge: Lookup entries have to be updated when moving Improving method: Use xor-distance criterion with 1 or more of the most significant bits removed Choose a local node that fits the criterion
Simulation environment NS-2 network simulator v 2.26 with Random Waypoint mobility model with Max speed: 10m/s, min speed: 0.5m/s Duration = 300 s (Traffic load: packets of 512 bytes, not restricted to particular source or destination) Ignore node lookup process, replaced by a global lookup table Simulator developed by themselves. Based on NS-2, replace MAC and physical layers with a simple reliable message exchange to improve simulation times
Simulation result A: address space utilization # of nodes: 12~4,000 nodes 64-bit address Node degree: between 6 and 8
Simulation result B: path stretch Path stretch: routing path length is over the shortest path length Create static random topologies with size ranging from 125 to 1000 nodes
Simulation result C: routing scalability CEF: frequency of connection establishment Network size: 400 nodes Connection frequency: ½ to 50 per second
Topology and address allocation Star-like topology If the central node has address [000…0], its neighbors will be [100…0], [010…0], [001…0],... [000…1]. Only l addresses are available Typical ad hoc networks: not realistic, unless considering natural obstacles Base station
Topology and address allocation String topology: worst case scenario If address of u0: [000…0], u1 to un-1 will be [100…0], [110…0],…[111…1], respectively Extremely uncommon Address space locally exhausted use NAT Many identifiers are mapped to a single address The “inner” address can serve many nodes
Conclusion Present methods for dynamic addressing Distinguish id and address Routing complexity: O(logN), not based on flooding or broadcasting No manual configuration No need for central servers or geographical information (GPS)
Pre-reading advice J. Eriksson, M. Faloutsos, and S. Krishnamurthy, Peernet: Pushing peer-2- peer down the stack. in IPTPS, 2003