A short overview of p2p technologies Marcelo Dias de Amorim Laboratoire LIP6 Université Pierre et Marie Curie Caen – Le 11 Juin 2003
IPv6 – Caen, 11 juin Plan Introduction Models Example of applications Some systems References
IPv6 – Caen, 11 juin Definitions P2P is a class of applications that take advantage of resources – storage, cycles, content, human presence – available at the edges of the Internet. Clay Shirky ( ) P2P refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized manner. Milojicic et al. ( HP )
IPv6 – Caen, 11 juin Some controversy Is p2p a new approach? Problems is peer-to-peer systems are neither new nor unique; they make us look for solutions to old problems that we all worked around or tried to ignore before. Andy Oram (O'Reilly & associates) speech at Free and Open Source Software Developers's Meeting Brussels, BE, Feb. 2002
IPv6 – Caen, 11 juin Curiosity (traffic) Others Unidentified P2P 18% 51% 31% One year ago… 48% 41% 11% … and today! source netflow.internet2.edu
IPv6 – Caen, 11 juin Properties No central control, no central database No hierarchy Every node is both a client and a server The communication between peers is symmetric No global view of the system Scalablity Availability for any peer Peers are autonomous System globally unreliable Robustness and security issues
IPv6 – Caen, 11 juin Examples of p2p usage File-sharing applications Distributed databases Distributed computing (grid?) Collaboration Distributed games Instant messaging Ad hoc networks Application-level multicast Etc.
IPv6 – Caen, 11 juin IP Overlay networks Overlay
IPv6 – Caen, 11 juin Overlay networks IP Overlay
IPv6 – Caen, 11 juin Centralized model (Napster) File-sharing system Almost distributed system The location of a document is centralized The "transfer" is peer-to-peer Problems Robustness Scalability (?)
IPv6 – Caen, 11 juin Centralized model (Napster) INTERNET location server register Document x? OK: Peer Z IP = a.b.c.d Document x! x
IPv6 – Caen, 11 juin Non-structured system (Gnutella-like) Two phases (like Napster) Localization + exchange No server Open source gnutella.wego.com Distributed search The query is flooded Loop avoidance Limited TTL (not all nodes are visited)
IPv6 – Caen, 11 juin Gnutella
IPv6 – Caen, 11 juin Structured systems (DHTs) Based on distributed hash tables (DHTs) No flooding Exact matches Overhead Gnutella-like O(n) DHT O(log n) Examples CAN, Pastry, Chord, Kademlia, Tapestry, etc.
IPv6 – Caen, 11 juin Content-Addressable Networks (CAN) Provides a large scale distributed hash table Keys are mapped into values CAN defines a d-dimensional virtual space No relationship with the physical space Query O(n 1/d ) Neighbors O(d) The virtual space is completely distributed among the peers Each peer is responsible for one share of the space The peer that is responsible for region R is also responsible for the values inside R Documents must be uniquely identified
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Example 1
IPv6 – Caen, 11 juin Example 12
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Example
IPv6 – Caen, 11 juin Association ID node Ex: Node 3 holds this document
IPv6 – Caen, 11 juin Association ID node
IPv6 – Caen, 11 juin Application-layer multicast Native multicast not yet completely deployed ALM easier/faster to implement Scalability states at end-systems High-level support
IPv6 – Caen, 11 juin Application-layer multicast source
IPv6 – Caen, 11 juin Taxonomy P2P Applications Compute Intensive Compo- nentized Content exchange File system Filtering, mining Instant message Shared apps Games Parallel Content and file mngt Collaboration
IPv6 – Caen, 11 juin Many works and projects Gnutella and
IPv6 – Caen, 11 juin JXTA (Sun) Open platform for p2p cooperation Interoperability Any system/peer/application Platform independency Languages (C, Java, etc) Systems platforms (Unix, Windows, etc) Networking platforms (802.11, Bluetooth, TCP/IP, etc) Ubiquity Sensors, PDAs, routers, desktops, laptops, storage systems
IPv6 – Caen, 11 juin JXTA (Sun) Objectives Find peers and resources Share files with anyone across the network Create a particular group of peers across different networks Communicate securely with peers across public networks Projects Applications (24 projects) Core (13 projects) Demos (3 projects) Forge (15 projects) Other (12 projects) Services (24 projects)
IPv6 – Caen, 11 juin JXTA (Sun) Protocols Peer discovery protocol Peer resolver protocol Peer information protocol Rendezvous protocol Pipe binding protocol Endpoint routing protocol
IPv6 – Caen, 11 juin JXTA (Sun) Peer (Desktop, cell phone, PDA, etc.) Security Peer GroupsPeer PipesPeer Monitoring JXTA Community Services Sun JXTA Services JXTA Shell Peer Commands JXTA Community Applications CORECORE JXTAJXTA
IPv6 – Caen, 11 juin JXTA applications
IPv6 – Caen, 11 juin Final remarks P2P implies a very large spectrum of areas High interest in both academicals/industrials Much has already been done, but no conclusions are definitive IPv6 and P2P NAT, firewalls, IPv6 as an overlay Many open issues Trust, security, scalability, QoS, etc.
IPv6 – Caen, 11 juin Working groups et al. A generic site on p2p from O'Reilly P2P working group Internet2 p2p working group p2p.internet2.edu Peer-to-peer development (p2p-hackers) zgp.org/mailman/listinfo/p2p-hackers Interesting meeting
IPv6 – Caen, 11 juin References Distributed Computing Distributed ( ( (gah.stanford.edu) ( Global Grid Forum ( Globus Project ( File sharing Napster ( Gnutella (gnutella.wego.com) Kazaa (
IPv6 – Caen, 11 juin References Distributed hash tables CAN ( ratnasamy.pdf) Pastry (research.microsoft.com/~antr/Pastry) Chord ( Tapestry ( Freenet (freenet.sourceforge.net) Kademlia (kademlia.scs.cs.nyu.edu) Ad hoc networking AODV ( aodv-13.txt) OLSR ( 10.txt) Tribe (rp.lip6.fr/site_rp/_publications/350-79Viana.ps.gz)
IPv6 – Caen, 11 juin References Platforms JXTA ( ( Collaboration Groove ( Endeavors ( IPv6 as a p2p overlay Working Groups p2p.internet2.edu