DNS : présentation et définitions
Sommaire
I. Présentation
C’est à la demande du DARPA (Defense Advanced Research Projects Agency) que John POSTEL et Paul MOCKAPETRIS ont conçu le protocole du DNS, en 1983 et en ont effectué la première réalisation concrète. Il s’agit essentiellement d’un annuaire permettant de traduire les adresses réseau IP, propres à Internet, en noms de domaine plus explicites.
Les adresses IP sont généralement numériques afin d’être plus facilement interprétées par les machines. D’après le protocole IPv4, ces adresses sont sous la forme d’une valeur numérique de 4 octets allant d’une valeur 0 à 255 (système décimal), séparés par un ‘.’.
RAPPEL : dans le protocole IPv6, les adresses IP sont non plus de 4 octets de 32bits, mais de 8 octets de 16bits chacun (système hexadécimal).
II. Le rôle du DNS
Effectuer la résolution de noms de domaine, consiste principalement à trouver l’adresse IP qui lui est associée. Au sein de cet annuaire, les noms de domaines peuvent être également associés à d’autres notions que des adresses IP. On peut trouver des informations concernant la lutte contre le spam, de sécurisation des informations DNS ou d’association de numéros de téléphone vers des adresses de messagerie.
Au départ, avec le modèle TCP/IP, comme les réseaux étaient très peu développés, le nombre d’équipements connectés à ce type de réseau était assez faible. En termes d’administration, il suffisait alors simplement de créer des fichiers d’équivalence : {Adresse IP/Nom de machine}. Ces fichiers servaient de table de conversion et sous des systèmes tels que GNU/Linux ou Unix, il s’agissait de fichier hosts.
Avec le développement et l’explosion de la taille des réseaux TCP/IP, et de leur interconnexion, la demande en adresses a été telle qu’il a fallu imaginer un autre système d’administration des adresses et des noms d’hôtes. Car, jusque-là la gestion de faisait manuellement en éditant les fichiers /etc/hosts, lors de chaque ajout ou suppression de nouvelles adresses sur le réseau. C’est pourquoi il a été imaginé le modèle hiérarchisé et plus facilement administrable du Domain Name System.
REMARQUE : le modèle DNS a été développé en 1983 et est décrit dans les RFC882 et RFC883. Ce modèle a été révisé en 1987 et a fait l’objet des RFC1034 et RFC1035. Depuis 1987, le modèle a été modifié et retouché de nombreuses fois et a également fait l’objet de nombreuses autres RFC.
III. Eléments constituants le service DNS
Le DNS propose alors les éléments suivants :
- Un espace de noms hiérarchique garantissant l’unicité d’un nom dans sa structure arborescente (un peu à la façon dont est architecturé le système de fichiers Unix/Linux.
- Un ensemble de serveurs distribués, permettant d’accéder à l’espace de noms.
- Un ensemble de clients interconnectés, résolvant les noms de domaines en interrogeant les serveurs, au travers de requêtes, afin de connaître l’adresse IP d’un nom correspondant.
ATTENTION : le sigle DNS peut, selon ce que l’on souhaite désigner, représenter plusieurs notions simultanées :
- Domain Name System : désigne l’ensemble des organismes de gestion des noms de domaine.
- Domain Name Service : désigne le protocole d’échange d’informations concernant les domaines.
- Domain Name Server : désigne l’hôte sur lequel fonctionne le logiciel serveur comprenant à le protocole DNS permettant de répondre aux requêtes concernant un domaine particulier.
IV. Le protocole DNS
Le protocole DNS est associé au service du même nom. Pour le transport, le protocole DNS s'appuie sur l'UDP pour les requêtes standards, sur le port 53. En l'absence de retour d'état du protocole UDP, il n'est pas recommandé de l'utiliser les transferts de zones DNS, où l'on va préferer le transport via TCP.