Le DNS , l'annuaire d'internet

Nous avons parlé du protocole qui permet aux ordinateurs de communiquer en permettant aux paquets de trouver leur chemin sur les réseaux. L'intégrité de la transmission est potentiellement prise en charge par la couche de transport et le protocole TCP. Mais lorsque nous faisons des requêtes sur internet, nous n'utilisons que très rarement ces adresses IP. Les ordinateurs les utilisent entre eux. Alors comment retrouver l'adresse IP d'une machine sur internet ?

Avant internet

Je vous parle d'un temps que les moins de vingt ans ne peuvent pas connaître. Il y a eu une époque avant internet. Internet n'existait pas. Je ne veux pas parler de la préhistoire, ni du moyen age. Non, une époque ou l'on roulait déjà à 130km/h sur les autoroutes, où l'on avait la télévision couleur et on envoyait des satellites dans l'espace.

Le moyen de communication qui a relié les hommes durant l'essentiel du XXème Siècle a été le téléphone. Il y a eu toute une culture autour du téléphone, comme en témoigne de très nombreuses chansons ( que ce soit la chanson de Claude François "le téléphone pleure", celle de Stevie Wonder "I just call to say I love you", ou la chanson "adolescente" de Bénabar qui a perdu un peu de son sens depuis les téléphones portables )

Pour contacter une personne par téléphone, à l'époque comme aujourd'hui, il fallait connaitre son numéro de téléphone. Chaque personne connaissait bien quelques numéros par coeur. On possédait souvent aussi un "répertoire" dans lequel on notait les numéro de téléphone de la famille et des proches. Si l'on ne disposait pas du numéro et que l'on recherchait le numéro d'une personne dans le même département que nous, il fallait utiliser l'annuaire téléphonique du département, qui était distribué gratuitement à tous les abonnés. Les fameuses "pages blanches". Et enfin, si la personne se trouvait hors du département, on appelait le 12, le service des renseignements téléphoniques, qui existait depuis 1938 en France et a perduré jusqu'en 2002.

Internet

L'annuaire d'internet

Il y a une grande analogie avec ce qui se passe pour internet. De même que pour une personne on connait le nom, le prénom et à minima la ville, on connait un site web par son nom. Prenons l'exemple du site que vous êtes en train de consulter actuellement. Dans la barre d'adresse, le nom du site est lycee.educinfo.org. Lorsque vous allez communiquer avec ce site, pour que le transport d'information puisse se faire, il vous faut son adresse IP. Celle ci est 82.223.81.111. Mais comment est faite la correspondance ?

Nous, humains, comprenons et mémorisons des adresses grâce à des noms de domaine. Les machines utilisent des adresses IP numériques qui n'ont que peu de sens pour nous la plupart du temps. La correspondance entre les deux est assurée par un système qui s'appelle le DNS (Domain Name System en anglais, le système de nom de domaines). Ce système est apparu alors qu'internet commençait à s'étendre, en 1985. C'est un service qui est distribué, c'est à dire réparti sur un ensemble de machines. On peut dire que le DNS est l'annuaire d'internet.

Hiérarchique

Le DNS est un système hiérarchique. Un nom de domaine est constitué d'une liste successive de domaines et sous domaines séparés par des points. Par exemple, le nom de domaine fr.wikipedia.org va correspondre au serveur fr du domaine .wikipedia qui est un sous-domaine du domaine .org. La hiérarchie peut descendre sur plusieurs niveaux.

Au sommet de la hiérarchie se trouve la racine. Cette racine est représentée par un point et elle n'apparait pas dans les noms de domaine. Les domaines juste au dessous de la racine sont appelés les TLD (Top Level Domain). Au départ, il y en avait assez peu : un pour chaque pays (.fr pour la France, .it pour l'Italie, etc.), et un certain nombre destinés à des utilisations particulières :

  • .com pour les entités commerciales
  • .net pour les réseaux au sens large
  • .org pour les organisations non gouvernementales
Remarque

En 2014, l'ICANN, l'autorité de régulation des noms de domaine dans le monde, autorise la création de nouveau TLD, plus exotiques, comme .biz pour le business, .video, ou encore .game. Ces nouvelles extensions permettent de diversifier grandement l'offre de noms de domaines.

Distribué

Le DNS est aussi un système distribué. Un serveur DNS peut donner une délégation à un autre serveur pour gérer l'annuaire DNS correspondant à un sous-domaine. Prenons par exemple le cas de fr.wikipedia.org. Si une personne demande cette adresse à partir du site monlycee.fr, il va émettre une requête DNS vers un serveur DNS. Celui ci étant dans la hiérarchie .fr, il ne peut pas répondre immédiatement à cette requête. Ce serveur DNS va lui même effectuer une requête vers les serveurs racine pour avoir cette adresse. En pratique, les serveurs racines ne connaissent pas l'adresse de ce site. Par contre, il répondent au DNS initial que le domaine .org est géré par un serveur DNS spécifique dont ils transmettent l'adresse.

Ce serveur pourrait contenir l'adresse du serveur fr.wikipedia.org. Il est cependant fort probable que le domaine .wikipedia.org soit géré par wikipedia. Le serveur du domaine .org va donc répondre que le domaine .wikipedia.org est délégué. Si l'on recherche l'information, on va trouver que le domaine .wikipedia.org est géré par 3 serveurs DNS :

  • ns0.wikimedia.org
  • ns1.wikimedia.org
  • ns2.wikimedia.org

Les adresses de ces serveurs sont transmises par le serveur DNS qui gère le domaine .org. À partir de l'un de ces serveurs, la machine initiale pourra recevoir la réponse et obtenir l'adresse IP du serveur fr.wikipedia.org

Exemple

Voici l'intégralité du processus décrit ci dessus illustré en exemple

Reverse DNS

Le DNS est l'annuaire qui permet, à partir d'un nom de domaine d'obtenir une adresse IP. De même que pour l'annuaire téléphonique, il existe un annuaire inversé qui permet d'obtenir le nom du titulaire à partir du numéro, les serveurs DNS font aussi la fonction de reverse DNS qui permet d'obtenir, à partir d'une adresse IP, un nom de machine.

Attention !

Lorsque l'on obtient un nom de machine à partir d'un DNS inverse, c'est un des noms possibles qui correspond à une adresse IP. En effet, un serveur, pour une même adresse IP, peut avoir plusieurs noms différents. C'est même une pratique très courante pour la plupart des serveurs web.

À retenir
  • Le DNS est le système qui permet d'associer une adresse IP à partir d'un nom de domaine
  • C'est un système hiérarchique.
  • C'est un système distribué grâce au mécanisme de délégation
  • Le système permet aussi d'associer, grâce au reverse DNS, un nom de domaine à partir d'une adresse IP. Cependant, c'est le nom principal qui est associé.