Examen probatoire - Page de Guillaume - Free

2.4 L'architecture traditionnelle : le modèle client / serveur ...... Le facteur humain
doit aussi être pris en considération dans l'avancée du peer-to-peer, car les ...

Part of the document


Conservatoire National des Arts et Métiers Centre Régional Associé de Versailles
MEMOIRE
présenté en vue d'obtenir
l'EXAMEN PROBATOIRE
en INFORMATIQUE
par
Guillaume Husta Les Systèmes Répartis
à Partage d'Information
(Peer-To-Peer) 15 novembre 2004
Table des matières
1 Introduction 4 2 Rappels sur les systèmes répartis 5
2.1 Une définition des systèmes répartis 5
2.2 Des avantages indéniables 5
2.3 Les systèmes de gestion de fichiers répartis 5
2.4 L'architecture traditionnelle : le modèle client / serveur 5 3 La technologie peer-to-peer (P2P) 7
3.1 Définition du terme « peer-to-peer » 7
3.2 L'historique de la technologie 7
3.3 Des facteurs de développement 8
3.4 Domaine d'application 8
3.5 Architecture technique du peer-to-peer 9
3.5.1 Première génération : architecture centralisée 9
3.5.2 Deuxième génération : architecture décentralisée 10
3.5.3 Troisième génération : architecture hybride 11
3.6 La nécessité d'un service de découverte 12
3.7 Avantages 13
3.7.1 Mutualisation des ressources 13
3.7.2 Des échanges plus rapides 13
3.7.3 Tolérance aux pannes 13
3.7.4 Extensibilité 13
3.7.5 Réduction des coûts 13
3.8 Problèmes liés à l'architecture peer-to-peer 14
3.8.1 Augmentation du trafic sur le réseau 14
3.8.2 Système de nommage 15
3.8.3 Sécurité 15
3.8.4 Fiabilité 15
3.8.5 Cohérence des données 15
3.8.6 Facturation du service 15
3.8.7 L'altruisme ou la motivation du partage 16 4 Réseaux & Applications Peer-to-peer 17
4.1 Quelques exemples d'applications existantes 17
4.1.1 Calcul distribué 17
4.1.2 Partage de fichiers 18
4.1.3 Messagerie instantanée 18
4.1.4 La mutualisation de la bande passante 18
4.2 Les réseaux de partage de fichier utilisés sur le marché 20
4.2.1 Napster 20
4.2.2 Gnutella 20
4.2.3 Freenet 21
4.2.4 FastTrack 21
4.2.5 eDonkey 23
4.2.6 BitTorrent 23
4.3 Outils de développement 24
4.3.1 Projet JXTA 24
4.3.2 L'alternative Microsoft : Windows XP Peer-to-Peer 25 5 Perspective d'application du peer-to-peer aux entreprises 26
5.1 Le travail collaboratif 26
5.2 Pour les médias 26
5.3 Un système d'information décentralisé et autonome 27
5.4 Comparaison avec les Web Services 27 6 Le peer-to-peer face à la législation 28
6.1 Le cadre juridique en France 28
6.1.1 Rappels des lois en vigueur 28
6.1.2 Informatiques et Libertés 29
6.2 Des procès en cascade 30
6.3 Les travers inévitables 31
6.4 La solution au problème 31 Conclusion 32 Glossaire 33 Bibliographie 35
Ouvrages littéraires 35
Internet 35
Introduction Le partage d'information est une fonction fondamentale dans un réseau,
quelle que soit sa nature. Ainsi la raison d'être d'un réseau informatique
est la faculté de partager des ressources au sein d'une communauté. Dans le
contexte d'Internet le partage de fichiers est une des fonctions
principales, avec la navigation sur le Web et la messagerie. Et après une
prédominance des architectures centralisées, c'est le modèle décentralisé à
l'image du peer-to-peer qui émerge ces dernières années. Le concept du peer-to-peer n'est pas nouveau. En effet c'est le fondement
même de l'Internet, c'est-à-dire un réseau d'ordinateurs planétaire (un
système réparti), fonctionnant en autonomie sans système de contrôle
centralisé (une architecture décentralisée), et mutualisant des ressources.
Mais au début le modèle client / serveur a rapidement pris le dessus, à
cause de plusieurs facteurs comme la faible puissance des machines des
utilisateurs comparée à celle des serveurs et autres supercalculateurs, le
coût de la connexion à Internet pour un faible débit ou l'incapacité
d'obtenir une adresse Internet fixe, et donc l'impossibilité de faire
partie du système DNS. Cependant depuis la fin des années 1990, tous ces
paramètres ont changé, annonçant le renouveau du peer-to-peer. Une des conséquences de ce changement a été la modification de la
physionomie du trafic global d'échange sur Internet en profondeur. Pour
comprendre l'ampleur du phénomène, il faut se tourner vers les experts
techniques d'Internet. Un prestataire des FAI indique que le peer-to-peer
représente 60% du trafic haut débit en journée et peut atteindre 80 à 90%
la nuit. Le reste du trafic concerne principalement les données
transportées par le protocole HTTP (pages Web et applications Web) et la
messagerie. Depuis la fin des années 1990, les réseaux peer-to-peer sont en pleine
expansion, mais c'est longtemps l'architecture client / serveur qui a
dominé sur les réseaux, dans les entreprises mais aussi sur Internet. Après
avoir rappelé les raisons du succès de cette architecture traditionnelle,
nous verrons donc ce qui a permis de développer les réseaux peer-to-peer en
étudiant cette technologie plus en détail.
De nombreuses applications P2P (pour peer-to-peer) ont d'ores et déjà été
développées. Et si ce sont surtout les réseaux de partage de fichiers entre
internautes qui ont permis d'accélérer le « processus peer-to-peer », ils
n'en ont pas moins posé des problèmes juridiques. Nous verrons également
que le peer-to-peer peut jouer un rôle au sein de l'entreprise. Car après
avoir terni son image dans les affaires de piratage d'?uvres culturelles et
artistiques (musicales et cinématographiques), le peer-to-peer se tourne
vers d'autres applications tout à fait légales, dans le cadre du partage
des ressources de chaque entité du réseau.
Rappels sur les systèmes répartis
1 Une définition des systèmes répartis Un système réparti peut être défini comme un ensemble d'éléments reliés par
un système de communication (en d'autres termes un réseau). Ces éléments
peuvent avoir des fonctions de traitement (CPU), de stockage (disques) ou
d'autres ressources pouvant être partagées avec les autres entités du
réseau. Ces entités peuvent être des ordinateurs de puissance très variable
allant du serveur d'entreprise au terminal en passant par le PC, mais aussi
des périphériques comme des imprimantes.
Les caractéristiques importantes dans un système dit réparti sont la
répartition géographique, l'absence d'un organe centralisé de commande, et
surtout la fiabilité et la disponibilité du système (la tolérance aux
pannes est primordiale). Mais c'est aussi et principalement le fait de
partager des ressources, et de fournir des services, par le biais de
systèmes communicants. 2 Des avantages indéniables Les systèmes répartis offrent des avantages certains tels que :
- un coût d'investissement faible, plusieurs machines de puissance
moyennes étant plus rentables qu'une seule machine surpuissante,
- la possibilité de développement graduel au fur et à mesure des
besoins,
- une plus grande tolérance aux pannes en répartissant les risques. 3 Les systèmes de gestion de fichiers répartis Avec les systèmes répartis est né le besoin de concevoir des systèmes
d'exploitation en réseau[1]. Puis au sein de ces systèmes d'exploitation
répartis, il a été nécessaire de fournir un service de gestion de fichiers
en mode réparti.
C'est le cas par exemple de NFS (Network File System) pour les systèmes
Unix, AFS (Andrew File System), ou DCE / DFS (Distributed Computing
Environment / Distributed File System).
Les caractéristiques recherchées par ces services peuvent être :
- la transparence d'accès à travers le réseau,
- la même performance d'accès au fichier en local ou à distance,
- la capacité de maintenance (pour l'administration du système),
- l'extensibilité (ajout de ressources ou d'utilisateurs simplifié),
- la tolérance aux pannes (dans la mesure du possible),
- l'adaptabilité (résistance à l'accroissement de la charge),
- l'hétérogénéité des systèmes et des matériels. 4 L'architecture traditionnelle : le modèle client / serveur Avant d'aborder l'architecture peer-to-peer, il convient de resituer
l'émergence du modèle client / serveur. Car si ce modèle intervient dans
toutes les applications d'entreprises Internet ou Intranet dignes de ce nom
aujourd'hui, ce n'était pourtant pas la structure d'origine du réseau
Internet.
C'est avec l'explosion de l'Internet grand public dès 1994 et la
démocratisation du navigateur[2] Web (browser) que ce paradigme client /
serveur s'est largement répandu sur Internet. Il suffisait en effet au
client de connaître l'adresse du site à visiter (sous forme d'URL[3]) pour
le consulter à distance ou télécharger des fichiers. Ceci a été facilité
par le système DNS car les serveurs fonctionnaient tous sur des adresses IP
fixes (zone IP stable). Le fait que l'adresse IP du client soit dynamique
(zone IP instable) n'était absolument pas gênant. Les avantages des systèmes centralisés
Parmi ses avantages, un système centralisé est naturellement plus simple à
maintenir qu'un système réparti. L'administration se fait sur une seule et
même machine, et l'on n'a pas à se soucier de la synchronisation et de la
cohérence de données réparties. De même pour la sécurité, tout est géré au
niveau local, avec des systèmes de droits d'accès,