• Aucun résultat trouvé

Introduction aux systèmes pair-à-pair Fabien Mathieu

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction aux systèmes pair-à-pair Fabien Mathieu"

Copied!
214
0
0

Texte intégral

(1)

Introduction aux systèmes pair-à-pair

Fabien Mathieu

(2)

Partie I

Le pair-à-pair, c’est quoi ?

(3)

Carte heuristique

(4)

Définitions

Sommaire

Définitions

Approches classiques Limites

Autres possibilités Principaux concepts

Fonctionnement Objectifs

Une brêve histoire du pair-à-pair Avant

Après

(5)

Définitions Approches classiques

Définition par énumeration

Le pair-à-pair, «on» sait ce que c’est : Partage de fichier BitTorrent, eMule,. . .

Diffusion TVants, PPLive,. . . Voix sur IP Skype

Ce qui n’est pas pair-à-pair aussi : Non-réseau Office, Photoshop,. . .

Réseau Apache, SSH, browsers. . . Parfois, c’est flou :

Calcul distribué BOINC project (Seti@home, Folding@home. . . ) Nuages Amazon, Wuala, . . .

(6)

Définitions Approches classiques

Définition par énumeration

Le pair-à-pair, «on» sait ce que c’est : Partage de fichier BitTorrent, eMule,. . .

Diffusion TVants, PPLive,. . . Voix sur IP Skype

Ce qui n’est pas pair-à-pair aussi : Non-réseau Office, Photoshop,. . .

Réseau Apache, SSH, browsers. . .

Parfois, c’est flou :

Calcul distribué BOINC project (Seti@home, Folding@home. . . ) Nuages Amazon, Wuala, . . .

(7)

Définitions Approches classiques

Définition par énumeration

Le pair-à-pair, «on» sait ce que c’est : Partage de fichier BitTorrent, eMule,. . .

Diffusion TVants, PPLive,. . . Voix sur IP Skype

Ce qui n’est pas pair-à-pair aussi : Non-réseau Office, Photoshop,. . .

Réseau Apache, SSH, browsers. . . Parfois, c’est flou :

Calcul distribué BOINC project (Seti@home, Folding@home. . . ) Nuages Amazon, Wuala, . . .

(8)

Définitions Approches classiques

Définition réseau

La plupart des applications réseaux fonctionnent en client/serveur :

I D’un côté, le(s) serveur(s) fourni(t/ssent) des ressources,

I De l’autre, les clients consomment ces ressources.

Définition réseau→ casser la séparation client/serveur : tous les pairs peuvent être aussi bien clients que serveurs.

Marche avec la plupart des exemples précédents ?

(9)

Définitions Approches classiques

Définition réseau

La plupart des applications réseaux fonctionnent en client/serveur :

I D’un côté, le(s) serveur(s) fourni(t/ssent) des ressources,

I De l’autre, les clients consomment ces ressources.

Définition réseau → casser la séparation client/serveur : tous les pairs peuvent être aussi bien clients que serveurs.

Marche avec la plupart des exemples précédents ?

(10)

Définitions Approches classiques

Définition réseau

La plupart des applications réseaux fonctionnent en client/serveur :

I D’un côté, le(s) serveur(s) fourni(t/ssent) des ressources,

I De l’autre, les clients consomment ces ressources.

Définition réseau → casser la séparation client/serveur : tous les pairs peuvent être aussi bien clients que serveurs.

Marche avec la plupart des exemples précédents ?

(11)

Définitions Limites

Définition réseau : et Skype ?

Skype est l’une des application P2P les plus connues. Pourquoi Skype est P2P ?

I Interaction de pair à pair ?

I Interactions entre n’importe quelle paire de pairs ?

I Par les créateurs de KaZaA et Joost (cf plus tard) ?

I Peut-être que la définition réseau a ses limites ? ?

Existe depuis, très, très longtemps

(12)

Définitions Limites

Définition réseau : et Skype ?

Skype est l’une des application P2P les plus connues. Pourquoi Skype est P2P ?

I Interaction de pair à pair ?

I Interactions entre n’importe quelle paire de pairs ?

I Par les créateurs de KaZaA et Joost (cf plus tard) ?

I Peut-être que la définition réseau a ses limites ? ?

