DART Scalable Ad hoc Routing DART Dynamic Address
DART: Scalable Ad hoc Routing DART: Dynamic Address Rou. Ting Michalis Faloutsos Joint work with: Jakob Eriksson Srikanth Krishnamurthy M. Faloutsos 1
Why I love Canada Sunset in Jack Lake, Ontario, Canada, May 2005. M. Faloutsos 2
Why I am not in Canada… Suntanning at Jack Lake May 2005, Ontario, Canada. M. Faloutsos 3
The Future of Ad Hoc Networks Meganode ad hoc networking • Pockets of wireless connectivity • Consumer owned networks • Large scale sensor networks Commercial interest: Starbucks, cell phone companies Interoperate and exploit wires where available Plug-n-play operation, zero-configuration. M. Faloutsos 4
Why on Earth. . . ? Who knew what Internet would become? DIY networking Overthrowing governments? Rural networks Theater-wide military networks Developing countries Civil disobedience Networked society Protecting civil liberties Ubiquitous and free connectivity? Internet 2. 0? Consumer owned Free speech networking Circumventing copyrights? M. Faloutsos Because we can! 5
Question: Are We Ready For This? Current Ad Hoc networks do not scale! • Only to a few hundred nodes! • Reactive (AODV/DSR): Routing relies on flooding! • Proactive (DSDV): Keeping track of all nodes: O(N) Even wireline networks have problems: • Internet was not designed for mobility! M. Faloutsos 6
DART Could Be It! Our approach replaces node address with two numbers: • Node identifier - static. • Routing address - dynamic. Address indicates current network location Distributed lookup table maps identifier to current routing address. M. Faloutsos 7
DART: a Novel Networking Approach application transport network link physical (P 2 P networking, Chord, Pastry etc) (DART) The basic idea: separate node identity from address Address indicates location in the network topology Not an overlay: an alternative routing layer Paper appeared at IPTPS 2003 Different name there: Peer. Net Poster at ICNP 2003 Paper to appear at INFOCOM 2004 M. Faloutsos 8
Roadmap DART • Address allocation • Routing • Node Lookup Simulation Results Related work Conclusion M. Faloutsos 9
The Status Quo: Proactive Routing 10. 48. x. x 10. x. x. x 10. 48. 11. x 10. 48. 2. x 10. 100. x. x Proactive routing: do routing before you need it In Internet: scaling thru address aggregation With mobility: you can’t aggregate addresses Keep state per node O(N), and updates for all M. Faloutsos 10
The Status Quo: Reactive routing: search when you need a path Do nothing ahead of time Route discovery: flood the whole network Optimizations can’t help: Incremental flooding, caching of routes M. Faloutsos 11
DART: The Overview Basic idea: permanent node. ID =/= transient address The address reflects network location It is a proactive routing scheme, distance vector Consequences: • Routing is simplified: address tells me where you are • Nodes with similar addresses are “near” each other Challenges: • Address allocation: When I move, change the address • ID to Address mapping: Given an ID, find the address M. Faloutsos 12
Overview: How DART Works A new node finds a legitimate address: • Through overhearing periodic routing updates. If the node moves, it gets a new address. Nodes exchange routing tables periodically DART provides lookup: (node. ID, address) • Not similar to typical Distr. Hash Tables! Each node registers and updates its entry M. Faloutsos 13
Address Space as Binary Tree Prefix Tree Addresses as leaves in a virtual binary tree Prefix Tree: a prefix: 00 x, 0 xx etc Prefix Subgraph: subgraph induced by prefix M. Faloutsos 14
DART Address Invariant All nodes within any given subtree are able to communicate using only nodes in that subtree. M. Faloutsos 15
Managing Dynamic Addresses Maintain a unique address for every node. Ensure that all prefix subgraphs are connected (Address Invariant) Minimize communication overhead Require no centralized sources infrastructure. Minimize required address size (in bits) • Keep prefixes small M. Faloutsos 16
Basic Solution Joining node picks an address with a prefix common with one of its neighbors. The routing table is consulted to ensure that the address invariant is met Efficient use of address space: shorter prefixes Maximize connectivity within prefix graph • Robustness, reduction of overhead M. Faloutsos 17
Address Allocation Example When a node joins, it picks an address that shares a prefix one of its neighbors. M. Faloutsos 18
Several Subtleties Exist When nodes move, who is in charge • Left most node in address tree • Id of this node “characterizes” subtree or network Should we try to balance the tree proactively • We tried, made things complicated • Per-need balancing seems to work well Merging of networks • Network with “lowest” id wins Clever assignment of ids to “stable” static nodes will help things M. Faloutsos 19
Routing with DART M. Faloutsos 20
Routing is simplified If you know the address, life is sweet Proactive operation Distance vector style Nodes keep track of prefixes • Best hop neighbor per prefix Routing table has O(log. N) entries! • See next slide M. Faloutsos 21
How Routing Works in DART Scalability through information abstraction Check destination address one bit a time Route packet to the appropriate prefix subtree • Routing state: O(log N) for a well balanced tree M. Faloutsos 22
Node Look Up What if we don’t know the address? M. Faloutsos 23
Node Lookup Table Maps node identity -> current routing address. Uses existing routing layer state only. Upon connection establishment, current routing address of destination is looked up in table. Hierarchy of tables, local -> global, ensures scalability. M. Faloutsos 24
Look Up Preliminaries Id space address space A Hash(A) Node is associated with three values • Id of node, say A • Current address of node addr(A) • Hashed address of node A Hash(A) M. Faloutsos 25
How The Look-Up Works ID: B ID: Addr: Hash(A) Node with Address Hash(A) responsible for node with ID A Node(A) updates his entry • To whoever is at Hash(A) Look up = routing to Hash(A) For B to talk to node id A ID: A Addr: X • Compute Hash(A) • Query node at Hash(A): ID space -> Address space M. Faloutsos 26
Subtle Issues of Look Up What if no node has address Hash(A)? • the node whose address is closer to this address is responsible for the mapping The system is push based: • Each node wants to keep its mapping accurate • Trade off: freq of update: accuracy vs overhead Many ideas for improving accuracy: • Add locality: nodes far away need to have the significant bits right • Nodes can cache information M. Faloutsos 27
Other Characteristics of DART Efficient scalable support for multicasting and anycasting • Exploit the virtual address tree to “establish” a multicast tree Loop-free routing • Efficient loop-avoidance (log N bits per entry) M. Faloutsos 28
Performance Evaluation Scalability needs REALLY large simulations N nodes : 10<N<4000: • uniformly distributed, node density above 6. Mobility: random way point model: • Move - pause - pick new destination - move, moving in straight lines M. Faloutsos 29
Simulations Performed using two simulators: • Home-grown for speed and scalability. • ns-2 for comparisons and accuracy. Wireless nodes, with omnidirectional antennae. M. Faloutsos 30
Routing Table Size Scales Superbly! Routing Table 2 log N Network Size Yes, 10, 000 Extremely small average routing table size < 2*log N. About 15 routing entries for 4000 nodes! M. Faloutsos 31
Does DART Increase Path Lengths? The average path stretch is LOW, 30 -35%. Recall that 25% stretch is common in Internet M. Faloutsos 32
Simulating Large Networks Ns-2 doesn’t scale to large wireless simulations. Simulated 400 -node networks. Vary Connection Establishment Frequency: CEF Arguably, CEF increases in larger networks. Also, CEF depends on traffic patterns. M. Faloutsos 33
Overhead vs. CEF AODV DSR DART overhead is not significantly affected by CEF. Reactive protocols suffer when CEF increases. M. Faloutsos 34
Throughput vs. CEF DART outperforms AODV/DSR when connection establishment frequency > 3. CEF = 3 means one connection/node every 2 mins. M. Faloutsos 35
Related Work Hierarchical routing (Kleinrock, Kamoun ‘ 77) Clustering based routing: Landmark, LANMAR, Clusterhead, Hierarchical State Routing, MMWN, etc. Georouting: LAR, DREAM, Grid, etc. Distributed Hashtables: Chord, Plaxton routing (overlays) Routing in unstable networks, K. Fall, Intel, sigcomm’ 03 Regions as a new paradigm, Sollins, MIT, FDNA’ 03 FARA from ISI/MIT, Clark, Braden, Falk, Pingali, Faber Safari from Rice, Johnson, Riedi et al M. Faloutsos 36
Conclusions DART is a scalable alternative to current ad hoc routing approaches. Time to re-evaluate our network architecture • Future networks: beyond the Internet Our approach: a new network layer • Address =/= identity • Proactive routing Simulations of DART are very promising. M. Faloutsos 37
Future Work Improve on all aspects of the protocol. Port simulation code to Linux kernel • For real-world testing with Linksys basestations Add security and policy considerations. M. Faloutsos 38
My Areas of Research Data Mining the Internet (Karagiannis, Siganos) • Topology: models and patterns [To. N 03] [Netw/ing 05] • Traffic: model and predict behavior [GI 01] [Infocom 04] • BLINC: traffic classification in the dark: [IMC 04] [SIGCOMM 05] Modeling and Improving BGP (G. Siganos, Y. He) • NEMECIS: safeguarding BGP graph[Infocom 04] [GI 01] DART: A radical network layer for ad hoc [IPTPS 03] [Infocom 04] Ad hoc network protocols (Law) • Multicasting and power efficient broadcast [ICNP 03] [Netw/ing 05] Modeling mobility and cellular networks (Jobin) [Infocom 04] Cooperative Diversity (Jakllari) work in progress M. Faloutsos 39
Late Breaking News: Poisson Returns Poisson distributions appear at the backbone High speed and large aggregation of sources seem to change the behavior! [Karagiannis et al Infocom ‘ 04] Distr. Of interarrival times of packets In an OC 48 backbone line from CAIDA M. Faloutsos 40
Thank you More details than you will ever need: www. cs. ucr. edu/~michalis M. Faloutsos 41
NEMECIS: Validating BGP Policy A tool to analyze and validate BGP policy Motivation: robust BGP = healthy Internet Delivers: advice/alert in configuring and troubleshooting BGP policy and routing Key idea: use all inputs • IRR dbases, Routeviews, routing updates For more: www. cs. ucr. edu/~siganos/nemecis. html [Siganos et al. Infocom’ 04] M. Faloutsos 42
NEMECIS: Two Loops of Functionality Intended Policy Configuration Information Declared Policy (in RPSLDatabase) Human Administrator Misconfiguration Alert Actual BGP Routing Tables - Routes Updates NEMECIS -Detecting misconfigurations -Detecting illegitimate routing Illegal routing Alert Loop 1: Configuration - Loop 2: Routing M. Faloutsos 43
M. Faloutsos 44
Some Terminology Routing address - a fixed length binary string. Address Prefix, aka Prefix - a sequence of bits taken from the most significant end of a binary address string. Prefix Subgraph - The graph induced from the current network graph by the set of nodes that have a given prefix. M. Faloutsos 45
The Routing Table Thanks to the invariant, routing is scalable. Each node keeps log N routing entries. M. Faloutsos 46
- Slides: 46