Pousser le peer-to-peer

Si je dis peer-to-peer, vous commencez probablement à penser à ces services de partage de fichiers qui vous permettent d'obtenir gratuitement de la musique, des films et de la pornographie sur Internet. Mais le peer-to-peer, c'est bien plus que violer les droits d'auteur des grandes maisons de disques.





En effet, bien que le terme ait été inventé il y a quelques années à peine, le peer-to-peer est vraiment la façon dont Internet a été conçu à l'origine pour fonctionner. La théorie était que tous les ordinateurs du réseau seraient des citoyens de première classe, chacun capable de partager des ressources ou d'échanger des informations les uns avec les autres. À l'époque, un étudiant du MIT pouvait commencer à taper sur un ordinateur à Cambridge et l'utiliser pour se connecter à un ordinateur à Stanford. Pendant ce temps, un autre étudiant de Stanford pourrait utiliser ce même ordinateur pour se connecter au premier système du MIT. Les deux ordinateurs utiliseraient et offriraient simultanément des services au réseau. Les connexions entre eux seraient des liens entre égaux, c'est-à-dire d'égal à égal.

Il s'avère que la majeure partie d'Internet n'est pas devenue un système peer-to-peer. Au lieu de cela, le Net a évolué selon un modèle différent. Des ordinateurs bon marché, appelés clients, étaient distribués sur les bureaux des gens. Ces machines étaient utilisées pour accéder aux services offerts par des ordinateurs centralisés plus coûteux appelés, faute d'un meilleur mot, serveurs. Certains des premiers systèmes client-serveur permettent aux utilisateurs de partager des fichiers en les plaçant sur des serveurs de fichiers centralisés. Les serveurs étaient également un endroit idéal pour mettre le courrier électronique.

De nos jours, les clients d'Internet sont les ordinateurs de bureau et portables que nous connaissons tous si bien. Les serveurs sont les serveurs Web, les serveurs de messagerie, les serveurs de messagerie instantanée et les autres serveurs sur lesquels nos clients s'appuient. Il y a encore plus de serveurs qui fonctionnent en coulisses, comme des serveurs DNS qui exploitent le système de noms de domaine Internet, des serveurs de routage utilisés pour envoyer le trafic vocal via le Net (appelés systèmes de voix sur IP) et même des serveurs pour des entreprises qui veulent sauvegarder leurs ordinateurs sur le réseau. Le modèle client-serveur a connu un tel succès car il est assez facile à comprendre, à configurer et à entretenir.



Mais il y a un gros problème avec l'architecture client-serveur : elle est vulnérable. Lorsqu'un seul serveur tombe en panne, tous les clients qui en dépendent tombent essentiellement en panne avec lui. Vous pouvez minimiser ce problème en ayant plusieurs serveurs, mais vous devez ensuite vous assurer qu'ils restent tous synchronisés. En fait, le serveur n'a même pas besoin de tomber en panne, tout ce dont vous avez besoin est une interruption du réseau.

Le peer-to-peer est une manière fondamentalement différente de penser le réseau basée non pas sur les notions de clients et de serveurs mais sur la coopération et la collaboration. Un système de sauvegarde peer-to-peer peut utiliser tout l'espace supplémentaire sur les disques durs d'une organisation pour stocker des copies supplémentaires de documents critiques et de courriers électroniques personnels ; un système de publication Web peer-to-peer peut utiliser ces mêmes disques durs pour stocker des copies de sites Web. La théorie ici est qu'un millier de clients sous-alimentés sont toujours plus rapides que le serveur le plus rapide du monde.

Malheureusement, les systèmes peer-to-peer peuvent être difficiles à mettre en place. La manière simpliste d'en créer un consiste à ce que chaque nœud signale sa présence à un serveur central. Les personnes qui souhaitent rejoindre le réseau puis se connecter à la machine centrale l'utilisent pour trouver leurs pairs. Bien que cela fonctionne, ce n'est pas un vrai peer-to-peer : arrêtez le serveur central et le système s'effondre.



C'est pourquoi la plupart des recherches universitaires sur les systèmes peer-to-peer se sont concentrées sur la construction de systèmes qui fonctionnent sans aucun contrôle centralisé. C'est un truc plus dur ! Les ordinateurs doivent être capables de découvrir de nouveaux pairs qui se présentent et être tolérants vis-à-vis des pairs qui tombent en panne. Parfois, le réseau se brise en deux ou plusieurs morceaux. Les données doivent être stockées dans plusieurs emplacements. Pour un défi supplémentaire, essayez de gérer des pairs potentiellement hostiles qui prétendent être de bons.

Toute cette expérience pourrait vraiment porter ses fruits dans dix ou quinze ans. Considérez ces exemples :

  • L'un des points les plus faibles d'Internet à l'heure actuelle est le système de noms de domaine, qui est géré par une confédération lâche de serveurs de noms. L'exécution de DNS sur un système peer-to-peer à la place pourrait considérablement améliorer sa fiabilité.
  • Aujourd'hui, si votre entreprise utilise un petit serveur Web et que le site devient soudainement très populaire, le serveur peut tomber en panne à cause de tout le trafic supplémentaire. Mais si tous les ordinateurs sur Internet faisaient partie d'un cache Web mondial d'égal à égal, alors les petites entreprises et les particuliers pourraient publier leur matériel à une multitude de personnes. Un bon système empêcherait même les modifications malveillantes du contenu des pages Web lorsqu'elles sont servies à partir d'autres machines.
  • En cas d'attaque terroriste sur l'infrastructure d'Internet, un système peer-to-peer aurait beaucoup plus de chances de récupérer qu'un système qui dépendait d'un contrôle descendant.

