Peer-to-peer networks
Ant RowstronMicrosoft Research
1
Talk overview
• Overview of Overlays/DHTs• Overview of Wireless Routing protocols• Description of Virtual Ring Routing– A routing protocol inspired by DHTs
2
Underlays (Networks)
3
Provides point-to-point communication A B
Overlay
4
A
B
Overlay and underlay
5
Unstructured overlays
• Unstructured overlays– No/weak constraint on neighbors
(for correctness)– Algorithmically simple – poor
performance
• Flood based techniques etc.
6Example: Gnutella, BitTorrent
Unstructured overlays
• Unstructured overlays– No/weak constraint on neighbors
(for correctness)– Algorithmically simple – poor
performance
• Flood based techniques etc.
7Example: Gnutella, BitTorrent
Structured overlays
• Structured overlays– Constraints on neighbors – Algorithmically more
complex• DHT API, KBR API
8Example: Distributed Hash Table (DHTs) - CAN, Chord, Pastry, Tapestry (2001)
Distributed Hash Tables (Pastry)
9
root nodefor key
id space
nodeIdkey
• Large id space
• NodeIds picked randomly from space
• Keys picked randomly from space
• Key is managed by its root node:
• Live node with id closest to the key
Node routing state
10
0* 1* 2* 3*
20* 21* 22* 23*
200* 201* 202* 203*
2030* 2031* 2032* 2033*
203231
• Topology aware routing table• NodeIds and keys in some base 2b (e.g., 4)• Prefix constraints on nodeIds for each slot• Pick closest node satisfying slot constraints
leaf set
nodeId
Routing
• Prefix matching: each hop resolves an extra key digit
11
323310
323211
322021
313221
203231
nodeIdkey
route(m, 323310)
Using DHTs
root nodefor key
id space
nodeIdkey
• Keys picked randomly from space
• E.g. SHA1(“www.microsoft.com”)
• Generic building block– Application-level multicast– File Systems– Web Caches– File Sharing– Etc
• Generic building block– Application-level multicast– File Systems– Web Caches– File Sharing– Etc
12
DHT experiences
• DHTs are:– Self-organizing– Decentralized– Fault-tolerant/churn tolerant– Scalable– Performance
• Question: – Can we apply lessons to underlay routing protocols?
13
Wireless routing protocols
• Large number of wireless routing protocols• Numerous scenarios:– Mesh, Sensor, Mobile, VLAN, etc
• Protocols traditionally target a scenario
• Protocols use either:– Flooding– Coordinates
14
Proactive routing
x
Nodes have complete topology map
Example: OLSR, DSDV 15
Reactive routing
Example: DSR, AODV 16
Coordinate-based routing
17
(x,y)
y
x
q at (2,2)
p
lookup servicelookup service
lookup(p)p at (4,1)
at (4,1)
fixed identifier address
Example: GPSR, BVR
Previous work on wireless routing
• Flooding based algorithms scale poorly– Flood on topology changes or discover routes
• Geographical and landmark routing– Scale well but nodes have identifier and address• Some apps (sensor networks) may require just address
– DHT-like structure to translate between the two• Route setup delays• Additional maintenance overhead• Another target for attacks
18
VRR: Virtual Ring Routing
• A fundamentally different approach
19
8F690E
910
8F08E2
0FFFTopology-independentnode identifiers
Nodes organized into virtual ringby increasing identifier value
Each node maintainsa virtual neighbor set (vset)
VRR: The Virtual Ring
20
VRR: Routing paths
physical network topology
8F6
8F6
Nodes only maintain routing paths to virtual neighbors:• Paths maintained proactively• Paths are bidirectional and typically multi-hop
VRR: Forwarding table
• Paths recorded in forwarding tables along path • Forwarding table contains
• Paths between node and vset members• Paths between other nodes that go through node• Paths to physical neighbors
endpointB pathIdnextA nextBendpointA
10E 10me F42 318F6 90E
910
forwarding table for node 8F6
8F6 me14A 140 F42 10E 28F6 F42 me F42 FF
14A
140
F42
10E
8F6
Physical network topology
VRR: Forwarding table state
23
• Physical neighbors• VSet paths• Other VSet paths
VRR: Example routing
physical network topology
VRR: Example routing
physical network topology
VRR: Example routing
physical network topology
VRR: Example routing
physical network topology
VRR: Example routing
physical network topology
VRR: Routing summary
• Paths to virtual neighbors ensure correctness• Stretch empirically small• Many alternate paths to route around failures
VRR: Node joining
Network Topology
19A
164
8F6
16E
broadcast hellosto find physical neighborsSend setup request to 16E
VRR: Node joining
Network Topology
19A
164
8F6
16E
171
164 sends setup to 16E with its vset 16E sends setup requeststo nodes in received vset
16E adds node to vset when it receives setup
VRR: Handling failures
• Routing state is hard– No end-to-end heartbeats– Failures detected on missing acks or hellos– Local repair attempted first;– Otherwise, teardowns sent along all affected paths
• Two techniques to ensure consistency– Symmetric failure detection and acks on teardowns• If x marks y faulty, y is guaranteed to mark x faulty
– Lightweight optimistic transactions• If in doubt abort (teardown)
Evaluation
• Evaluated using:– Simulations (ns-2) • Mobility
– Testbeds• UCB Sensor Testbed with 68 mica2dot motes• MSRC 111 node 802.11a Wireless Testbed
33
Sensor Mesh: VRR vs BVR
34
Increasing packets
Increasing packets
BVR delivery ratio drops
BVR delivery ratio drops
Failures: VRR vs BVR
35
Fail 10% nodesFail 10% nodes
BVR delivery ratio drops
BVR delivery ratio drops
Office Mesh: VRR vs LQSR
36
Mobility: Simulation
• Simulation in ns-2– 802.11b MAC– Mobility: 0-20 m/s – CBR: 1 packet/sec
37
Implementing Networking Services
• Implement “lookups” using key-based routing?
38
Nodes organized into virtual ring.
VRR ARP:Flood-based ARP:
ARP: 192.169.0.45
Hash(192.169.0.45)
192.169.0.45192.169.0.45
Conclusions• Overlay routing at the network layer• VRR implements wireless routing– Scalable: no flooding– Single location-independent identifier per node• No translation from identifiers to addresses
– No route discovery or translation delays• VRR implements a DHT– Strong consistency– No additional overhead
Further information
• VRR Paper:– M. Caesar, M. Castro, E. Nightingale, G. O'Shea and A.
Rowstron, "Virtual Ring Routing: Network routing inspired by DHTs", Sigcomm 2006
http://research.microsoft.com/~antr/
40