Existe depuis longtemps

(13)

Définitions Limites

Définition réseau : et Skype ?

Skype est l’une des application P2P les plus connues. Pourquoi Skype est P2P ?

I Interaction de pair à pair ?

I Interactions entre n’importe quelle paire de pairs ?

I Par les créateurs de KaZaA et Joost (cf plus tard) ?

I Peut-être que la définition réseau a ses limites ? ?

Retour à l’énumération

(14)

Définitions Limites

Définition réseau : et Skype ?

Skype est l’une des application P2P les plus connues. Pourquoi Skype est P2P ?

I Interaction de pair à pair ?

I Interactions entre n’importe quelle paire de pairs ?

I Par les créateurs de KaZaA et Joost (cf plus tard) ?

I Peut-être que la définition réseau a ses limites ? ?

Définitions alternatives : méthodologie, structure

(15)

Définitions Limites

Interlude : une définition légale ?

Le P2P peut être utilisé à des fins non légales.

DADVSI tente d’interdire tout «logiciel

manifestement destiné à la mise à disposition du public non autorisée d’œvres ou d’objets

protégés».

I Peut recouvrir le partage P2P (data et multimedia)

I Ne recouvre pas (trop) Skype

I Couvre la plupart des applications réseaux (incluant l’approche client/serveur) : Apache, SSH. . .

(16)

Définitions Limites

Interlude : une définition légale ?

Le P2P peut être utilisé à des fins non légales.

DADVSI tente d’interdire tout «logiciel

manifestement destiné à la mise à disposition du public non autorisée d’œvres ou d’objets

protégés».

I Peut recouvrir le partage P2P (data et multimedia)

I Ne recouvre pas (trop) Skype

I Couvre la plupart des applications réseaux (incluant l’approche client/serveur) : Apache, SSH. . .

(17)

Définitions Limites

Interlude : une définition légale ?

DADVSI n’est pas vraiment applicable. Prise de conscience de la difficulté de définir (légalement) un usage P2P illégal. Passage à Hadopi.

I Surveillance de contenu cibles (pots de miel)

I Preuve d’un véritable téléchargement par personne physique impossible à grande échelle

I Mise en place du délit de négligence caractérisée

I Échec technique, succès politique ?

(18)

Définitions Limites

Interlude : une définition légale ?

DADVSI n’est pas vraiment applicable. Prise de conscience de la difficulté de définir (légalement) un usage P2P illégal. Passage à Hadopi.

I Surveillance de contenu cibles (pots de miel)

I Preuve d’un véritable téléchargement par personne physique impossible à grande échelle

I Mise en place du délit de négligence caractérisée

I Échec technique, succès politique ?

(19)

Définitions Autres possibilités

Définition méthodologique

Le P2P utilise les ressources disponibles auquel il a accès (CPU, disque, bande passante) où qu’elles soient, et les redistribue à ceux qui en ont besoin.

Deux variantes suivant ce que recouvre «où» :

I Chez n’importe quel utilisateur (inclus BOINC)

I N’importe où dans les réseaux (CCN, . . . ) Skype : borderline

(20)

Définitions Autres possibilités

Définition méthodologique

Le P2P utilise les ressources disponibles auquel il a accès (CPU, disque, bande passante) où qu’elles soient, et les redistribue à ceux qui en ont besoin.

Deux variantes suivant ce que recouvre «où» :

I Chez n’importe quel utilisateur (inclus BOINC)

I N’importe où dans les réseaux (CCN, . . . )

Skype : borderline

(21)

Définitions Autres possibilités

Définition méthodologique

Le P2P utilise les ressources disponibles auquel il a accès (CPU, disque, bande passante) où qu’elles soient, et les redistribue à ceux qui en ont besoin.

Deux variantes suivant ce que recouvre «où» :

I Chez n’importe quel utilisateur (inclus BOINC)

I N’importe où dans les réseaux (CCN, . . . ) Skype : borderline

(22)

Définitions Autres possibilités

Définition structurelle

Structure : comment les éléments d’un système sont agencés, et par extension, interagissent.

En réseau, on peut définir par structure la réponse à la question Qui donne quoi à qui ?

Clients/serveurs, téléphone,. . . ont généralement des structures triviales.