Le concept de réseau superposé est étroitement associé à l'idée d'égal à égal. Ce sont des réseaux d'ordinateurs qui fonctionnent au-dessus d'Internet, avec des liens directs entre des ordinateurs qui peuvent être géographiquement distants sur Internet lui-même. Gnutella, Kasaa et Morpheus sont tous des réseaux superposés, tout comme le réseau mondial de serveurs Web exploité par Akamai.



Pour comprendre pourquoi les réseaux superposés sont une idée intéressante, vous devez d'abord comprendre comment Internet fonctionne sans eux. Normalement, si un ordinateur à Washington, DC, veut ouvrir une connexion à un ordinateur à Tokyo, il envoie simplement les paquets de données dans la vaste soupe qu'est Internet. Finalement, les paquets se retrouvent à l'autre extrémité.

Désormais, selon la conception originale d'Internet, les paquets entre l'ordinateur de Washington et celui de Tokyo suivraient automatiquement le chemin le plus rapide et le plus efficace. Malheureusement, Internet d'aujourd'hui ne fonctionne pas de cette façon. Votre fournisseur de services Internet à Washington a peut-être un accord privilégié avec un FAI en Angleterre pour échanger des paquets sur l'océan Atlantique. Le FAI anglais pourrait, à son tour, conclure un accord avec un FAI en Allemagne. Et le FAI allemand peut avoir une ligne spéciale qui va au Japon, mais cette ligne peut être sursouscrite et lente. Il pourrait s'avérer que le moyen le plus rapide d'acheminer des paquets de Washington à Tokyo consiste à les envoyer à San Francisco, puis au Japon - un chemin qui pourrait exister mais qui est découragé par la politique. Ce n'est pas un exemple hypothétique : un tel routage byzantin est courant sur Internet d'aujourd'hui.

Les réseaux superposés forcent Internet à acheminer les paquets différemment en les déplaçant entre des ordinateurs spécifiques. Par exemple, vous pouvez avoir un réseau superposé composé d'un ordinateur à Washington, un autre à San Francisco et un autre à Tokyo. En envoyant les paquets d'un de vos ordinateurs au suivant, vous pourriez défier la politique de routage de votre FAI et forcer vos paquets à suivre le chemin de votre choix.



Si vous avez accès à des ordinateurs à plusieurs endroits, vous avez peut-être vous-même expérimenté les merveilles des réseaux superposés. Par exemple, j'ai un ordinateur à Belmont, MA, un autre à Cambridge et un autre à Boston. Chaque machine est desservie par un FAI différent. Parfois, je ne parviens pas à établir une connexion entre l'ordinateur de Belmont et celui de Boston. Pendant ces périodes, je peux sauter de Belmont à Cambridge, puis de Cambridge à Boston. Essentiellement, j'ai créé mon propre réseau de superposition.

La plupart des systèmes peer-to-peer créent des réseaux superposés à la volée chaque fois qu'ils doivent surmonter des problèmes de congestion ou de routage sur l'Internet sous-jacent. Les réseaux de superposition sont également un endroit idéal pour les universitaires pour expérimenter de nouveaux algorithmes de routage, des algorithmes trop récents et non testés pour les lâcher sur l'infrastructure Internet.

Le peer-to-peer est une chose assez puissante. Ce que nous avons vu jusqu'à présent - les systèmes de violation du droit d'auteur - n'est vraiment qu'un début. Le peer-to-peer pourrait surmonter bon nombre des problèmes fondamentaux auxquels l'Internet est confronté aujourd'hui - les problèmes de contrôle centralisé, les serveurs vulnérables et la difficulté que la plupart des organisations ont à s'adapter. D'un autre côté, le peer-to-peer pourrait également aggraver les problèmes de sécurité d'Internet, en permettant aux pirates de créer des réseaux d'attaque à grande échelle. Le peer-to-peer pourrait être une aubaine pour les artistes et l'industrie du disque, leur donnant un moyen de faire connaître et de distribuer leur propriété intellectuelle pour beaucoup moins qu'ils ne le font actuellement. Pourtant, de meilleurs systèmes peer-to-peer pourraient nuire davantage aux sociétés d'enregistrement, et pas seulement par le biais de violations du droit d'auteur.

Déjà, les réseaux peer-to-peer d'aujourd'hui font un meilleur travail de distribution de musique que les labels ; les réseaux de nouvelle génération pourraient mettre en œuvre des systèmes de promotion et même de filtrage collaboratif pour permettre aux utilisateurs de trouver plus efficacement la musique qu'ils souhaitent écouter. Les systèmes peer-to-peer pourraient même agir comme une sorte de système de radio Internet, éliminant le besoin de jouer à la radio et de la payola qui l'accompagne. C'était fondamentalement le plan de Napster, comme les maisons de disques l'ont appris au cours du processus de découverte lors de leur procès. La véritable menace que le peer-to-peer fait peser sur les maisons de disques est qu'il pourrait les rendre obsolètes.

En fin de compte, la technologie peer-to-peer vise à augmenter la fiabilité et la redondance des systèmes Internet. C'est pourquoi l'industrie du disque en a peur, car le peer-to-peer peut être utilisé pour créer des réseaux que l'industrie ne peut pas fermer. Mais le peer-to-peer peut également être utilisé pour créer des réseaux que les tremblements de terre, les guerres et les terroristes ne peuvent pas fermer. En fin de compte, je pense que nous ferions mieux d'essayer de renforcer Internet plutôt que d'essayer de le rendre plus faible.

cacher