a short overview of p2p technologies marcelo dias de amorim laboratoire lip6 université pierre et...

39
A short overview of A short overview of p2p technologies p2p technologies Marcelo Dias de Amorim Laboratoire LIP6 Université Pierre et Marie Curie http://www.lip6.fr/ Caen – Le 11 Juin 2003

Upload: rafael-big

Post on 14-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

A short overview of A short overview of p2p technologiesp2p technologies

Marcelo Dias de Amorim

Laboratoire LIP6Université Pierre et Marie Curie

http://www.lip6.fr/

Caen – Le 11 Juin 2003

IPv6 – Caen, 11 juin 2003 2

PlanPlan

Introduction

Models

Example of applications

Some systems

References

IPv6 – Caen, 11 juin 2003 3

DefinitionsDefinitions

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 (www.shirky.com)

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 2003 4

Some controversySome 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 SourceSoftware Developers's Meeting

Brussels, BE, Feb. 2002

IPv6 – Caen, 11 juin 2003 5

Curiosity (traffic)Curiosity (traffic)

Others

Unidentified

P2P

18%

51%

31%

One year ago…

48%

41%

11%

… and today!

source netflow.internet2.edu

IPv6 – Caen, 11 juin 2003 6

PropertiesProperties

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

Examples of p2p usageExamples 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 2003 8

IP

Overlay networksOverlay networks

Overlay

IPv6 – Caen, 11 juin 2003 9

Overlay networksOverlay networks

IP

Overlay

IPv6 – Caen, 11 juin 2003 10

Centralized model (Napster)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 2003 11

Centralized model (Napster)Centralized model (Napster)

INTERNET

locationserver

register

Document x?OK: Peer ZIP = a.b.c.d

Document x!

x

IPv6 – Caen, 11 juin 2003 12

Non-structured system (Gnutella-Non-structured system (Gnutella-like)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 2003 13

GnutellaGnutella

IPv6 – Caen, 11 juin 2003 14

Structured systems (DHTs)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 2003 15

Content-Addressable Networks Content-Addressable Networks (CAN)(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(n1/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 2003 16

ExampleExample

IPv6 – Caen, 11 juin 2003 17

ExampleExample

1

IPv6 – Caen, 11 juin 2003 18

ExampleExample

1 2

IPv6 – Caen, 11 juin 2003 19

ExampleExample

2

1

33

IPv6 – Caen, 11 juin 2003 20

ExampleExample

2

3

1

4

IPv6 – Caen, 11 juin 2003 21

ExampleExample

2

3

1

4

5

4

IPv6 – Caen, 11 juin 2003 22

ExampleExample

2

3

6

4

5

1

IPv6 – Caen, 11 juin 2003 23

ExampleExample

2

3

6

4

5

1 7

IPv6 – Caen, 11 juin 2003 24

Association ID Association ID node node

2

3

6

4

5

1 7

Ex: Node 3holds thisdocument

IPv6 – Caen, 11 juin 2003 25

Association ID Association ID node node

2

3

6

4

5

1 7

IPv6 – Caen, 11 juin 2003 26

Application-layer multicastApplication-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 2003 27

Application-layer multicastApplication-layer multicast

source

IPv6 – Caen, 11 juin 2003 28

TaxonomyTaxonomy

P2P Applications

ComputeIntensive

Compo-nentized

Contentexchange

Filesystem

Filtering,mining

Instantmessage

Sharedapps

Games

ParallelContent and

file mngtCollaboration

IPv6 – Caen, 11 juin 2003 29

Many works and projectsMany works and projects

Gnutella and Napster @sourceforge.net

IPv6 – Caen, 11 juin 2003 30

JXTA (Sun)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 2003 31

JXTA (Sun)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 2003 32

JXTA (Sun) JXTA (Sun) Protocols Protocols

Peer discovery protocol Peer resolver protocol Peer information protocol Rendezvous protocol Pipe binding protocol Endpoint routing protocol

IPv6 – Caen, 11 juin 2003 33

JXTA (Sun)JXTA (Sun)

Peer (Desktop, cell phone, PDA, etc.)

Security

Peer Groups Peer Pipes Peer Monitoring

JXTA Community ServicesSun JXTAServices

JXTAShell

PeerCommands

JXTA Community Applications

CORE

JXTA

IPv6 – Caen, 11 juin 2003 34

JXTA applicationsJXTA applications

IPv6 – Caen, 11 juin 2003 35

Final remarksFinal 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 2003 36

Working groups et al.Working groups et al.

A generic site on p2p from O'Reilly www.openp2p.com

P2P working group www.peer-to-peerwg.org/

Internet2 p2p working group p2p.internet2.edu

Peer-to-peer development (p2p-hackers) zgp.org/mailman/listinfo/p2p-hackers

Interesting meeting www.codecon.org

IPv6 – Caen, 11 juin 2003 37

ReferencesReferences

Distributed Computing Distributed (www.distributed.net) SETI@home (www.seti.org) Genome@home (gah.stanford.edu) Folding@home

(www.stanford.edu/group/pandegroup/folding) Global Grid Forum (www.globalgridforum.org) Globus Project (www.globus.org)

File sharing Napster (www.napster.com) Gnutella (gnutella.wego.com) Kazaa (www.kazaa.com)

IPv6 – Caen, 11 juin 2003 38

ReferencesReferences

Distributed hash tables CAN (www.acm.org/sigs/sigcomm/sigcomm2001/p13-

ratnasamy.pdf) Pastry (research.microsoft.com/~antr/Pastry) Chord (www.pdos.lcs.mit.edu/chord) Tapestry (www.cs.berkeley.edu/~ravenben/tapestry) Freenet (freenet.sourceforge.net) Kademlia (kademlia.scs.cs.nyu.edu)

Ad hoc networking AODV (www.ietf.org/internet-drafts/draft-ietf-manet-

aodv-13.txt) OLSR (www.ietf.org/internet-drafts/draft-ietf-manet-olsr-

10.txt) Tribe (rp.lip6.fr/site_rp/_publications/350-79Viana.ps.gz)

IPv6 – Caen, 11 juin 2003 39

ReferencesReferences

Platforms JXTA (www.jxta.org) .NET (www.microsoft.com/net)

Collaboration Groove (www.groove.net) Endeavors (www.endeavors.com)

IPv6 as a p2p overlay Working Groups

p2p.internet2.edu www.openp2p.com