Définition structurelle : le P2P est caractérisé par des structures réseaux non triviales.

Exclut les interactions triviales (Skype ?)

(23)

Définitions Autres possibilités

Définitions : récapitulatif

Il existe beaucoup de définitions possibles du P2P Énumération On sait bien ce que c’est

Légal Confond technique et légalité de l’usage Réseau N’est pas client/serveur

Méthodologique Recycle des ressources inutilisées Structurelle Interactions non triviales

Recommandations

I Il n’y a pas de meilleure réponse (il y en a de moins bonnes)

I Utilisez votre tête !

I Est-ce que Skype est P2P ? C’est comme vous (et Skype) voulez !

(24)

Définitions Autres possibilités

Définition pour le cours

I Ce cours est centré sur la distribution (illégale ?) de contenu

I La plupart des définitions marchent

I Étude non-exhaustive

(25)

Principaux concepts

Sommaire

Définitions

Approches classiques Limites

Autres possibilités

Principaux concepts Fonctionnement Objectifs

Une brêve histoire du pair-à-pair Avant

Après

(26)

Principaux concepts Fonctionnement

Overlay

Le modèle OSI

Le réseau est souvent découpé en 7 couches :

I Couche 7 (Application)

I Couche 4 (Connectivité point-à-point robuste)

I Couche 3 (Routage) P2P

I Créer un réseau virtuel (overlay) en surcouche du réseau physique

I Overlay → graphe

I Émuler les couches routage / connectivité / . . . sur la topologie virtuelle

(27)

Principaux concepts Fonctionnement

Overlay : deux grandes familles

Graphes structurés

Maintenir une certaine forme avec de bonnes propriétés

I Performances garanties par la structure du graphe

I Maintenance faible si réseau stable

I Fragile, maintenance forte si réseau très dynamique

I Peu adapté aux réseaux héterogènes Graphes non-structurés

Basés sur le hasard, l’auto-adaptation

I Robuste

I Adapté à l’hétérogénéité

I Maintenance constante (élevée si réseau stable)

(28)

Principaux concepts Fonctionnement

Passage à l’échelle

En client/serveur

I la capacité de traîtement est fixe

I trop de clients→ DoS En P2P

I La capacité de traîtement augmente avec le nombre de clients

I → le P2P peut gérer un nombre arbitraire de clients : Passage à l’échelle / scalabilité

Plutôt réelle, la scalabilité n’est cependant pas une propriété absolue et inébranlable

I Réseau physique sous-jacent

I Contraintes de QoS

