Gnutella
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Gnutella est un protocole informatique décentralisé de recherche et de transfert de fichiers peer-to-peer (aussi appelés P2P). Il a été imaginé en 2000 par Tom Pepper et Justin Frankel alors programmeurs pour la société Nullsoft, qui a également édité WinAmp (Winamp est un lecteur multimédia propriétaire pour Microsoft Windows. Créé par Justin Frankel, de la société NullSoft rachetée par AOL, Winamp est un des plus anciens...).

Le protocole Gnutella (Gnutella est un protocole informatique décentralisé de recherche et de transfert de fichiers peer-to-peer (aussi appelés P2P). Il a été imaginé en 2000 par Tom Pepper et Justin...) continue d'évoluer permettant en outre une diminution sensible de la bande passante (La bande passante (angl. bandwidth) est un intervalle de fréquences pour lesquelles la réponse d'un appareil est supérieure à un minimum. Elle est généralement confondue...) utilisée. Parmi ses améliorations, on peut citer la gestion des ultrapeers, GUESS et GWebCache qui permet de manière décentralisé à des clients Gnutella de connaître d'autres machines auxquelles se connecter.

De nombreux systèmes d'échange de fichiers P2P implémentent ce protocole dont :

  • Bearshare
  • Gnucleus
  • Limewire (LimeWire est un logiciel P2P (de partage de fichiers de poste à poste) fonctionnant sur le réseau Gnutella. Disponible en plus de 15 langues, LimeWire est certifié sans adware et permet...) et Frostwire
  • Cabos
  • Shareaza (Shareaza (jeu de mot formé à partir du mot share en anglais qui signifie partager et du prénom Shéhérazade qui rappelle le personnage du conte des...) (qui gère également Gnutella, Gnutella 2, BitTorrent (BitTorrent est un protocole de transfert de données poste à poste (P2P) à travers un réseau informatique développé par Bram Cohen. Le protocole a été conçu en avril 2001 et mis...) et eDonkey2000)
  • Xolox
  • MLDonkey
  • Phex
  • Swapper
  • Mutella
  • QTella
  • KCeasy

Son nom est formé de la contraction de GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.) et Nutella, bien que le protocole ne soit pas un projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration d’une grande diversité de contribution,...) GNU (la Free Software Foundation a demandé aux développeurs de changer le nom afin de ne pas prêter à confusion[1]) et qu'il n'y ait aucun rapport avec la marque de pâte à tartiner.

Fonctionnement du protocole

Gnutella v0.4

Dans Gnutella v0.4, chaque poste agit comme un serveur et un client (Le mot client a plusieurs acceptations :) et est nommé servent (Servent est la contraction du mot serveur et client.) (contraction de serveur et client).

Chaque servent est connecté à un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut...) de voisins. Pour lancer une recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue de produire et de développer les connaissances...), un servent interroge tous ses voisins en leur envoyant un message (La théorie de l'information fut mise au point pour déterminer mathématiquement le taux d’information transmis dans la communication d’un message par un canal de communication, notamment en présence...) de recherche. Ses voisins font de même avec leur propre voisins. Un champs TTL (Time To Live) est associé au message de recherche pour comptabiliser le nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de retransmissions restantes. Quand celle-ci est nulle, le message n'est plus renvoyé. Cette méthode de propagation est appelé inondation (Le terme inondation fait traditionnellement référence au débordement d'un cours d'eau qui submerge les terrains voisins. Il doit évidemment être étendu aux débordements des ouvrages artificiels...).

Les servent ayant des fichiers qui répondent à la requête (Le mot requête, synonyme de demande, est employé dans les domaines suivants :) renvoient leur réponse (nom du fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : fichier des...) + leur adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour qu'il n'y ait...) IP) au voisin qui leur a retransmis la requête. La réponse remonte ainsi de proche en proche jusqu'au servent qui a initié la requête.

Le servent initiateur de la requête va ensuite choisir les fichiers à télécharger en envoyant directement une requête de téléchargement (En informatique, le téléchargement (en anglais download) est l’opération de transmission d’informations — programmes, données, images, sons, vidéos — d’un ordinateur à...) au servent qui possède le fichier.

