Virtual Direction Routing for Overlay Networks BowNan Cheng
Virtual Direction Routing for Overlay Networks Bow-Nan Cheng Murat Yuksel Shivkumar Kalyanaraman 1
Scaling Networks: Trends in Layer 3 Flood-based Mobile Ad hoc / Fixed Wireless Networks DSR, AODV, TORA, DSDV Partial Flood: OLSR, HSLS Peer to Peer / Gnutella Overlay Networks Wired Networks Ethernet Hierarchy/Structured Unstructured/Flat Scalable LGF, VRR, GPSR+GLS Hierarchical Routing, WSR (Mobicom 07) ORRP (ICNP 06) Kazaa, DHT Approaches: CHORD, CAN Bubble. Storm (Sigcomm 07) LMS (PODC 05) Routers (between AS) SEIZE Decoupling layer 3 (or higher layer) functions from underlying network structure has been a key trend for tackling scalability problems. 2
Virtual Direction Routing Introduction • Structured vs. Unstructured Overlay Networks § Unstructured P 2 P systems make little or no requirement on how overlay topologies are established and are easy to build and robust to churn Flooding Normalized Flooding • Typical Search Technique (Unstructured Networks) § Flooding / Normalized Flooding • High Reach • Low path stretch • Not scalable § Random Walk • Need high TTL for high reach • Long paths • Scalable, but hard to find rare objects Virtual Direction Routing • Virtual Direction Routing § Globally consistent sense of direction (west is always west) Scalable interface to neighbor mapping § Routing can be done similarly to ORRP Random Walk 3
VDR Conceptualization Virtual Direction Routing (VDR) Protocol Primitives 1: Local sense of direction leads to ability to forward packets in opposite directions A 180 o S 98% T 2: Forwarding along Orthogonal lines has a high chance of intersection in area Up to 69% B Question: Can 1 hop neighbors in overlay networks be consistently “mapped” to a local virtual direction such that, be forwarding in virtual orthogonal lines, a high chance of intersection (and search success) results? 4
Wireless Nets: Key Concepts to Abstract • Primitives: [ORRP, ICNP’ 06] § Local directionality is enough to maintain forwarding along a straight line § Two sets of orthogonal lines intersect with a high probability in a bounded region • Overlay Networks: § Can we take these concepts to scale unstructured, flat, overlay networks? • Two Technical Issues: § Neighbor to virtual direction/interface mapping § Routing scheme based on virtual direction mapping 5
Neighbor to Virtual Interface / Direction Mapping 6
VDR: Neighbor to Virtual Interface Map Example: Neighbor IDs used Instead of SHA-1 Hashes 30 % 8 = 6 10 % 8 = 2 15 15 % 8 = 7 30 8 Virtual Interfaces 26 10 2 10 1 3 68 26 26 % 8 = 2 68 1 0 1 4 5 7 6 15 30 68 % 8 = 4 • Neighbors are either physical neighbors connected by interfaces or neighbors under a certain RTT latency away (logical neighbors) • Neighbor to Virtual Interface Mapping § Each neighbor ID is hashed to 160 bit IDs using SHA-1 (to standardize small or large IDs) § The virtual interface assigned to the neighbor is a function of its hashed ID (Hashed ID % number of virtual interfaces) 7
Virtual Direction Routing 8
VDR Proactive and Reactive Elements VDR conceptual representation of Proactive and Reactive Elements Node B Fwd Table Node C Fwd Table Dest Next Hops A North A A to D A 1 North 120 o F B North Dest Next Hops North C Node F Fwd Table 230 o Dest Next Hops A B 2 D Dir A F 3 120 o D D 1 230 o North Virtual View 1. 2. 3. 4. VDR State Seeding (Proactive) – Generates Rendezvous-to-Destination Routes VDR Route Request (RREQ) Packets (Reactive) – Generates Source-to-Rendezvous Rts VDR Route Reply (RREP) Packets (Reactive) VDR path after route generation 9
VDR: State Seeding and Route Request State Seeding – 10 |10 – 1| = 9 |26 – 1| = 25 26 State info forwarded in orthogonal 2 1 directions, biasing 3 0 packets toward IDs 1 that are closer to 4 7 68 SOURCE ID. Packets 5 6 are forwarded in virtual straight lines. 30 Ex: Seed Source: Node 1 48 1 3 1 10 4 28 15 5 |5 – 1| = 4 5 |13 – 1| = 12 68 Periodically, every node sends out Seed messages in virtual orthogonal directions 2 67 1 2 0 3 7 4 6 |14 – 1| = 13 |22 – 1| = 21 0 7 6 14 55 22 VDR State Seeding – Virtual View 13 10 5 26 48 1 5 5 13 Seed Path 30 10 14 22 Seed Source: Node 1 10
VDR: State Seeding and Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID 26 10 2 3 68 1 0 1 4 5 1 |10 – 12| = 2 |26 – 12| = 15 48 3 7 6 Ex: Route Request: Node 12 RREQ Source: Node 1 When a node wants to find a path to a destination, it sends out a route request (RREQ) packet in orthogonal directions with a bias 5 |5 – 12| = 7 5 |13 – 12| = 1 68 1 10 4 28 15 30 2 67 1 2 0 3 7 4 5 |6 – 12| = 6 |38 – 12| = 26 0 7 6 38 6 VDR Route Request – Virtual View 5 10 13 26 48 1 13 6 13 Seed Path 30 10 6 38 RREQ Source: Node 1 Route Request: Node 12 11
VDR: Comparing Seed and RREQ Paths State Seeding – |10 – 1| = 9 |26 – 1| = 25 10 26 State info forwarded in orthogonal 2 1 directions, biasing 3 0 packets toward IDs 1 that are closer to 4 7 68 SOURCE ID. Packets 5 6 are forwarded in virtual straight lines. 30 Ex: Seed Source: Node 1 Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID 26 10 68 Ex: Route Request: Node 12 RREQ Source: Node 1 1 0 1 4 5 2 67 48 3 28 15 10 4 5 |5 – 1| = 4 5 |13 – 1| = 12 48 7 6 15 30 2 0 3 7 4 6 3 28 |5 – 12| = 7 5 |13 – 12| = 1 5 13 5 7 6 6 55 14 22 10 1 10 4 0 |14 – 1| = 13 |22 – 1| = 21 1 2 1 5 13 67 10 1 |10 – 12| = 2 |26 – 12| = 15 2 3 1 2 0 3 7 4 1 0 13 5 |6 – 12| = 6 |38 – 12| = 26 7 6 38 6 12
VDR: Virtual View of Seed and RREQ 46 68 RREQ Path 30 1 10 26 48 5 13 RREP Path 6 Rendezvous Node 38 2 RREQ: Node 12 Seed Path VDR Route Request Virtual View 12 • Proactive Element § Every node sends out Seed packets in orthogonal directions at periodic intervals • Reactive Element • Route Request (RREQ) packets sent to search for rendezvous node. • When the RREQ intersects a node that has a path to the destination, a Route Reply (RREP) packet is sent back to the source 13
VDR: Simulation Parameters Parameter Default Values Nodes / # of Virt Interfaces 50, 000 / 8 Simulation Cycles 150 Churn Percentage 0% - 50% every 5 cycles Seed/RREQ TTL 10 – 100 hops Seed Entry Expiry 10 Cycles (under churn) Number of Queries 1000 Randomly Generated • Simulation of VDR vs. RWR, VDR-R § VDR-R: VDR with random neighbor forwarding (no biasing) § RWR: Data is seeded in 4 random walks and 4 walkers are sent for search • Peer. Sim – 50, 000 Nodes, Static + Dynamic Network § Reach Probability – High (98% w/ TTL of 100) § Average Path Stretch – High (16) § State and Load Spread – Not evenly distributed Flooding Normalized Flooding Virtual Direction Routing VDR – Random NB Send (VDR-R) Random Walk Routing (RWR) Random Walk 14
VDR: Effect of Seed/Query TTL • Reach Probability to Seed/Query TTL § VDR reaches 98% of a network in a network of 50, 000 nodes with a seed/query TTL of 100. § VDR converges to 100% reach more quickly than VDR-R or RWR • Avg. End-to-End Path Stretch to Seed/Query TTL § Average path stretch is less than VDR-R or RWR. This is due to the biasing effect of the Seed and RREQ packets 15
VDR: Effect of # of Virtual Interfaces • Reach Probability to Virtual # of Interfaces § VDR yields higher reach than VDRR with fewer virtual interfaces. With 20 average neighbors, multiple neighbors can be assigned to an interface and so the biasing effect of VDR has more significance • Path stretch to # of Virtual Interfaces § VDR has lower average path stretch than VDR-R. VDR ensures that Seed and RREQ packets are biased toward it each other. Resulting in lower path stretch 16
VDR: Effect of Average # of Neighbors • Reach Probability to Avg # of Neighbors § As the number of neighbors increase, the more neighbors are mapped to a specific interface. The biasing effect of VDR has a greater effect on Seed and RREQ intersection • Path Stretch to Avg # of Neighbors § VDR’s biasing effect on Seed and RREQ packets lead to lower path stretch with greater number of neighbors because each interface has a higher number of neighbors mapped to it. The effect of biasing is more pronounced 17
VDR: Robustness Results • State Distribution Network-wide § Average States maintained relatively equal for VDR, VDR-R and RWR at 350 -390 § VDR States are not very evenly distributed, with some nodes having more state than others. This is due to the sending bias • Robustness to Network Churn § VDR drops only 5% compared to VDR-R and RWR which drop 1215% reach when going from 0% to 50% network churn § Even with a TTL of 50, VDR reaches a good amount of the network 5% drop 12% drop 18
VDR: Key Insights • A unstructured, highly scalable, and resilient to churn routing algorithm for overlay networks • VDR provides high reach (98% for a TTL of 100 in a 50, 000 node network) • VDR reaches 3. 5% more nodes than VDR-R and 9% more nodes than our modified random walk routing strategy (RWR) • VDR-R produces the same reach and path stretch results with increasing number of virtual interfaces. VDR increases reach with fewer number of virtual interfaces because of biasing technique. Gains disappear if the number of neighbors is smaller than the number of interfaces • VDR states are not well distributed and load is not distributed evenly • VDR shows a 3 -4 X reach retention rate going from 0% to 50% network churn compared to VDR-R and RWR, showing itself to be more robust to network churn • VDR paths exhibit high path stretch compared to shortest path but good path stretch compared to pure random walk 19
Thank You! • Questions and Comments? 20
- Slides: 20