I La taille compte en pratique (maintenance, effet

(29)

Principaux concepts Fonctionnement

Notion d’équité (fairness)

Dans l’idéal

En P2P, chaque pair peut servir et être servi par n’importe qui : le P2P est isotropique.

En pratique

I Il n’est pas toujours possible de servir n’importe quoi à n’importe qui

I “All peers are equal, but some peers are more equal than others” (Orwell, the Server Farm)

→le P2P est isotropique a priori au moment d’intégrer le système

(30)

Principaux concepts Objectifs

Ressources et objectifs

Ressources

I CPU

I Disque vide

I Disque rempli (contenu)

I Bande passante Objectifs

I Calcul distribué

I Distribution de contenu

I Téléphonie (Skype)

I Gaming

(31)

Principaux concepts Objectifs

Ressources et objectifs

Ressources

I CPU

I Disque vide

I Disque rempli (contenu)

I Bande passante Objectifs

I Calcul distribué

I Distribution de contenu

I Téléphonie (Skype)

I Gaming

(32)

Principaux concepts Objectifs

Distribution de contenu

Trois grandes familles

Partage de fichiers (filesharing) Distribution génerique

I Objectif principal : récupérer le contenu

I Objectifs secondaires : disponibilité, temps de téléchargement

(33)

Principaux concepts Objectifs

Distribution de contenu

Trois grandes familles

À-la-DemandeN’importe quoi n’importe quand

I Catalogue existant a priori (comme pour le filesharing)

I Minimiser l’initialisation (start-up delay)

(34)

Principaux concepts Objectifs

Distribution de contenu

Trois grandes familles

Live Direct / Programme

I Tout le monde veut la même chose en même temps

I Minimiser le décalage (play-out-delay)

(35)

Principaux concepts Objectifs

Distribution de contenu

Trois grandes familles

Famille Partage simple À-la-Demande Live

Streaming ? Non Oui Oui

Qualité Minimale N’importe quoi, Small delay

requise N’importe quand

Avantage Trafic Contenu Comportement

technique élastique connu homogène

Difficulté Minimale Comportement Anticipation

technique hétérogène impossible

(36)

Principaux concepts Objectifs

Indexation/Distribution

Quel soit le système (P2P) de distribution de contenu, il y a deux questions à résoudre :

Qui possède ce que je veux ?

I Construire / maintenir un index

I Résoudre à la volée

I Utiliser une solution centralisée Comment je récupère ce que je veux ?

I Sans réfléchir

I Intelligemment

(37)

Une brêve histoire du pair-à-pair

Sommaire

Définitions

Approches classiques Limites

Autres possibilités

Principaux concepts Fonctionnement Objectifs

Une brêve histoire du pair-à-pair Avant

Après

(38)

Une brêve histoire du pair-à-pair Avant

Pré-histoire du P2P : communications

Quelques dates-clés -200000 ? Parole

-30000 ? Peinture -7000 ? Écriture

-600→ -100 Longue distance (chevaux/pigeons/sémaphores) 1454 Gutenberg

1876 Téléphone 1969 Arpanet 1993 MP3

1999 ADSL (en France), DivX 3.11

(39)

Une brêve histoire du pair-à-pair Avant

Pré-histoire du P2P : communications

Quelques dates-clés -200000 ? Parole

-30000 ? Peinture -7000 ? Écriture

-600→ -100 Longue distance (chevaux/pigeons/sémaphores) 1454 Gutenberg

1876 Téléphone 1969 Arpanet 1993 MP3

1999 ADSL (en France), DivX 3.11

(40)

Une brêve histoire du pair-à-pair Avant

Seuil technologique

I Vers 2000, on peut récupérer du contenu en temps raisonnable

I Une autre métrique intéressante : peut-on «streamer» ?

Main Impr. Modem DSL 512k DSL 20M

Livre 2-3j 12h 1m 6s 0.15s

Tube (WAV) 12a 1-2j 1h 6m 10s

Film (DVD) 100a 1a 10j 1j <1h

Tube (MP3) 20j 3h 6m 30s 1s

Film (DivX) 12a 40j 1j 3h 5m

(41)

Une brêve histoire du pair-à-pair Avant

Seuil technologique

I Vers 2000, on peut récupérer du contenu en temps raisonnable

I Une autre métrique intéressante : peut-on «streamer» ? Main Impr. Modem DSL 512k DSL 20M

Livre Non Oui Oui Oui Oui

Tube (WAV) Non Non Non Presque Oui

Film (DVD) Non Non Non Non Oui

Tube (MP3) Non Non Presque Oui Oui

Film (DivX) Non Non Non Presque Oui

(42)

Une brêve histoire du pair-à-pair Avant

Seuil technologique

Vers 2000

I Les contenus numériques deviennent la norme

I CDs, MP3

I DVDs, DeCSS, DivX

I Le «haut débit» rend la réception par Internet réaliste

I Pas de YouTube, MegaUpload, . . .

I Quelques solutions marginales

I Newsgroups (alt.binaries.*)

I FTPz

I IRC

I Myspace

(43)

Une brêve histoire du pair-à-pair Avant

Seuil technologique

Vers 2000

I Les contenus numériques deviennent la norme

I CDs, MP3

I DVDs, DeCSS, DivX

I Le «haut débit» rend la réception par Internet réaliste

I Pas de YouTube, MegaUpload, . . .

I Quelques solutions marginales

I Newsgroups (alt.binaries.*)

I FTPz

I IRC

I Myspace

(44)

Une brêve histoire du pair-à-pair Avant

Interlude : Myspace, un MegaUpload (trop ?) précoce

Succès

I MySpace offrait 300MB «dans le nuage»

I Création illimitée de comptes

I Pas de Captcha

I → Programmes automatiques

I Découpage du contenu, création de compte, envoi

(45)

Une brêve histoire du pair-à-pair Avant

Interlude : Myspace, un MegaUpload (trop ?) précoce

La Chute

I Revenus :

I Pub : peu de revenus via Internet

I Modèle Freemium : pas dans les mœurs

I Dépenses :

I Stockage : très cher

I Bande passante : extrêmement cher Démultipliées par l’automatisation

(46)

Une brêve histoire du pair-à-pair Avant

Interlude : Myspace, un MegaUpload (trop ?) précoce

Quelles leçons peut-on tirer de MySpace ?

I Certains internautes veulent télécharger du contenu (légal ?)

I Trop tôt pour qu’une solution commerciale soit intéressante (une décade)

(47)

Une brêve histoire du pair-à-pair Avant

Des conditions idéales

En résumé, vers 2000, tout est prêt pour faire du P2P

I Faisabilité : lien descendant suffisant, lien montant non utilisé

I Motivation : récupérer du contenu

I Opportunité : pas de réel compétiteur

(48)

Une brêve histoire du pair-à-pair Après

P2P : Logiciels clés

1998 Napster : distribution de contenu P2P(MP3) distribution

2000 Gnutella : recherche décentralisée

2000 KaZaA/eDonkey : indexation hiérarchique 2003 BitTorrent : distribution performante

2006 Fin de Razorback 2.0 : émergence des DHTs 2006-2009 PPLive/UUSee/TVAnts/. . . : P2P streaming

(49)

Une brêve histoire du pair-à-pair Après

P2P : Logiciels clés

1998 Napster : distribution de contenu P2P(MP3) distribution

2000 Gnutella : recherche décentralisée

2000 KaZaA/eDonkey : indexation hiérarchique 2003 BitTorrent : distribution performante

2006 Fin de Razorback 2.0 : émergence des DHTs 2006-2009 PPLive/UUSee/TVAnts/. . . : P2P streaming

(50)

Une brêve histoire du pair-à-pair Après

Napster

I Inventé en 1998 by Shawn "Napster" Fanning (The Italian Job) et Seam Parker(appears in The social network)

I Procès en 1999 (MPAA) - fermeture en juillet 2001

I Fonctionne en trois étapes :

1. Indexation : les utilisateurs envoient leur index de MP3 (catalogue) à un serveur,napster.com

2. Requête : demande d’un nom de fichier auprès du serveur ; retour d’un ensemble de clients (adresses) possédant un fichier compatible avec la requête

3. Distribution : télechargement auprès d’un client de la liste

(51)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP)

