Gnutella2

Gnutella2

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.

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

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).

Chaques servent est connecté à un ensemble de voisins. Pour lancer une recherche, un servent 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 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 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 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 servents ne connaissent pas d'autres servents 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 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.

Liens externes

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
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Gnutella ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Gnutella2 — Gnutella2, G2  файлообменный OpenSource P2P протокол, используемый программой Shareaza. Разработан её автором как форк протокола Gnutella; не был положительно оценён участниками gnutella‐форума. Содержание 1 Работа сети 2 Отличие Gnutella2… …   Википедия

  • Gnutella2 — Part of a series on File sharing Technologies Peer to peer  …   Wikipedia

  • Gnutella2 — Das Gnutella2 Peer to Peer Protokoll oft auch als G2 bezeichnet 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… …   Deutsch Wikipedia

  • Gnutella2 — El protocolo P2P Gnutella2 es una re escritura del protocolo Gnutella, escrito por Michael Stokes. En este protocolo se eliminó todo lo de Gnutella con excepción del intercambio de datos para iniciar la comunicación (handshake) y utiliza un nuevo …   Wikipedia Español

  • Gnutella2 — El protocolo P2P Gnutella2 es una re escritura del protocolo Gnutella, escrito por Michael Stokes. En este protocolo se eliminó todo lo de Gnutella con excepción de el intercambio de datos para la conección(handshake) y utiliza un nuevo sistema,… …   Enciclopedia Universal

  • Clientes Gnutella2 — Anexo:Clientes Gnutella2 Saltar a navegación, búsqueda La siguiente tabla compara información general y técnica de los programas que soportan la red Gnutella2. Contenido 1 RED SOCIAL 2 Notas 3 Véase también …   Wikipedia Español

  • Anexo:Clientes Gnutella2 — La siguiente tabla compara información general y técnica de los programas que soportan la red Gnutella2. Contenido 1 Características 2 Notas 3 Véase también 4 Enlaces externos …   Wikipedia Español

  • 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

  • Mike's Protocol — 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 Web Cache — A Gnutella web cache, also known as a GWebCache, is used by Gnutella2 and Gnutella clients to make an initial connection to their respective networks. A GWebCache uses standard HTTP to transmit data.Gnutella Web CacheGnutella requires Gnutella… …   Wikipedia

Share the article and excerpts

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