250 likes | 382 Views
Addressing and Routing in Multi-substrate Overlay Networks. Jorg Liebeherr University of Toronto Joint work with: Majid Valipour and Boris Drazic. What is an overlay anyway?. An overlay network is a virtual network of nodes and logical links built on top of an existing network
E N D
Addressing and Routing in Multi-substrate Overlay Networks Jorg Liebeherr University of Toronto Joint work with: Majid Valipour and Boris Drazic
What is an overlay anyway? • An overlay network is a virtual network of nodes and logical links built on top of an existing network • A virtual link in the overlay corresponds to a path in the underlay Overlay network Substrate (“underlay”) network
Multi-substrate Network • Colors indicate type of substrate • Overlapping circles and links indicate bidirectional connectivity
Approaches to Routing • “Vanilla” Ad-hoc routing • Extensively explored • Not cognizant of substrates • Scalability limits • Single structured overlay • Simple addressing and routing • Scales to large networks • Not always viable • Hierarchical • Within and between groups of same color • Needs address and routing solutions
Overlays over multiple substrates • Goal: Improve ability to build an overlay over multiple substrates • Problem: How to efficiently propagate information about address bindings? • Solution: Protocol mechanisms for exchanging address bindings Cross Substrate Advertisement (CSA)
Address Bindings in Single-substrate Overlay Overlay nodeidentifier • Address binding: [A; SA(A)] Substrate address
Address Bindings in Multi-substrate Overlay Overlay nodeidentifier • More complex address binding: [A; SAS1(A), SAS3(A)] Substrate address
Source: A Source: A SAS1(A) SAS2(A) SAS3(A) List of substrate addresses Cross Substrate Advertising (simplified)- Outgoing - ID = A SAS1(A) SAS3(A) SAS2(A) SAS1(A) SAS2(A) SAS3(A)
Source: A Source: A SAS1(A) SAS1(A) SAS1(A) Cross Substrate Advertising (simplified)- Incoming -
Evaluate Methods for Relayed Address Exchange Gossip Protocol-driven dissemination Exchange address lists periodically Attach address lists to protocol messages “Push” “Push Single” “Pull” Add address list to each message with info on node Add preferred address to each message with info on node Request address list when info is needed
Experimental Evaluation • Local Emulab Testbed • 20 Linux nodes • Software: • Hypercast with CSA • Delaunay Triangulation protocol • Multiple UDP/IP substrates
S2 S3 R12 R13 R11 R21 R22 R23 S1 R31 R23 R33 S4 Mapping of Nodes to Substrates • K x K substrates (K+1) x (K+1) regions • Nodes distributed uniformly across regions K=2
Performance metrics • Stability: Do nodes reach a stable state? • % of nodes satisfying stability criterion for local neighborhood • Connectivity: Do nodes form a single overlay? • # of partitioned topologies A single stable overlay topology has formed when (1) 100% of nodes are stable; and (2) there is one topology
Stability K=8 (64 substrates), 648 nodes Gossip None Push-single Push/Pull Push-single and gossip 250 ms 500 ms 1000 ms
Connectivity K=8 (64 substrates), 648 nodes Number of partitions Number of partitions
Protocol overhead Received Traffic (average per node): K=17 (289 substrates), 2592 nodes
Approaches to Routing • “Vanilla” Ad-hoc routing • Extensively explored • Not cognizant of substrates • Scalability issues • Single structured overlay • Simple addressing and routing • Scales to large networks • Not always viable • Hierarchical • Within and between groups of same color • Needs address and routing solutions
Reachability Domain • Substrate: Set of compatible attachment points • Reachability Domain: Maximal set of nodes with path in same substrate Nodes in the same reachability domain must be able to agree on the scope and identifier of a reachability domain. Hierarchical routing: First find destination RD, then node within RD
Dynamic Reachability Domains • Number and location of reachability domains are dynamic New reachability domain Location of reachability domain changes Keeping consistent routing tables may not be feasible
Strawman: Landmark Domain Routing • Inspired by Landmark Routing and Compact Routing • Key concepts: • Use least volatile reachability domains as landmark domains • Route to destination via landmark domain • Nodes know how to route to landmark domain • Locator is reverse path from landmark domain • Locator has one entry per traversed reachability domain
Reachability Domain • Route from A K • K’s Locator: {RD6; H, J} Step 1: Use next-hop information to reach node in landmark domain Step 2: Use locator for exit node in landmark domain Step 3: Follow reverse path to K
Preliminary Evaluation • Random static topology • 100 nodes per substrate with up to 70 reachability domains • Multiple landmark domains
Related Works • Adhoc Routing • Hierarchies or clustering for scalabilitye.g., [Ramanathan & Steenstrup `98] [Pei et.al. `00] [Eriksson et.al.`04] • Structured overlays for ad-hoc routing e.g., [Viana et.al. ‘04] • Scalable Routing • Landmark e.g., [Francis `88] • Compact Routing e.g., [Thorup & Zwick `01] • Metric Spaces e.g., [Krioukov `10] • Overlay-based Routing • Identifier-based e.g, [VRR ’06] [IHR ’08] [ROFL ’06] • Locator-based + directory e.g., [SEATTLE `08] [SpoVNeT ’08]
Summary • Self-organizing overlay protocols over multiple substrates • Cross-Substrate Advertisement improves ability to form a structured overlay over multiple substrates • Hierarchical routing between reachability domains • Landmark domain routing awaits full exploration: • Provable bounds on path stretch • Scalability vs. dynamics