En passant par le 3ème étage, je vous ai expliqué comment deux ordinateurs parlent entre eux à travers d’Internet. L’identifiant connu est l’adresse IP. Mais je doute que vous connaissiez l’adresse IP du serveur de l’administration fiscale ou de votre mairie. Par contre, vous savez que si vous saisissez dans la barre d’adresse ‘impots.gouv.fr’ ou ‘lyon.fr’, vous accéderez au service recherché.
Vous allez me dire que pour trouver un service, le plus simple est de demander à son moteur de recherche favori. Avec quelques mots clés, celui-ci vous renverra le bon lien. Oui, mais c’est oublier deux points :
- Un lien est une adresse logique et non une adresse IP (Internet Protocol),
- Afin d’accéder à votre moteur de recherche, il faut connaître son adresse.
Comment passer de l’adresse logique à l’adresse physique (IP) ? Il existe un protocole pour cela, le Domain Name System (DNS). Le DNS ou Système de Nom de Domaine est un protocole qui permet de retrouver l’adresse IP par rapport à un nom compréhensible. Une adresse IP est une série de nombre. En version 4 de l’IP, les adresses contiennent 4 nombres compris entre 0 et 255. En version 6, c’est 32 chiffres en base 16.
Déjà qu’il est difficile de retenir un numéro de téléphone alors, des dizaines de chiffres pour retrouver un service, il faut avoir une sacrée mémoire. Avant, pour trouver un service, nous utilisions un annuaire téléphonique. Le système DNS est l’équivalent de cet annuaire pour les services Internet. Le DNS est un service Internet. Son adresse physique (IP) doit être connue de notre ordinateur ou smartphone pour être interrogée.
Et c’est le cas. Votre ordinateur connaît toujours l’adresse IP d’un DNS. Au besoin, il demande à votre Box. Donc il peut interroger l’annuaire. Mais c’est un peu plus compliqué qu’un bottin. Un serveur ne peut connaître tous les services du monde. Il s’en crée chaque seconde. C’est pour cela qu’il y a plusieurs serveurs DNS et que ces serveurs ont chacun leur domaine de prédilection.
Reprenons notre exemple du site des finances publiques. Après avoir tapé ‘impots.gouv.fr’ dans la barre d’adresse de votre navigateur, ce dernier va demander l’adresse IP à Sylvain, le serveur DNS local qu’il connaît. Ce dernier va lire l’adresse de droite à gauche en considérant le ‘.’ comme un séparateur.
‘.fr’ : Il s’agit de la racine de l’adresse. Comme c’est la première requête de la journée, Sylvain a oublié l’adresse de son confrère spécialisé dans les noms de domaines en ‘.fr’. Il va donc interroger le DNS racine. Ce type de DNS ne changent pas d’adresse IP. Donc Sylvain sait où les contacter. Les vénérables indiquent à Sylvain l’adresse de son confrère, Arthur, spécialisé dans les noms de domaines en ‘.fr’.
‘gouv’ : Sylvain contacte Arthur et lui demande s’il connaît le serveur qui gère le domaine ‘gouv’. Arthur lui répond que c’est Sophie et il lui donne son adresse. En parallèle de cela Sylvain enregistre que les ‘.fr’ sont gérés par Arthur. Ce sera toujours utile si l’utilisateur lui demande un autre domaine en ‘.fr’.
‘impots’ : Sylvain appelle Sophie. On touche au but puisque l’objectif était de savoir qu’elle était l’adresse IP derrière le nom de domaine ‘impots.gouv.fr’. Et justement, Sophie connaît le serveur et indique à Arthur son adresse.
Notre héros peut donc indiquer au navigateur de l’utilisateur la bonne adresse IP. Ce dernier s’empresse donc de contacter le service. Et de nous afficher sa réponse : la déclaration sur les revenus de 2020 n’est pas encore disponible. Patience, nous ne sommes qu’en février.
Le DNS est un mécanisme essentiel d’Internet. Il permet d’accéder aux services attendus. Nous utilisons chaque jour ces annuaires. Comme les services sont bien conçus, nous ne nous en rendons pas compte. Ce mécanisme fait l’objet d’une maintenance constante car si le service tombe, l’accès aux nouveaux services devient impossible, et l’accès aux anciens services dépend de la mémoire de votre DNS local.
Voici une petite vidéo qui récapitule le mécanisme DNS. Après avoir lu mon article, vous n’aurez aucun problème à comprendre ce geek. Il est tout à fait possible d’utiliser un autre DNS local que celui défini par défaut. Petite question philosophique avant de vous laisser. Que se passerait-il si quelqu’un prenait le contrôle du DNS ?