Cependant cette inondation est coûteuse en bande passante et les recherches sont plus lentes que dans les réseaux centralisés (Napster).

Gnutella v0.6

Ultrapeers

Ce qui conduit, les développeurs de Limewire à proposer en 2001 le système d'ultrapeers. La gestion des ultrapeer (ou superpeer) est incluse dans la version 0.6 du protocole Gnutella. Les servents sont divisés en deux catégories : les ultrapeers (ou superpeer) qui sont des servents stables ayant une bonne connectivité et les clients (ou nœuds feuilles). Les feuilles (leaf) sont rattachées à 3 ultrapeers et les ultrapeers admettent entre 30 à 45 clients et 30 ultrapeers. Les ultrapeers indexent le contenu des clients auxquels ils sont rattachés et répondent aux requêtes de recherche en incluant les documents de leur clients.

Les requêtes de recherches reçues par les ultrapeers ne sont retransmises qu'aux autres ultrapeers. Ainsi un client interrogeant un ultrapeer peut rechercher sur 30 autres clients avec une seule requête. Si la requête est retransmise aux 30 autres ultrapeers auquel il est connecté, sa recherche atteint le contenu de 900 clients... Autre point (Graphie) non négligeable, les clients ne reçoivent plus de requêtes de recherche, on dit qu'ils sont protégés (shielded) par leur ultrapeer. Cela permet en outre aux utilisateurs connectés à Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le...) en bas débit (Un débit permet de mesurer le flux d'une quantité relative à une unité de temps au travers d'une surface quelconque.) de pouvoir utiliser Gnutella sans diminuer leurs performances.

GUESS

GUESS (Gnutella UDP Extension for Scalable Searches) permet aux feuilles de contrôler le nombre d'ultrapeers interrogés et donc de réduire la bande passante utilisée.

Pour satisfaire, une recherche sur des mots populaires, il y a besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins primaires, les besoins secondaires et les besoins...) d'interroger peu d'ultrapeers pour obtenir un nombre de résultats satisfaisants. Au contraire, une recherche sur des ressources rares demande d'interroger un nombre important d'ultrapeers.

Avec le mécanisme par inondation, il est impossible de contrôler efficacement le nombre d'ultrapeers interrogés. La solution proposée par GUESS est de laisser l'initiateur de la recherche le soin d'interroger successivement un ensemble d'ultrapeers jusqu'à ce qu'il obtienne un nombre de résultats satisfaisants.

GWebCache

GWebcache est un script installé sur un serveur web permettant à un client Gnutella de recupérer une liste de nœud Gnutella auxquelles se connecter. Typiquement, lors de la première connexion au réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit...) Gnutella, les servents ne connaissent pas d'autres servents auxquels se connecter. Ce problème est connu sous le nom de bootstrap (En anglais, le bootstrapping fait référence aux aventures du baron de Münchhausen, lequel est censé s'être sorti d'un marécage où il était embourbé rien qu'en se tirant...).

Les GWebCaches sont accessibles via une URL et utilisent le protocole HTTP.

Le protocole GWebcache spécifie deux types de requêtes : les requêtes GET pour recupérer une liste d'adresses IP de nœuds Gnutella et d'URLs pointant sur d'autres serveurs GWebCache. Et les requêtes UPDATE permettant à un serveur d'informer le GWebCache qu'un ultrapeer ou un serveur GWebCache est présent dans le réseau.

Le serveur maintient une liste limitée d'adresses IP des ultrapeers et d'URLs de GWebCache et ne garde que les dernières reçues. Cela permet de garantir que les adresses des ultrapeers et des GWebCaches retournés à un client soient toujours fraîches et donc ont de grande chance d'être encore accessibles.

Gnutella 2

Gnutella 2 est un protocole de partage de fichier peer-to-peer ( ) basé sur Gnutella. Il est mis au point par Michael Stokes. Il reprend tous les caractéristiques de Gnutella sauf pour l'algorithme de recherche (En informatique, un algorithme de recherche est un type d'algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions répondant...).

Page générée en 0.105 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique