1 / 18

Introduction to Peer-to-Peer Networks

Introduction to Peer-to-Peer Networks. What is a P2P network. A P2P network is a large distributed system. It uses the vast resource of PCs distributed at the edge of the Internet to build a network that allows resource sharing without any central authority

Anita
Download Presentation

Introduction to Peer-to-Peer 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. Introduction to Peer-to-Peer Networks

  2. What is a P2P network • A P2P network is a large distributed system. It uses the vast resource of PCs distributed at the edge of the Internet to build a network that allows resource sharing without any central authority • Client-Server vs. Peer-to-peer. A peer is both a client and a server. Control is decentralized. • Much more than a system for sharing pirated music.

  3. Why does P2P need attention?

  4. Network of peers. Each link between peers consists of one or more IP links. The overlay network resides in the application layer. A P2P network is an overlay network Bob Alice Carol

  5. Well-known P2P Systems • Napster • Gnutella • KaZaA • eDpnkey • Chord • Tapestry • CAN • Pastry • BitTorrent

  6. Some important issues Search Storage Security Applications

  7. A Distributed Storage Service Bob Alice David Carol

  8. Promises Consider File Sharing as an Example • Available 24/7 • Durable despite machine failures • Information is protected • Resilient to Denial of Service

  9. Additional Goals • Massive scalability • Anonymity • Deniability • Resistance to censorship

  10. Challenges • A P2P network must be self-organizing. Join and leave operationsmust be self-managed. • The infrastructure is untrusted and the components are unreliable. The number of faulty nodes grows linearly with system size. Yet, the aggregate behavior has to be trustworthy.

  11. Challenges • Tolerance to failures and churn • Efficient routing even if the structure of the network is unpredictable. • Dealing with freeriders • Load balancing • Security issues

  12. Looking up data • How do you locate data/files/objects in a large P2P system built around a dynamic set of nodes in a scalable manner without any centralized server or hierarchy? • Napster index servers used a central database. Questionable scalability and poor resilience. • Check how names are looked up in internet’s DNS.

  13. Napster Users Directory server Stores indices of songs only Developed by Shawn Fanning in 1999, Shut down after 2 years for copyright infringement. Centralized directory servers were a bottleneck.. I N T E R N E T Root/ Redirector Directory server Directory server

  14. Gnutella Truly decentralized system. A search like where is Double Helix? is based on the flooding of the query on a graph of arbitrary topology. Obvious scalability problem, and the wastage of bandwidth caused serious inefficiencies.

  15. Gnutella graph double helix Client looking for “double helix”

  16. Unstructured vs. Structured • Unstructured P2P networks allow resources to be placed at any node. The network topology is arbitrary, and the growth is spontaneous. • Structured P2P networks simplify resource location and load balancing by defining a topology and defining rules for resource placement.

  17. Distributed Hash Table (DHT) Object-to-machine mapping uses unique keys. H (object name) = key (H = hash function) H (machine name) = key Object name mapped to key k is placed in machine whose name is mapped to key k. Simplifies object location.

  18. Distributed Hash Table (DHT) 0 N-1 c keyspace a Machine name hashed to b Object name hashed to b Basic idea b

More Related