Chaque système raccordé à l'Internet est identifié par un identificateur unique (pas d'homonyme) qui seul permet de communiquer avec lui, c'est son adresse-IP.
Cet identificateur de 32 bits (ou 128 bits) est "confortable" pour les programmes (et les programmeurs), mais difficile à mémoriser et à manipuler pour les personnes. Aussi un autre identificateur a-t-il été ajouté pour faciliter la désignation des systèmes par les personnes : le nom de système.
Comme il n'y a pas de formule pour faire la correspondance entre le nom et l'adresse-IP d'un système, elle doit être obtenue à l'aide une table ou annuaire.
au début : une table par système (le fichier hosts)
Aux débuts de l'Internet, le nombre de systèmes raccordés était très petit (4 systèmes en 1969, 213 en 1981).
Une simple table mémorisée dans un fichier de chaque système, et une procédure de recherche par balayage étaient suffisantes.
C'est le fichier hosts (Unix : /etc/hosts, Microsoft : C:\WINDOWS\system32\drivers\etc\hosts).
- Exercice 1-1
- Combien y a-t-il de systèmes nommés dans le fichier hosts du système de ada ?
(par la commande : more /etc/hosts exécutée sur chaque système)MAIS une modification (nouveau système, changement de nom ou d'adresse-IP...) nécessite d'effectuer la modification dans la table de chaque système, et ce n'est pas viable au-delà de quelques sytèmes.
Deux solutions ont été élaborées au cours des années 80 et sont encore très utilisées :
- le NIS, orienté sur le partage d'informations d'administration entre les systèmes d'une organisation, essentiellement sur les machines Unix,
- Active Directory , même fonctionnalités que le NIS mais sous Windows
- le DNS, orienté sur les seules informations de traduction nom<-->adresse-IP des systèmes.
NIS : le MEME ensemble d'informations d'administration
pour TOUS les systèmes d'UNE organisationNIS (Network Information Service) a été spécifié par Sun Microsystems.
Ce service permet de gérer de manière centralisée des informations d'administration de systèmes, identiques pour tout un groupe de systèmes, en particulier l'annuaire des noms de systèmes du groupe.
DNS : un annuaire mondial des systèmes
Avec l'explosion de l'Internet, le nombre de systèmes désignés par un nom grandit très fortement (source : https://www.isc.org/network/survey/ et https://www.sales-hacking.com/fr/post/evolution-nombre-de-sites-web:)
Un tel nombre de systèmes rend impossible le maintien à jour de ces tables, même pour les seuls systèmes qui ont un nom "officiel" (72 millions en juillet 2000, 147 millions en janvier 2002, 1 milliard en 2013), car :
- la taille de l'annuaire est trop grande pour l'installer sur chaque système, ou même sur un système par organisation,
- le taux de mise à jour est grand (plus de 37 millions d'ajouts en 2000, un peu plus en 2001, soit plus d'un par seconde) (ce qui entraine qu'il serait impossible d'avoir une copie complète à jour),
- la méthode de nommage "plat" implique que chaque système ait un nom différent, et même en utilisant tous les dictionnaires, c'est difficile...
Ces considérations ont amené à la conception du DNS (Domain Name System), qui :
- spécifie un espace de nommage (comment construire et organiser les noms pour permettre un très grand nombre de noms différents ?),
- spécifie la forme de l'annuaire, les contraintes de disponibilité et sa mise à jour,
- spécifie une application d'interrogation.