peer-to-peer networks

40
Peer-to-peer networks Ant Rowstron Microsoft Research 1

Upload: louis-davidson

Post on 04-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Peer-to-peer networks

Peer-to-peer networks

Ant RowstronMicrosoft Research

1

Page 2: Peer-to-peer networks

Talk overview

• Overview of Overlays/DHTs• Overview of Wireless Routing protocols• Description of Virtual Ring Routing– A routing protocol inspired by DHTs

2

Page 3: Peer-to-peer networks

Underlays (Networks)

3

Provides point-to-point communication A B

Page 4: Peer-to-peer networks

Overlay

4

A

B

Page 5: Peer-to-peer networks

Overlay and underlay

5

Page 6: Peer-to-peer networks

Unstructured overlays

• Unstructured overlays– No/weak constraint on neighbors

(for correctness)– Algorithmically simple – poor

performance

• Flood based techniques etc.

6Example: Gnutella, BitTorrent

Page 7: Peer-to-peer networks

Unstructured overlays

• Unstructured overlays– No/weak constraint on neighbors

(for correctness)– Algorithmically simple – poor

performance

• Flood based techniques etc.

7Example: Gnutella, BitTorrent

Page 8: Peer-to-peer networks

Structured overlays

• Structured overlays– Constraints on neighbors – Algorithmically more

complex• DHT API, KBR API

8Example: Distributed Hash Table (DHTs) - CAN, Chord, Pastry, Tapestry (2001)

Page 9: Peer-to-peer networks

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

Page 10: Peer-to-peer networks

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

Page 11: Peer-to-peer networks

Routing

• Prefix matching: each hop resolves an extra key digit

11

323310

323211

322021

313221

203231

nodeIdkey

route(m, 323310)

Page 12: Peer-to-peer networks

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

Page 13: Peer-to-peer networks

DHT experiences

• DHTs are:– Self-organizing– Decentralized– Fault-tolerant/churn tolerant– Scalable– Performance

• Question: – Can we apply lessons to underlay routing protocols?

13

Page 14: Peer-to-peer networks

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

Page 15: Peer-to-peer networks

Proactive routing

x

Nodes have complete topology map

Example: OLSR, DSDV 15

Page 16: Peer-to-peer networks

Reactive routing

Example: DSR, AODV 16

Page 17: Peer-to-peer networks

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

Page 18: Peer-to-peer networks

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

Page 19: Peer-to-peer networks

VRR: Virtual Ring Routing

• A fundamentally different approach

19

Page 20: Peer-to-peer networks

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

Page 21: Peer-to-peer networks

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

Page 22: Peer-to-peer networks

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

Page 23: Peer-to-peer networks

Physical network topology

VRR: Forwarding table state

23

• Physical neighbors• VSet paths• Other VSet paths

Page 24: Peer-to-peer networks

VRR: Example routing

physical network topology

Page 25: Peer-to-peer networks

VRR: Example routing

physical network topology

Page 26: Peer-to-peer networks

VRR: Example routing

physical network topology

Page 27: Peer-to-peer networks

VRR: Example routing

physical network topology

Page 28: Peer-to-peer networks

VRR: Example routing

physical network topology

Page 29: Peer-to-peer networks

VRR: Routing summary

• Paths to virtual neighbors ensure correctness• Stretch empirically small• Many alternate paths to route around failures

Page 30: Peer-to-peer networks

VRR: Node joining

Network Topology

19A

164

8F6

16E

broadcast hellosto find physical neighborsSend setup request to 16E

Page 31: Peer-to-peer networks

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

Page 32: Peer-to-peer networks

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)

Page 33: Peer-to-peer networks

Evaluation

• Evaluated using:– Simulations (ns-2) • Mobility

– Testbeds• UCB Sensor Testbed with 68 mica2dot motes• MSRC 111 node 802.11a Wireless Testbed

33

Page 34: Peer-to-peer networks

Sensor Mesh: VRR vs BVR

34

Increasing packets

Increasing packets

BVR delivery ratio drops

BVR delivery ratio drops

Page 35: Peer-to-peer networks

Failures: VRR vs BVR

35

Fail 10% nodesFail 10% nodes

BVR delivery ratio drops

BVR delivery ratio drops

Page 36: Peer-to-peer networks

Office Mesh: VRR vs LQSR

36

Page 37: Peer-to-peer networks

Mobility: Simulation

• Simulation in ns-2– 802.11b MAC– Mobility: 0-20 m/s – CBR: 1 packet/sec

37

Page 38: Peer-to-peer networks

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

Page 39: Peer-to-peer networks

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

Page 40: Peer-to-peer networks

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