Le DNS

L'association d'un service, hôte ou site internet à une adresse ip n'est pas facilement envisageable pour un être humain qui devrait retenir de nombreuses adresses inutilement. Pour répondre à ce problème le service DNS a été mis en oeuvre et permet d'associer une adresse IP à un FQDN (Fully Qualified Domaine Name) ou à un service internet.

Le protocole DNS est donc en quelque sorte une base de données répartie contenant des enregistrements (RR : Resource Record) concernant les noms de domaine, cette base de données doit être configurée sur un serveur, appellé serveur DNS, chose qui requiert des connaissances techniques.

Chaque enregistrement présent dans le domaine possède une valeur de durée de vie, dite TTL (Time To Live) et qui représente donc la date d'invalidité du dit enregistrement. Cela permet ainsi aux serveurs intermédiaires de savoir s'ils doivent rafraichir l'enregistrement ou non, via une nouvelle requête DNS.

Voilà à quoi ressemble la structure d'un enregistrement DNS :

 Nom de domaine (FQDN)  TTL  Type  Classe  RData 
  • Nom de domaine: Fully Qualified Domain Name. Il doit se terminer par un point pour éviter que le nom de domaine sur lequel il est hébergé ne s'ajoute à la fin.
  • Type: une valeur sur 16 bits spécifiant le type de ressource décrit par l'enregistrement ex:
    • A: correspondance entre un nom canonique et une adresse IP
    • CNAME: permet de créer un alias (plusieurs noms de services différents pour une même machine)
    • MX (Mail eXchanger): permet d'associer un nom de domaine à un serveur de messagerie
    • ...
  • Classe: la classe peut être soit IN (correspondant aux protocoles d'internet, il s'agit donc du système utilisé dans notre cas), soit CH (pour le système chaotique)
  • RData: données correspondant à l'enregistrement (adresse IP, autre nom de domaine etc...)

Ainsi, à partir d'un nom de domaine, un utilisateur (ou plus généralement une application) retrouvera l'adresse IP correspondante. Ceci se fait via une requête vers un serveur DNS du type : "Quelle est l'adresse de www.test.com. ?"

Il est aussi possible de réaliser la requête inverse, c'est à dire d'obtenir un nom de domaine à partir d'une adresse IP. C'est ce que l'on appelle la résolution inverse.

schéma dns

Comme on peut le voir sur ce schéma, une requête DNS peut être résolue de différentes manières:
Premièrement si un enregistrement dans un fichier host en local sur la machine correspond au nom recherché dans la requête. Ensuite la réponse peut provenir du serveur DNS par défaut configuré sur la machine, de son cache ou de ses enregistrements, finalement si cela n'aboutit pas la requête est propagée sur le réseau jusqu'à ce qu'elle soit résolue. en partant des serveurs racines, aux TLD (Top Level Domain) jusqu'au serveur contenant l'enregistrement.



© Alexandre Cusin-Panit et Nicolas Duthilleul