3. Distribution

I p6 contactep4 I p4 envoie àp6

(52)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP)

3. Distribution

I p6 contactep4 I p4 envoie àp6

(53)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes

2. Requête

I p6 demande às qui aA

I s répondp4(IP)

3. Distribution

I p6 contactep4 I p4 envoie àp6

(54)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP) 3. Distribution

I p6 contactep4 I p4 envoie àp6

(55)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

A ?

Ap4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP) 3. Distribution

I p6 contactep4 I p4 envoie àp6

(56)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

A ?

Ap4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP)

3. Distribution

I p6 contactep4 I p4 envoie àp6

(57)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A? sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP) 3. Distribution

I p6 contactep4 I p4 envoie àp6

(58)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

sendA

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP) 3. Distribution

I p6 contactep4

I p4 envoie àp6

(59)

Une brêve histoire du pair-à-pair Après

Napster

Serveur

p1 p2

p3

p4 p5

p6

A

A

p4

AA ?∈p4

A?

1. Indexation

I p4 possèdeA

I p4 informes 2. Requête

I p6 demande às qui aA

I s répondp4(IP) 3. Distribution

I p6 contactep4 I p4 envoie àp6

(60)

Une brêve histoire du pair-à-pair Après

Napster

Innovation

I Indexation centralisée→ requêtes complexes (regexp) faisables

I Distribution d’un pair à un autre (littéralement) Limites

I Indexation centralisée →point de vulnéralibilité (d’ailleurs. . . )

I Distribution «stupide» (un vers un, fichier entier)

(61)

Une brêve histoire du pair-à-pair Après

P2P : Logiciels clés

1998 Napster : distribution de contenu P2P(MP3) distribution

2000 Gnutella : recherche décentralisée 2000 KaZaA/eDonkey : indexation hiérarchique 2003 BitTorrent : distribution performante

