Skip to content

Le DNS : l'annuaire d'Internet

Une machine se joint par son adresse IP, comme 185.15.58.224. Pourtant, tu n'as jamais tapé ça de ta vie. Tu tapes wikipedia.org.

Quelqu'un fait donc la traduction, entre le nom que tu retiens et l'adresse dont la machine a besoin. Ce quelqu'un s'appelle le DNS.

Deux façons de désigner la même machine

Adresse symbolique Adresse IP
wikipedia.org 185.15.58.224
lemonde.fr 151.101.122.137
github.com 140.82.121.3

Les deux désignent la même machine. Mais elles ne servent pas au même public :

  • L'adresse symbolique est faite pour les humains : elle se retient, elle se dicte au téléphone, elle a du sens.
  • L'adresse IP est faite pour les machines : elle se compare et se trie très vite, mais elle est impossible à retenir.

Le DNS (Domain Name System) est le service qui traduit l'une en l'autre. C'est l'annuaire d'Internet : tu donnes un nom, il te rend une adresse.

Ce qu'il faut avoir compris

Aucun paquet ne voyage jamais avec un nom. Sur Internet, tout circule en adresses IP, uniquement.

Le DNS n'intervient qu'une fois, au tout début : ton navigateur demande « l'adresse de wikipedia.org, s'il te plaît », obtient 185.15.58.224, et ensuite seulement il envoie ses paquets vers ce numéro. Le nom, lui, ne quitte jamais ta machine.

Un annuaire, mais pas un gros livre

Il y a des centaines de millions de noms de domaine dans le monde, et ils changent en permanence. Aucune machine ne pourrait détenir cette liste.

Le DNS est donc hiérarchique : la connaissance est répartie, et chaque serveur ne sait qu'une petite partie, mais sait à qui demander la suite.

Lis un nom de droite à gauche, c'est ainsi qu'il est organisé :

fr.wikipedia.org
└──┘ └───────┘ └─┘
  3      2      1
  1. org : le domaine de premier niveau (comme fr, com, edu). Des serveurs mondiaux, dits racine, savent qui s'occupe de org.
  2. wikipedia : le serveur de org sait qui gère wikipedia.org.
  3. fr : le serveur de Wikipédia sait quelle machine est fr.wikipedia.org.

Personne ne connaît tout. Chacun sait à qui demander.

Tu remarques la ressemblance ? C'est exactement l'idée du routage : aucun routeur ne connaît le chemin complet, il connaît juste le voisin à qui passer le paquet. Internet répète la même recette : ne jamais exiger d'un seul qu'il sache tout.

Et c'est très rapide, grâce au cache

Cette cascade de questions semble longue. En réalité, chaque réponse est mémorisée un certain temps (on dit mise en cache) : par ton navigateur, par ta machine, par ta box, par ton fournisseur d'accès.

Donc la première visite à un site interroge le DNS ; les suivantes, non. C'est pour ça qu'un site déjà visité s'ouvre plus vite.

Le voir de ses yeux

À faire : interroger le DNS

Ouvre un terminal (invite de commandes) et tape :

nslookup wikipedia.org

La réponse te donne l'adresse IP de Wikipédia, et aussi le serveur DNS que ta machine a interrogé (souvent ta box, ou celui de ton lycée).

Essaie ensuite avec le site de ton choix. Puis compare avec ton voisin : obtenez-vous la même adresse ?

Exercice - Deux réponses différentes

Ton voisin et toi interrogez google.com et vous obtenez des adresses IP différentes. Est-ce que l'un de vous deux se trompe ?

Correction

Non, les deux réponses sont bonnes.

Les gros sites ne tiennent pas sur une seule machine : ils ont des centaines de serveurs répartis dans le monde. Le DNS te renvoie l'adresse de celui qui est le plus proche de toi ou le moins chargé.

Le DNS ne fait donc pas que traduire : il répartit la charge et rapproche les contenus de leurs visiteurs. C'est une des raisons pour lesquelles Internet supporte l'échelle qu'on lui connaît.

Exercice - Le DNS en panne

Le DNS de ton fournisseur tombe en panne. Internet fonctionne toujours (les câbles, les routeurs, tout va bien). Que se passe-t-il pour toi ?

Correction

Plus rien ne marche, en apparence. Tes sites affichent « serveur introuvable ».

Pourtant, Internet fonctionne parfaitement : si tu tapais directement 185.15.58.224 dans ton navigateur, Wikipédia s'afficherait.

Tu as juste perdu l'annuaire. C'est comme avoir un téléphone en parfait état de marche, mais avoir perdu tous les numéros.

C'est pour cette raison que le DNS est une cible : le couper suffit à rendre Internet inutilisable pour des millions de gens, sans toucher à un seul câble.

Un point de contrôle, donc un enjeu

Puisque tout passe par lui, le DNS est un endroit très pratique pour contrôler ce que les gens peuvent atteindre.

  • Un fournisseur d'accès peut être obligé, par la justice, de ne plus traduire le nom d'un site (c'est ainsi qu'on bloque un site en France).
  • Un État peut faire de même à l'échelle d'un pays, pour censurer.
  • Quelqu'un de malveillant peut mentir : te renvoyer, pour le nom de ta banque, l'adresse IP d'un faux site parfaitement imité. C'est une attaque redoutable, car l'adresse dans ta barre est la bonne.

Retiens l'idée générale : celui qui tient l'annuaire tient une grande partie du pouvoir, même sans toucher aux câbles.

Ce qu'on retient

  • Le DNS est l'annuaire d'Internet : il traduit une adresse symbolique (wikipedia.org, pour les humains) en adresse IP (185.15.58.224, pour les machines).
  • Aucun paquet ne voyage avec un nom : le DNS est consulté une fois au début, puis tout circule en adresses IP.
  • L'annuaire est hiérarchique : personne ne sait tout, chacun sait à qui demander (même recette que le routage). Les réponses sont mises en cache.
  • Un gros site a plusieurs adresses : le DNS te renvoie le serveur le plus proche ou le moins chargé.
  • Si le DNS tombe, Internet marche encore mais tu ne peux plus rien atteindre par son nom. C'est pourquoi c'est un point de censure, de blocage et d'attaque.

Et ensuite

Assez de théorie : à la prochaine séance, tu vas suivre un paquet à la trace, sur ta propre machine, et voir de tes yeux par quels routeurs il passe.