Scalable Source Routing January 2010 Thomas Fuhrmann Department of Informatics, Self-Organizing Systems Group, Technical University Munich, Germany
Routing in Networks You re there. I m here. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 2
Routing in Networks Have full topology and use Dijkstra Use Bellman-Ford (i.e. distance vectors) Use coordinates Flood the graph and build up state Have source routes Who assigns addresses? Network or you? What about mobility? Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 3
Scalable Source Routing breaks the Trade-Off SSR Few control messages Little routing state Routing Tables Shortest Paths Flooding Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 4
Agenda 1. Intoduction 2. Peer-to-Peer Overlay Networks 3. Scalable Source Routing 4. Mobility & Churn 5. Summary Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 5
Structured Peer-to-Peer Networks Virtual Address Space Peer-to-Peer Overlay Network Internet Existing Network Infrastructure Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 6
Structured Peer-to-Peer Networks Internet there Proximity-aware Key Based Routing here Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 7
Scalable Source Routing 13 Node 13 virtually not as far as node 17. 88 17 1 Node 88 beyond destination. 88 88 17 17 1 1 Node 17 is best choice. 13 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 8
Scalable Source Routing 19 19 17 88 88 17 17 1 1 1 32 19 Node 19 virtually not as far as node 32. 32 32 13 13 Node 32 is the best choice. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 9
Scalable Source Routing 27 32 17 1 Node 27 is the only option, but it s in the wrong direction. 19 19 32 32 27 27 88 88 17 17 1 1 13 13 SSR Rule: Each node must have a source route to its virtual neighbor. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 10
Scalable Source Routing 32 39 39 39 17 1 19 19 88 88 17 17 1 1 32 32 13 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 11
Scalable Source Routing 32 39 39 39 17 1 19 19 88 88 17 17 1 1 32 32 13 13 Fuhrmann, A Self-organizing Routing Scheme for Random Networks, Networking 2005. Caesar et al. Virtual Ring Routing: Network Routing Inspired by DHTs, SIGCOMM 2006. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 12
Iterative Successor Search 29 29 13 Successor Notification Successor Notification 51 101 13 51 13 51 3 97 29 101 3 97 29 101 Viewed from node 13 Viewed from node 101 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 13
Iterative Successor Search 13 29 Successor Update Node 29 can resolve the inconsistency Notifications: I3 29 Notify 101 I0I 29 Notify 3 13 97 29 51 101 Updates: I3 29 Update I0I 29 I0I 29 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 14
Source Route Cache Nodes use static memory: Each node stores its direct physical neighbors. Each node stores a source route to its successor. Each node stores a source route to its predecessor (to be able to send updates). All remaining memory (assigned to routing) is used to cache source routes in a LRU manner. 3 97 13 29 101 Source Route Cache Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 15
Source Route Cache Upon a cache miss the message is forwarded to the node that Lies before the target (in direction of the ring), is physically closest to the forwarding node, and that virtually closest to the target. (Rules applied in that order.) Example: 13 51 13 3 97 13 29 101 51 29 3 13 97 3 13 51 29 3 97 29 101 101 51 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 16
Source Route Cache The cache accumulates short routes: 13 3 97 29 101 51 51 101 13 29 51 101 29 97 3 13 29 97 101 3 13 29 101 51 139797 3 3 51 13 51 3 97 29 101 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 17
Simulation Results (1) Consistency Successful delivery [%] Small-world topology, 128.000 nodes, cache size 256 Simulation time [rounds] Routing stretch [Achieved hops : shortest path] Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 18
Simulation Results (2) Cluster Formation Unit disk graph with uniformly random node positions (critical density). Forwarding to physical neighbor according to routing rule leads to cluster formation. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 19
Simulation Results (3) Node Specialization Address distribution in the cache Relative Frequency Simulation result equally distributed exponentially distributed Address distance Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 20
Scalable Source Routing 32 39 39 39 17 1 19 19 88 88 17 17 1 1 32 32 13 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 21
Self-Organization in SSR 32 17 1 19 19 88 88 17 17 1 1 32 32 27 27 13 13 In principle, there could be many intermediate nodes. In practice this is rare: The larger the gap, the higher the probability that a physical proximate node fills the gap. Nodes specialize on their virtual neighborhood. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 22
Self-Organization in SSR Neighborship Recommendations (indirect virtual neighbors) Neighborship Corrections (direct virtual neighbors) 39 39 39 39 32 32 32 32 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 23
Scalable Source Routing 32 39 39 39 17 1 19 19 88 88 17 17 1 1 32 32 13 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 24
Dealing with Churn and Mobility 32 39 39 39 17 1 19 19 88 88 17 17 1 1 32 32 13 13 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 25
Rule 1: Don t pollute the caches You may cache source routes from packets that you forward; but you must not cache those parts of the route that have not yet been used! 17 1 32 39 58 58 39 39 19 19 17 17 32 32 13 13 5 23 23 77 77 93 93 88 88 1 1 56 56 29 29 1 17 32 5 23 58 39 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 26
Rule 2: Keep the intermediate nodes Keep the intermediate nodes, which appended to the path, in the packet header, so that you can backpropagate a failure notification! 17 1 32 39 58 58 39 39 19 19 17 17 32 32 13 13 5 23 23 77 77 93 93 88 88 1 1 56 56 29 29 1 17 32 5 23 58 39 58 23 93 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 27
Rule 3: Use the physical neighbors Remember the physical neighbors of your virtual neighbors and use them as intermediate destination in case you lost the route to a virtual neighbor. 17 1 32 39 58 58 39 39 19 19 17 17 32 32 13 13 5 23 23 77 77 93 93 88 88 1 1 56 56 29 29 1 17 32 5 23 58 39 58 23 5 13 56 77 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 28
Simulation results (4) Node Churn Acknowledged [%] Node half-life time [min] 8000 nodes Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 29
Simulation (5) Compare to AODV and DSR Successful delivery [%] Hybrid MANET (5% fixed wired nodes), Mobile nodes 1m/s Number of nodes Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 30
Simulation Results (6) Node velocity Successful delivery [%] 450 node pure MANET Node velocity [m/s] Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 31
Simulation Results (7) Delay distribution Successful delivery [%] 612 node hybrid MANET Delay [ms] Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 32
Simulation Results (8) Hop distribution Successful delivery [%] 800 node hybrid MANET Hop Count Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 33
Comparison of SSR and VRR 19 19 17 88 88 17 17 1 1 1 32 39 32 32 13 13 39 39 19 19 17 17 17 88 88 Fuhrmann, SSR, Networking 2005 Caesar et al., VRR, SIGCOMM 2006 1 1 1 32 39 32 32 13 13 39 39 Source Routes Limited state per node Large packet headers (cf. source routes), but reduction technique can reduce to local next hop IDs Consistency without flooding Tables with destination / path ID Tables with next hop / path ID Potentially unlimited state Small packet headers Representative nodes must flood the network Comparison shows slight advantage for SSR, unless the bandwidth saturates. Fixed memory demand of SSR might be beneficial for implementation in hardware. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 34
The Linyphi Mesh Network IPv6 IPv6 IPv6 IPv6 Scalable Source Routing Protocol Pengfei Di et al. Linyphi: Creating IPv6 Mesh Networks with SSR. Concurrency and Computation, Vol 20, Issue 6, April 2008 Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 35
Other Activities in the Group Overview Routing in Virtual Address Spaces Applications in Distributed Computing Igor Overlay Scalable Source Routing Igor File System Virtual Machines Internet Key Based Routing Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 36
Summary Scalable source routing is a self-organizing routing scheme for large networks with flat address space. It consists of a few simple rules, and requires only little per-node state. It is very robust in face of mobility and node churn. Prototype implementations exist, but so far they ve been tested on small scale only. Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 37
Thank you! Thomas Fuhrmann Department of Informatics Self-Organizing Systems Group Technical University Munich, Germany fuhrmann@in.tum.de Scalable Source Routing, January 2010 Thomas Fuhrmann, Technische Universität München, Germany 38