1 / 11

P2P Networks

P2P Networks. By Thomas Law 12/02/2009 <Thomas.Law1@marist.edu>. What is P2P?. P2P or “Peer 2 Peer” networks are collections of computers or “nodes” which rely on each other for transferring and sharing data.

rasia
Download Presentation

P2P Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. P2P Networks By Thomas Law 12/02/2009 <Thomas.Law1@marist.edu>

  2. What is P2P? • P2P or “Peer 2 Peer” networks are collections of computers or “nodes” which rely on each other for transferring and sharing data. • Unlike the rest of the internet, p2p networks are special in that they are decentralized and do not have a single point of failure. • Several technologies are implemented in order to facilitate the decentralized nature of p2p networks.

  3. P2P Technologies • Chord, a distributed lookup service • Used to keep track of Nodes on the network • CFS (Co-operative file system) • A file system based on distributed networks and DHASHs • DHASH (Distributed Hash Tables) • Handles reliable storage of data blocks on participating nodes

  4. Chord – an overview • Chord is the basis for interactions between nodes on the network. It does not directly handle redundant storage, permanence, efficient data location, selection of nearby servers, anonymity, search or authentication; however it forms the groundwork for these features to be implemented. • In order for p2p networks to be decentralized yet robust and reliable, there cannot be a single (or main) point of failure. • In order to accomplish this Chord implements a scheme where each node keeps a routing table (known as a finger table) which contains information about other nodes on the network (a node ID # and the IP address of that node). • Since the network is constantly changing these routing tables are also constantly updated and make updates on each other. • Each table contains the immediate predecessor and successor nodes for that particular node.

  5. Chord Routing Tables • Example of the structure of finger tables. • When a new node r is added to the system, it must query other nodes for their respective successors. Other nodes also must then update their tables to account for the existence of r. • A similar process occurs when a node is removed from the network.

  6. Advantages of Chord & P2P • Since Chord is only responsible for coordination between nodes, other features implemented are not constricted by it. • Chord can act as an alternative to the DNS system in order to find resources. • Data can be cached by nodes to facilitate lookups between nodes. • Since there is no single point of failure, the network is much more redundant and reliable. Although it cannot be affected by “ddos” attacks directly since file contents are distributed, other types of denial of service can occur.

  7. Denial of Service in Chord & P2P • Not susceptible to distributed denial of service (botnet) attacks since nodes do not share locality. • By inserting a large amount of useless data on the system, it is possible that legitimate documents are flushed from storage. • Nodes could effectively delete data from the system by positioning themselves as successors and then failing to store data when asked to. • Failures in Chord could result in nodes misbehaving arbitrarily. However this can be corrected by verifying from other nodes a particular misbehaving node’s predecessor and successor.

  8. DHASH • This layer runs on top of Chord along with CFS. • Provides management of data blocks on top of Chord. Load balances by spreading large file blocks over many servers/nodes. • Provides each block on a small number of servers to allow fault tolerance.

  9. CFS • Provides distributed read only file system. • Each client using CFS has 3 layers: A file system client, a DHASH storage layer, and a Chord lookup layer. • CFS uses DHASH to retrieve blocks, while DHASH uses Chord to locate other clients (or nodes) serving that content.

  10. Similar Technologies • While the references used here did not directly mention “BitTorrent”, it is similar in practice since it uses “tracker” files to keep track of nodes as well as DHT (Distributed Hash Tables).

  11. References • “Building Peer-toPeer Systems with Chord, a Distributed Lookup Service”; Dabek, et. al; Proceedings of 8th Workshop on Hot Topics in Operating Systems, IEEE, pp 71-76, 2001. • “Wide Area Cooperative Storage with CFS”; Proceedings of 18th Symposium on Operating Systems Principles. ACM, PP 202-15, 2001. • “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications”; Stoica, et. al; Proceedings of the SIGCOMM 2001Conference, ACM, pp 149 – 160.

More Related