410 likes | 557 Views
Peer-to-peer networks. Ant Rowstron Microsoft Research. Talk overview. Overview of Overlays/DHTs Overview of Wireless Routing protocols Description of Virtual Ring Routing A routing protocol inspired by DHTs. Underlays (Networks). Provides point-to-point communication. B. A. Overlay.
E N D
Peer-to-peer networks Ant Rowstron Microsoft Research
Talk overview • Overview of Overlays/DHTs • Overview of Wireless Routing protocols • Description of Virtual Ring Routing • A routing protocol inspired by DHTs
Underlays (Networks) Provides point-to-point communication B A
Overlay A B
Unstructured overlays • Unstructured overlays • No/weak constraint on neighbors (for correctness) • Algorithmically simple – poor performance • Flood based techniques etc. Example: Gnutella, BitTorrent
Unstructured overlays • Unstructured overlays • No/weak constraint on neighbors (for correctness) • Algorithmically simple – poor performance • Flood based techniques etc. Example: Gnutella, BitTorrent
Structured overlays • Structured overlays • Constraints on neighbors • Algorithmically more complex • DHT API, KBR API • Example: Distributed Hash Table (DHTs) - CAN, Chord, Pastry, Tapestry (2001)
key nodeId Distributed Hash Tables (Pastry) • Large id space • NodeIds picked randomly from space • Keys picked randomly from space • Key is managed by its rootnode: • Live node with id closest to the key id space root node for key
Node routing state 203231 nodeId leaf set • 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
key nodeId Routing • Prefix matching: each hop resolves an extra key digit 323310 323211 route(m, 323310) 203231 322021 313221
key nodeId Using DHTs • Keys picked randomly from space • E.g. SHA1(“www.microsoft.com”) • Generic building block • Application-level multicast • File Systems • Web Caches • File Sharing • Etc id space root node for key
DHT experiences • DHTs are: • Self-organizing • Decentralized • Fault-tolerant/churn tolerant • Scalable • Performance • Question: • Can we apply lessons to underlay routing protocols?
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
Proactive routing Nodes have complete topology map x Example: OLSR, DSDV
Reactive routing Example: DSR, AODV
Coordinate-based routing lookup service y lookup(p) fixed identifier address p at (4,1) q at (2,2) at (4,1) p (x,y) x 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 butnodes 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
Virtual Ring Routing VRR: Virtual Ring Routing • A fundamentally different approach
0 FFF VRR: The Virtual Ring Topology-independent node identifiers 910 90E 8F6 8F0 8E2 Each node maintains a virtual neighbor set (vset) Nodes organized into virtual ring by increasing identifier value
VRR: Routing paths 8F6 8F6 physical network topology • Nodes only maintain routing paths to virtual neighbors: • Paths maintained proactively • Paths are bidirectional and typically multi-hop
14A F42 8F6 10E 140 VRR: Forwarding table endpointA nextA endpointB nextB pathId 31 8F6 90E me F42 910 8F6 me 10E 10 14A 140 F42 10E 2 me F42 F42 8F6 FF forwarding table for node8F6 • 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
VRR: Forwarding table state • Physical neighbors • VSet paths • Other VSet paths 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: 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 broadcast hellos to find physical neighbors Send setup request to 16E 164 8F6 19A NetworkTopology 16E
VRR: Node joining 16E sends setup requests to nodes in received vset 164 sends setup to 16E with its vset 16E adds node to vset when it receives setup 164 171 8F6 19A NetworkTopology 16E
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
Sensor Mesh: VRR vs BVR BVR delivery ratio drops Increasing packets
Failures: VRR vs BVR BVR delivery ratio drops Fail 10% nodes
Mobility: Simulation • Simulation in ns-2 • 802.11b MAC • Mobility: 0-20 m/s • CBR: 1 packet/sec
Implementing Networking Services • Implement “lookups” using key-based routing? Hash(192.169.0.45) VRR ARP: Flood-based ARP: ARP: 192.169.0.45 192.169.0.45 192.169.0.45 Nodes organized into virtual ring.
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 Conclusions
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/