Un serveur est parfois amené à demander à certains de ses clients de se substituer à lui dans certaines de ses tâches.

Ce dépassement de la stricte architecture clients / serveur débouche sur l’architecture pair à pair vue comme une architecture client /serveur symétrisée.

En fait, les architectures où chaque machine joue exactement le même rôle que toutes celles impliquées dans les échanges sont rares.

L’application type qu’est l’échange de fichiers doit d’abord localiser ceux-ci, ce qui nécessite une sorte d’annuaire rarement géré en pair à pair, malgré une problématique connue depuis le DNS.

Naissance du Domain Name System

Le DNS est une architecture permettant à une machine d’appeler par leur nom, et non leur adresse IP, les autres machines connectées sur Internet.

Dans les années 1970, la correspondance entre nom et adresse est indiqué dans un fichier host.txt géré manuellement sur une machine unique du Network Information Center et récupéré par FTP plus ou moins automatiquement par les autres machines du réseau.

En 1984, Paul Mockapetris rédige les RFC 882 et 883, ensuite remplacés par les 1034 et 1035, décrivant le DNS qui permet de décentraliser la gestion des noms.

Le réseau est vu comme une arborescence de fichiers Unix, le point remplaçant le slash et la feuille s’énonçant avant la racine (qui n’a pas de point final).

Gestion des noms de domaine

La définition du DNS prévoit l’arborescence du parc ne doit pas dépasser 127 niveaux, et que les noms ne doivent pas dépasser 64 caractères.

Le nom des premiers nœuds (Top Level Domain) est à la charge de l’Internet Corporation for Assigned Names and Numbers.

La gestion de chaque domaine est déléguée à une autre organisation, qui elle-même peut déléguer certains de ses sous-domaines à d’autres organisations etc ; l’ensemble d’un domaine moins ses délégations est appelé une zone.

Une zone est sous la responsabilité d’un unique registry, tandis les registrars sont des prestataires permettant facilement de se réserver un nom sur le réseau.

Organisation des serveurs de noms

Le RFC prévoit deux sortes de serveurs de noms :

  • les maîtres, qui possèdent un fichier local donnant les noms de la zone ;
  • les esclaves, qui interrogent les précédents pour avoir ces informations.

Il existe en particulier 13 serveurs connaissant les serveurs de noms des domaines de premier niveau ; répartis sur toute la planète, ils reçoivent plusieurs milliers de requêtes par seconde.

L’interrogation d’un serveur de noms se fait en mode dit itératif (en cas de réponse inconnue, le serveur indique un autre serveur, plus proche du but) ou récursif (le serveur délègue et attend la réponse, qu’il retourne lui-même au demandeur).

BIND

Le DNS a connu des implémentations différentes, celle ayant un quasi-monopole aujourd’hui est BIND (Berkeley Internet Name Domain), connue surtout pour son client nslookup.

BIND a elle-même connu plusieurs versions, pas totalement compatibles, entre autres sur la gestion des caches des serveurs.

BIND offre donc une architecture moins clientS / serveur que client / serveurS, les serveurs maîtres dialoguant en pair à pair parfait.

L’arrivée des registrars introduit pour finir une architecture clientS / serveurS, ces nouveaux clients ayant virtuellement le droit d’écriture sur le fichier des serveurs maîtres.

L’échange de fichiers : localisation

Tous les systèmes d’échanges de fichiers ont comme premier problème à résoudre la localisation des copies du fichier recherché.

Il existe fondamentalement deux méthodes :

- avoir des superNœuds, serveurs maintenant des listes de postes ayant certaines données ;

- avoir des pisteurs, serveurs lançant la recherche de postes ayant certaines données.

En théorie tout poste peut jouer ce rôle, pour des raisons d’efficacité ce n’est pas le cas : le pair à pair est donc tout théorique.

Les protocoles d’échange

Les protocoles d’échange ne sont pas textuels, pour des raisons d’efficacité.

Les plus astucieux découpent les fichiers en tranches, chaque poste pouvant servir les tranches déjà récupérées pendant qu’il cherche les autres.

La définition du protocole peut également rendre impossible la présence d’un poste refusant de jouer le rôle de serveur (le moins vous servez, le moins vous recevez).

La multiplicité des protocoles a suscité des clients (sic) d’échange multi-protocoles, un des plus riches étant MLDonkey.

BitTorrent, la publication torrentielle

Bien que cette technologie ait été abondamment utilisée pour de la copie pas toujours légale, elle est plébiscitée par des éditeurs désireux de diffuser leur données le plus rapidement possible.

Freedb.org, par exemple, donne accès par BitTorrent à la sauvegarde mensuelle de sa base de données.

Description de l’architecture BitTorrent.

logo-spip E. Saint-James & F. Kordon - Master Informatique - UPMC Valid XHTML 1.0!
Calculé le 19 janvier 2021 à 07h29min