Gnutella

Gnutella
Page d'aide sur l'homonymie Ne pas confondre avec Nutella, la pâte à tartiner de Ferrero.

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.

Le protocole Gnutella continue d'évoluer permettant en outre une diminution sensible de la bande passante 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.

Son nom est formé de la contraction de GNU et Nutella, bien que le protocole ne soit pas un projet 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.

Sommaire

Fonctionnement du protocole

Gnutella v0.4

Dans Gnutella v0.4, chaque poste agit comme un serveur et un client et est nommé servent (contraction de serveur et client).

Chaque serveur est connecté à un ensemble de voisins. Pour lancer une recherche, un serveur interroge tous ses voisins en leur envoyant un message de recherche. Ses voisins font de même avec leur propre voisins. Un champ TTL (Time To Live) est associé au message de recherche pour comptabiliser le nombre de retransmissions restantes. Quand celle-ci est nulle, le message n'est plus renvoyé. Cette méthode de propagation est appelé inondation.

Les serveurs ayant des fichiers qui répondent à la requête renvoient leur réponse (nom du fichier + leur adresse IP) au voisin qui leur a retransmis la requête. La réponse remonte ainsi de proche en proche jusqu'au serveur qui a initié la requête.

Le serveur initiateur de la requête va ensuite choisir les fichiers à télécharger en envoyant directement une requête de téléchargement au serveur 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 serveurs sont divisés en deux catégories : les ultrapeers (ou superpeer) qui sont des serveurs 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 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 en bas débit 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 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 Gnutella, les serveurs ne connaissent pas d'autres serveurs auxquels se connecter. Ce problème est connu sous le nom de bootstrap.

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 récupé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.

Gnutella2

Gnutella2 (aussi surnommé G2) : En dépit de son nom, il n'est pas un successeur du protocole Gnutella, c'est un "fork" (fourche, déviation) initié en 2002. Un point sensible avec de nombreux développeurs de Gnutella, c'est que le nom "Gnutella2" traduit une mise à niveau ou de supériorité, ce qui a conduit à une "guerre de flamme Gnutella2". D'autres critiques sont l'utilisation du réseau Gnutella pour l'amorçage pairs G2 et la piètre documentation du protocole G2.

Gnutella2 a été mis au point par Michael Stokes. Il reprend quelques caractéristiques de gnutella, comme la connexion initiale, par exemple, mais il a une topologie, ainsi qu'un algorithme de recherche complètement différent.

Logiciels

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

Notes et références

  1. Pour plus d'informations sur le point de vue de la Free Software Foundation sur Gnutella voir http://www.gnu.org/philosophy/gnutella.html

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Gnutella de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Gnutella — (gesprochen [nʊˈtɛlə] mit einem stummen g; meist klein geschrieben) bezeichnet ein Peer to Peer Computernetzwerk und dessen spezifisches Netzwerkprotokoll. Es ist das erste komplett dezentrale Filesharing Netzwerk überhaupt und hat mehrere… …   Deutsch Wikipedia

  • Gnutella 2 — Gnutella  Ne pas confondre avec Nutella, la pâte à tartiner de Ferrero. 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 …   Wikipédia en Français

  • Gnutella — (pronunciado sin la g ) es un proyecto de software distribuido para crear un protocolo de red de distribución de archivos entre pares, sin un servidor central. El primer cliente fue desarrollado por Justin Frankel y Tom Pepper de Nullsoft,… …   Enciclopedia Universal

  • Gnutella — Not to be confused with Nutella. Part of a series on File sharing Technologies …   Wikipedia

  • Gnutella — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Gnutella полностью децентрализованная файлообменная сеть в рамках Интернета, потомок Napste …   Википедия

  • Gnutella 2 — Das Gnutella2 Peer to Peer Protokoll ist eine 2002 von Michael Stokes veröffentlichte Rundumerneuerung des Gnutella Protokolls. Alles bis auf das alte Handshake des Gnutella Protokolls wurde komplett neu erdacht. Somit ist neues System entstanden …   Deutsch Wikipedia

  • Gnutella — Número de usuarios de las redes FastTrack, eDonkey y Gnutella en el periodo enero de 2003 mayo de 2006. Gnutella es un proyecto de software distribuido para crear un protocolo de red de distribución de archivos entre pares, sin un servidor… …   Wikipedia Español

  • Gnutella — ● np. m. ►APPLI►SECU De GNU et Nutella, la pâte à tartiner à la noisette. Logiciel à la fois client et serveur permettant à ses utilisateurs d échanger toutes sortes de fichiers. L intérêt est l absence de point central sur le réseau GnutellaNet …   Dictionnaire d'informatique francophone

  • GNUtella — dezentrale Peer to Peer Verwaltung unter GPL zum Austausch von Dateien ( http://gnutella.wego.com/, vergl. Napster) …   Acronyms

  • GNUtella — dezentrale Peer to Peer Verwaltung unter GPL zum Austausch von Dateien (http://gnutella.wego.com/, vergl. Napster) …   Acronyms von A bis Z

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”