1 Virtual Direction Routing for Overlay Networks Bow-Nan Cheng Murat Yuksel Shivkumar Kalyanaraman
Dec 24, 2015
1
Virtual Direction Routing for Overlay Networks
Bow-Nan ChengMurat Yuksel
Shivkumar Kalyanaraman
2
Scaling Networks: Trends in Layer 3
Flood-based Hierarchy/Structured Unstructured/FlatScalable
Mobile Ad hoc /Fixed Wireless Networks
DSR, AODV,TORA, DSDVPartial Flood:OLSR, HSLS
LGF, VRR, GPSR+GLSHierarchical Routing,
Peer to Peer /Overlay Networks
Wired Networks
Gnutella Kazaa, DHT Approaches: CHORD, CAN
Ethernet Routers (between AS)
WSR (Mobicom 07)ORRP (ICNP 06)
SEIZE
BubbleStorm (Sigcomm 07)LMS (PODC 05)
Decoupling layer 3 (or higher layer) functions from underlying network structure has been a key trend for tackling scalability problems.
3
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
Random Walk
Virtual DirectionRouting
Flooding
Normalized Flooding
4
VDR Conceptualization
Up to 69%
A
98%
B
180o
Virtual DirectionRouting (VDR) Protocol
ST
Primitives1: Local sense of direction leads to ability to forward packets in opposite directions
2: Forwarding alongOrthogonal lines has a high chance of intersection in area
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?
5
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
6
Neighbor to Virtual Interface / Direction Mapping
7
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)
1
10
26
30
15687
10
12
3
4
5 6
8 Virtual Interfaces30 % 8 = 6
15 % 8 = 710 % 8 = 2
26 % 8 = 268 % 8 = 4
68
15
26
30
10
Example: Neighbor IDs used Instead of SHA-1 Hashes
8
Virtual Direction Routing
9
VDR Proactive and Reactive Elements
Node B Fwd Table
Dest Next Hops
A A 1120o
NorthNorth
North
North
North
Node F Fwd Table
Dest Next Hops
A B 2
Node C Fwd Table
Dest Next Hops Dir
A F 3 120o
D D 1 230o
230o
1. VDR State Seeding (Proactive) – Generates Rendezvous-to-Destination Routes2. VDR Route Request (RREQ) Packets (Reactive) – Generates Source-to-Rendezvous Rts3. VDR Route Reply (RREP) Packets (Reactive)4. VDR path after route generation
D
CFBA
A to D
VDR conceptual representation of Proactive and Reactive Elements
Virtual View
10
VDR: State Seeding and Route Request|10 – 1| = 9|26 – 1| = 25
|5 – 1| = 4|13 – 1| = 12
|14 – 1| = 13|22 – 1| = 21Ex: Seed Source: Node 1
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.
0
12
3
4
5 6
7
26
30
1568
48
1
1010
100
12
3
4
5 6
7
1
67
13
28
55
50
12
3
4
5 6
7
55
10
221414
26
13
22
68
48
3010
514
1
Seed Source: Node 1
VDR State Seeding – Virtual ViewSeed PathPeriodically, every node
sends out Seed messages in virtual orthogonal directions
11
VDR: State Seeding and Route Request
100
12
3
4
5 6
7
1
67
513
2868
10
12
3
4
5 6
7
1026
30
15
48
130
12
3
4
5 6
7
38
10
6
|10 – 12| = 2|26 – 12| = 15
|5 – 12| = 7|13 – 12| = 1
|6 – 12| = 6|38 – 12| = 26
Ex: Route Request: Node 12RREQ Source: Node 1
Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID
10
136
26
5
38
68
48
3010
136
1
RREQ Source: Node 1Route Request: Node 12
VDR Route Request – Virtual ViewSeed Path
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
12
VDR: Comparing Seed and RREQ Paths|10 – 1| = 9|26 – 1| = 25
|5 – 1| = 4|13 – 1| = 12
|14 – 1| = 13|22 – 1| = 21Ex: Seed Source: Node 1
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.
100
12
3
4
5 6
7
1
67
513
2868
10
12
3
4
5 6
7
1026
30
15
48
130
12
3
4
5 6
7
38
10
6
|10 – 12| = 2|26 – 12| = 15
|5 – 12| = 7|13 – 12| = 1
|6 – 12| = 6|38 – 12| = 26
Ex: Route Request: Node 12RREQ Source: Node 1
Route Request – RREQ packets are forwarded in orthogonal directions, biasing packets towards REQUESTED ID
0
12
3
4
5 6
7
26
30
1568
48
1
1010
100
12
3
4
5 6
7
1
67
13
28
55
50
12
3
4
5 6
7
55
10
221414
10
136
13
VDR: Virtual View of Seed and RREQ
26
5
38
68
48
3010
136
12
2
46
1
RREQ: Node 12
Rendezvous Node
VDR Route RequestVirtual View
Seed Path
RREQ Path
RREP Path
• 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
14
VDR: Simulation Parameters
Flooding
Random Walk
VDR – Random NB Send (VDR-R)
Virtual DirectionRouting
Normalized Flooding
Random Walk Routing (RWR)
• 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
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
15
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
16
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 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
17
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
18
VDR: Robustness Results
5% drop
15% drop
12% drop
• 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
19
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-4X 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
20
Thank You!• Questions and Comments?