Presentation is loading. Please wait.

Presentation is loading. Please wait.

Peer to Peer Network Design Discovery and Routing algorithms

Similar presentations


Presentation on theme: "Peer to Peer Network Design Discovery and Routing algorithms"— Presentation transcript:

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

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

3 Discovery and Routing Traditional 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

4 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

5 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

6 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!

7 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?

8 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: PAST – Distributed storage system SCRIBE – Application level multicast 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

9 Plaxton Mesh Overview 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

10 Plaxton Mesh Routing 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

11 Plaxton Mesh Routing 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.

12 Plaxton Mesh Routing Tables
Node 3642 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

13 Plaxton Mesh Publishing 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)

14 Plaxton Mesh Publishing 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

15 Plaxton Mesh Publishing 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.

16 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

17 Conclusion Pure P2P networks are possible
Dynamic Scalable Highly resilient Applications starting to appear Skype (??) Complex to build and understand But very promising


Download ppt "Peer to Peer Network Design Discovery and Routing algorithms"

Similar presentations


Ads by Google