2006 Fin de Razorback 2.0 : émergence des DHTs 2006-2009 PPLive/UUSee/TVAnts/. . . : P2P streaming

(62)

Une brêve histoire du pair-à-pair Après

Gnutella

Histoire

I 1er client : 2000 (nullsoft-AOL). Retiré au bout de 1 jour ( !)

I Code disponible → repris en open-source(LimeWire, Morpheus...)

I Plus gros trafic IP de l’année à son époque (quasi disparu aujourd’hui)

Idée du protocole initial (0.4)

I Totalement décentralisé : pas d’index central

I les recherches sont faites par innondation

I Améliorations ultérieures (hashage, ultrapeers, chunks...)

(63)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7

A

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(64)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(65)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A?

A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(66)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A?

A?

A?

A? A?

A?

A?

A?

A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(67)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A? A?

A?

A? A?

A?

A?

A?

A?

A?

A? A?

A?

A?

A? A?

A?

A?

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(68)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A?

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA sendA

(69)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA

sendA

(70)

Une brêve histoire du pair-à-pair Après

Gnutella

p1

p2 p3 p4

p5

p6

p7 A

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

A?

A?

A? A?

A?

A?

A? A?

A?

A? Ap6 Ap6

Ap6

wantA

sendA

(71)

Une brêve histoire du pair-à-pair Après

Gnutella

Innovation

pas d’index, regexp toujours possibles Limites

I L’innondation, c’est MAL : à chaque requête, une seule une fraction des pairs reçoit le message

I fraction trop petite : réponse incomplète

I fraction trop grande : surcoût en message (proportion mesurée des messages : plus de la moitié du trafic)

I Distribution toujours «stupide»

(72)

Une brêve histoire du pair-à-pair Après

P2P : Logiciels clés

1998 Napster : distribution de contenu P2P(MP3) distribution

2000 Gnutella : recherche décentralisée

2000 KaZaA/eDonkey : indexation hiérarchique 2003 BitTorrent : distribution performante

2006 Fin de Razorback 2.0 : émergence des DHTs 2006-2009 PPLive/UUSee/TVAnts/. . . : P2P streaming

(73)

Une brêve histoire du pair-à-pair Après

KaZaA

Histoire

I 2000, Niklas Zennström et Janus Friis (Skype, Joost)

I Repose sur le réseau FastTrack (propriétaire)

I Plus gros trafic de l’année, puis disparaît Principale idée :indexation hiérarchique

I Choix de supernodes : pairs avec grande bande passante et souvent disponibles

I Chaque pair ordinaire dépend (est relié) à un supernode (ratio 100−1000)

I Les supernodes gèrent leurs pairs (indexation, gestion des requêtes) et communiquent par innondation (Gnutella-style)

(74)

Une brêve histoire du pair-à-pair Après

KaZaA

s1

s2 s3

s4

s5

s6

s7

p1a p1b p2a

p5a p5b

p6a p6b p6c

p7a p7b p7c

p4a p4b

A A

p6b A?

A?

A?

A? A?

A? A?

A?

A?

A?

Ap6 b Ap6b

A

p6b

wantA sendA

(75)

Une brêve histoire du pair-à-pair Après

KaZaA

s1

s2 s3

s4

s5

s6

s7

p1a p1b p2a

p5a p5b

p6a p6b p6c

p7a p7b p7c

p4a p4b

A

A p6b A?

A?

A?

A? A?

A? A?

A?

A?

A?

Ap6 b Ap6b

A

p6b

wantA sendA

(76)

Une brêve histoire du pair-à-pair Après

KaZaA

s1

s2 s3

s4

s5

s6

s7

p1a p1b p2a

p5a p5b

p6a p6b p6c

p7a p7b p7c

p4a p4b

A A

p6b

A? A?

A?

A? A?

A? A?

A?

A?

A?

Ap6 b Ap6b

A

p6b

wantA sendA

(77)

Une brêve histoire du pair-à-pair Après

KaZaA

s1

s2 s3

s4

s5

s6

s7

p1a p1b p2a

p5a p5b

p6a p6b p6c

p7a p7b p7c

p4a p4b

A

A p6b

A?

A?

A?

A? A?

A? A?

A?

A?

A?

Ap6 b Ap6b

A

p6b

wantA sendA

Références

Documents relatifs