peer to peer network design discovery and routing algorithms nuno santos february 2, 2005

17
Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Upload: amelia-rice

Post on 19-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Peer to Peer Network Design Discovery and Routing

algorithms

Nuno SantosFebruary 2, 2005

Page 2: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Overview

Discovery and Routing in traditional networks Existing P2P networks Scalable, Pure P2P networks Plaxton Mesh – Routing Plaxton Mesh – Object Discovery

Page 3: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Discovery and RoutingTraditional Networks Discovery and routing – foundation of computer

networks: Discovery – Given a named object O, return the address

of node X where O can be found Routing – Given a message M and a destination node X,

deliver M to X Traditional networks have dedicated servers for

these operations Examples: DNS Servers, IP routers, directory servers Generally static structure Depend on human intervention Single points of failure

Page 4: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Discovery and Routing P2P Networks Desirable features of P2P networks

Dynamic: Nodes join and leave at any time Objects are inserted and removed often

Scalable Most perform gracefully even with large numbers of nodes

Reliable Must cope with arbitrary node failures

Consequences: Central servers must be avoided The network must adapt dynamically

Traditional discovery and routing algorithms not adequate

Page 5: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Discovery and Routing in P2P networks Real world examples Napster – Single central server keeps a directory of

nodes and objects. Basically, a huge file catalog Discovery and Routing is not really P2P

eDonkey, eMule – Based on multiple servers Servers require special setup. Not ordinary nodes. Clients connect to a server. File list stored on server. Servers communicate with each other for performing

searches. Improvement over Napster, no single server, but not pure

P2P

Page 6: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Discovery and Routing in P2P networks Real world examples

GNUtella – Decentralized P2P network Nodes can either be:

Peers – Normal nodes Ultrapeers – Ad-hoc servers.

Peers get promoted to ultrapeers dynamically, based on their bandwidth.

Discovery based on broadcasts Nodes send a search message to its

ultrapeer Ultrapeers forward message to all other

peers Repeat recursively until message

reaches maximum hops (typically 7) Searches generate a lot of traffic: O(n)

complexity Not scalable!

Page 7: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Current situation of P2P networks Some are highly scalable – eMule, eDonkey

Rely on a static structure of servers Some are pure P2P – Gnutella

Broadcast based searches generate too much traffic

Not scalable Are scalable, pure P2P networks

possible?

Page 8: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Scalable, Pure P2P networks

Active field of research for the last 5 to 7 years Several research projects

Plaxton Mesh Chord Pastry Tapestry

Common features Pure P2P – No central servers Scalable - Discovery and routing is O(log(n)). Routing tables size also O(log(n)). Highly resilient Adapt dynamically to node arrival, departure and failure

Applications based on research projects: Pastry

PAST – Distributed storage system SCRIBE – Application level multicast

Tapestry OceanStore – Distributed storage system with replica and redundancy support

Skype might also be in this class No central server and scalable, but algorithm details unknown

Page 9: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshOverview Plaxton Mesh – earliest known proposal for a scalable P2P

network (1997) Plaxton Mesh is static – no node arrival, departure or failure Other projects based on same basic idea

Extensions supporting dynamic networks More complex

Concepts in Plaxton Nodes – Act as routers, clients and servers simultaneously. Objects – Stored on servers, searched by clients.

Objects and nodes have unique, location independent names Random fixed-length bit sequence in some base Typically, hash of hostname or of object name

What Plaxton does: Given message M and destination D, a Plaxton mesh routes M

to the node whose name is numerically closest to D

Page 10: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshRouting Routing done incrementally,

digit by digit In each step, message sent

to node with address one digit closer to destination.

Example - node 0325 sends M to node 4598 Possible route:

0325 B4F8 9098 7598 4598

Page 11: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshRouting Tables Each node has a neighbor map

Used to find a node whose address has one more digit in common with the destination

Size of the map: B*L, where: B – base used for the digits of the address. Eg. 8

in octal base L – length of the addresses

4 digit addresses in octal base -> 8*4 tables.

Page 12: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshRouting Tables x are wildcards. Can be

filled with any address. Each slot can have several

addresses. Redundancy. Example: node 3642

receives message for node 2342 Common prefix: XX42

Look into second column. Must send M to a node one

digit “closer” to the destination. Any host with an address

like X342. Look in line 4

Node 3642

Page 13: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshPublishing and locating objects Server S has an object O

Wants to make it known to clients

Strength of a Plaxton Mesh No central directory Directory distributed between

nodes How? Hash function

H: (object names) -> (node addresses)

H()

Objects

Plaxton Nodes

Page 14: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshPublishing and locating objects Server S wants to publish object O

S computes H(O), the object ID of O (hash of the name). S sends a PUBLISH message to node H(O).

Node H(O) might not exist. No problem. Message forwarded deterministically to node X with address closest to A(O).

X - root node for object O Nodes visited by the PUBLISH message associate A(O)

with physical address of S (including root node) These nodes are the tree of the object O

Page 15: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Plaxton MeshPublishing and locating objects A client C wants to find object O.

Evaluates H(O), using same algorithm as the server

Sends a QUERY message to H(O) Forwarded to X, the object root. The object root forwards the message to S.

Shortcut – Nodes in the tree of O also know location of O If QUERY message reaches one of this nodes, it is

forwarded directly to S.

Page 16: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Analysis of Plaxton Mesh

Advantages Simple fault handling – Several possible routes. Scalable – No central point, routing done with local

information Disadvantages

Global knowledge required to build routing tables Static network Root node vulnerability

More recent research overcomes most of disadvantages Dynamic networks Redundant storage

Page 17: Peer to Peer Network Design Discovery and Routing algorithms Nuno Santos February 2, 2005

Conclusion

Pure P2P networks are possible Dynamic Scalable Highly resilient

Applications starting to appear Skype (??)

Complex to build and understand But very promising