| Initiation aux Réseaux Informatiques et à Internet | ||
|---|---|---|
| Prev | Chapter 5. TCP/IP | Next |
Si le réseau fonctionnait uniquement avec des adresses, il faudrait que chaque site connaisse les adresses de tous les sites avec lesquels il désire dialoguer. Ceci est pratiquement impossible pour un être humain car les adresses ne sont que des nombres et sont de ce fait très peu parlantes [1].
[1] Si on vous présentait une liste de 20 numéros de téléphone de gens que vus connaissez, sauriez vous attribuer le bon nom au bon numéro ?
C'est pourquoi on attribue aussi à chaque point actif du réseau un nom en toutes lettres. Il est en effet beaucoup plus facile de se souvenir que par exemple le serveur WEB de la Faculté de Médecine de Nice s'appelle Noe plutôt que de se rappeler son adresse qui est 134.59.53.10
Aux débuts d'Internet, il y avait une liste unique de correspondance entre les noms de toutes les machines connectées au réseau et leurs adresses. Comme il y avait très peu de machines connectées, c'était assez facile de le gérer. Cependant il fallait recopier cette liste vers tous les ordinateurs du réseau à chaque fois que l'on y ajoutait une nouvelle machine, et cela s'est vite avéré impossible: France Télécom ne vous donne pas un nouvel annuaire à chaque fois qu'il y a un nouvel abonné dans votre département.
Alors quelqu'un a eu une idée géniale. Cette idée tient en deux points:
Hiérarchiser les noms
Déléguer la gestion des correspondances au sommet de chaque hiérarchie.
Pour connaitre l'adresse d'une autre machine, un ordinateur va alors dialoguer avec le serveur de nom de son domaine et lui donner le nom complet [2] de l'autre machine. Si la machine en question a le même nom de domaine, alors le serveur de nom lui retourne aussitôt l'adresse puisque c'est lui qui est chargé de gérer cette correspondance. En revanche s'il ne l'a pas alors il contacte le serveur de noms situé immédiatement plus haut dans la hiérarchie. Les informations ainsi récupérées bénéficient de surcroit d'une certaine validité dans le temps: on évite ainsi d'itérer inutilement la même requête tout en se gardant une certaine perméabilité vis-à-vis des modifications.
[2] FQDN ou Fully Qualified Domain Name, c'est à dire le nom de la machine suivi d'un point suivi du nom du domaine, qui peut d'ailleurs être un sous-domaine.
Un exemple valant toujours mieux qu'un long discours, supposons que la machine noe.unice.fr veuille connaître l'adresse de la machine sunsite.unc.edu. La première machine fait partie du sous-domaine unice (Université de Nice/Sophia Antipolis) du domaine fr (France). La seconde fait partie du sous-domaine unc (University of North Carolina) du domaine edu (Education US). Voici le schéma de principe, très simplifié du dialogue nécessaire:
noe.unice.fr demande l'adresse de sunsite.unc.edu au serveur de nom du sous-domaine unice
celui-ci ne la connaissant pas, contacte le serveur de nom du domaine fr
celui-ci ne la connaissant pas non plus, contacte le serveur de nom racine (on désigne par ce terme le serveur situé au sommet de la hiérarchie)
celui-ci contacte alors le serveur de nom du domaine edu
celui-ci sait alors qu'il faut aller demander l'adresse au serveur du sous-domaine unc
l'adresse de sunsite.unc.edu est renvoyée en sens inverse vers noe.unice.fr
On voit donc que DNS est une base de données répartie et d'accès relativement rapide. C'est certainement la plus grosse base de donnée aussi largement répartie au monde. Cette base étant fréquemment modifiée - au moins à la mesure de la croissance du réseau -, des mises à jour sont nécessaires. Lors d'une telle opération, il y a une synchronisation des serveurs de noms concernés par la modification. Cependant, au lieu de faire transiter l'ensemble de la liste des correspondances noms/adresses, seules les nouvelles informations circulent. On utilise généralement plusieurs serveurs DNS par sous-domaine, pour des questions de fiabilité et de rapidité. Si un serveur tombe en panne, alors un autre prend automatiquement le relai. Pour parer aux catastrophes, plusieurs serveurs de noms ne doivent jamais être physiquement stockés au même endroit afin de ne pas être touchés en même temps par un accident.
| Prev | Home | Next |
| TCP/IP | Up | Principaux services d'Internet |