200 likes | 314 Views
Virtual Direction Routing. Murat Yuksel Bow-Nan Cheng Shivkumar Kalyanaraman. Scaling Networks: Trends in Layer 3. Flood-based. Hierarchy/Structured. Unstructured /Flat Scalable. Mobile Ad hoc / Fixed Wireless Networks. WSR (Mobicom 07) ORRP (ICNP 06). DSR, AODV, TORA, DSDV
E N D
VirtualDirection Routing Murat Yuksel Bow-Nan Cheng Shivkumar Kalyanaraman
Scaling Networks: Trends in Layer 3 Flood-based Hierarchy/Structured Unstructured/Flat Scalable Mobile Ad hoc / Fixed Wireless Networks WSR (Mobicom 07) ORRP (ICNP 06) DSR, AODV, TORA, DSDV Partial Flood: OLSR, HSLS LGF, VRR, GPSR+GLS Hierarchical Routing, BubbleStorm (Sigcomm 07) LMS (PODC 05) Kazaa, DHT Approaches: CHORD, CAN Peer to Peer / Overlay Networks Gnutella Ethernet Routers (between AS) SEIZE Wired Networks
Flooding Normalized Flooding Virtual Direction Routing Introduction • Structured vs. Unstructured Overlay Networks • Unstructured P2P systems make little or no requirement on how overlay topologies are established and are easy to build and robust to churn • 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 • Globally consistent sense of direction (west is always west) Scalable interface to neighbor mapping • Routing can be done similarly to ORRP • Focus (for now) • Small world approximations Virtual Direction Routing Random Walk
VDR Conceptualization VirtualDirection Routing (VDR) Protocol Primitives 1:Local sense of direction leads to ability to forward packets in opposite directions A 180o 98% S T Up to 69% 2: Forwarding along Orthogonal lines has a high chance of intersection in area 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?
Wireless Nets: Key Concepts to Abstract • Primitives: • Localdirectionality 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 Focuses: • Neighbor to virtual direction/interface mapping • Routing scheme based on virtual direction mapping
Neighbor to Virtual Interface / Direction Mapping
8Virtual Interfaces 2 1 3 0 1 4 7 5 6 VDR: Neighbor to Virtual Interface Map • 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) Example: Neighbor IDs used Instead Of SHA-1 Hashes 30 % 8 = 6 26 30 15 % 8 = 7 15 10 % 8 = 2 10 10 1 15 68 26 30 26 % 8 = 2 68 68 % 8 = 4
F B A C 230o D VDR Proactive and Reactive Elements VDR conceptual representation of Proactive and Reactive Elements North North North 120o North A to D North Virtual View • 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
10 1 10 26 2 1 67 2 1 2 1 48 3 0 3 0 3 0 1 10 5 4 7 4 7 4 7 68 28 5 6 15 5 6 5 6 55 22 30 5 14 13 VDR: State Seeding and Route Request State Seeding – State info forwarded in orthogonal directions, biasing packets toward IDs that are closer to SOURCE ID. Packets are forwarded in virtual straight lines. 10 |10 – 1| = 9 |26 – 1| = 25 |14 – 1| = 13 |22 – 1| = 21 |5 – 1| = 4 |13 – 1| = 12 5 14 Ex: Seed Source: Node 1 68 VDR State Seeding – Virtual View Periodically, every node sends out Seed messages in virtual orthogonal directions Seed Path 13 10 14 30 1 5 26 22 Seed Source: Node 1 48
10 1 10 26 2 1 67 2 1 2 1 48 3 0 3 0 3 0 1 10 13 4 7 4 7 4 7 68 28 5 6 15 5 6 5 6 6 30 5 38 13 VDR: State Seeding and Route Request 10 Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID |10 – 12| = 2 |26 – 12| = 15 6 Ex: Route Request: Node 12 RREQ Source: Node 1 |5 – 12| = 7 |13 – 12| = 1 |6 – 12| = 6 |38 – 12| = 26 13 68 VDR Route Request – Virtual View 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 Seed Path 5 10 6 30 1 13 26 38 RREQ Source: Node 1 Route Request: Node 12 48
10 1 10 26 2 1 67 2 1 2 1 48 3 0 3 0 3 0 1 10 5 4 7 4 7 4 7 68 28 5 6 15 5 6 5 6 55 22 30 5 14 13 10 1 10 26 2 1 67 2 1 2 1 48 3 0 3 0 3 0 1 10 13 4 7 4 7 4 7 68 28 5 6 15 5 6 5 6 6 30 5 38 13 VDR: Comparing Seed and RREQ Paths State Seeding – State info forwarded in orthogonal directions, biasing packets toward IDs that are closer to SOURCE ID. Packets are forwarded in virtual straight lines. 10 |10 – 1| = 9 |26 – 1| = 25 |14 – 1| = 13 |22 – 1| = 21 |5 – 1| = 4 |13 – 1| = 12 5 14 Ex: Seed Source: Node 1 10 Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID |10 – 12| = 2 |26 – 12| = 15 6 Ex: Route Request: Node 12 RREQ Source: Node 1 |5 – 12| = 7 |13 – 12| = 1 |6 – 12| = 6 |38 – 12| = 26 13
VDR: Virtual View of Seed and RREQ 46 68 RREQ Path 5 Rendezvous Node 10 6 30 1 13 26 38 RREP Path 2 RREQ: Node 12 48 Seed Path VDR Route Request 12 Virtual View • 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
VDR: Simulation Parameters Flooding Normalized Flooding Virtual Direction Routing VDR – Random NB Send (VDR-R) • 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 • PeerSim – 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 Random Walk Routing (RWR) Random Walk
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 Streetch 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
VDR: Effect of # of Virtual Interfaces • Reach Probability to Virtual # of Interfaces • VDR yields higher reach than VDR-R with fewer virtual interfaces. With 20 average neighbors, multiple neighbors can be assigned to an interface and so the biasing affect of VDR has more effect • 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
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
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 12-15% 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 15% drop 12% drop
VDR: Key Contributions • A flat, highly scalable, and resilient to churn routing algorithm for overlay networks • VDR provides high reach (98% even only 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-4X reach retention rate going from 0% to 50% network churn compared to VDR-R and RWR, showing istelf 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
Thank You! • Questions and Comments?