A Quoi Ça Sert ?

Transcription

A Quoi Ça Sert ?
NOTE DE RECHERCHE
Les DNS
A Quoi Ça Sert ?
Nadim J. HENOUD
SOMMAIRE
1. Introduction ........................................................................... p.3
2. Historique .............................................................................. p.4
a. La Phase Pré-DNS ........................................................... p.4
b. La Création de DNS ......................................................... p.4
3. Le Fonctionnement de DNS ..................................................... p.5
a. L’arbre Hiérarchique ....................................................... p.5
b. Le Méchanisme de Résolution ......................................... p.7
4. Conclusion .............................................................................. p.8
1. Introduction
Depuis les lustres des temps, l’homme recherche à communiquer avec l’autre à travers
différents outils. Avant l’apparition des technologies de télécommunication, le seul moyen de faire
passer un message « long distance » était d’adresser une lettre au destinataire. Cependant, pour faire, le
destinateur devait écrire l’adresse sur le dos de l’enveloppe pour que sa lettre arrive quel que soit les
intermédiaires qu’elle utilise pour arriver à l’autre bout. Peu après, et vu l’importance du courrier
circulant, sont apparus les boîtes postales qui permettent au destinateur de simplifier son écriture
d’adresse en indiquant le numéro de boîte postale du destinataire et ce numéro est traduit par la poste
en adresse complète et adresser alors à l’autre bout.
Tout comme pour le courrier traditionnel, les machines ont besoin, pour s’adresser des
messages, d’adresses indiquées à priori par l’utilisateur. Ainsi, pour consulter un site web, l’utilisateur
doit obligatoirement indiquer au browser, l’adresse du serveur d’où il doit retirer la page désirer. Cette
adresse n’est autre que l’adresse IP du serveur composé de quatre numéros décimaux séparés par des
points (ex : 192.168.0.1). Cependant, cette forme d’adressage n’est point accommodée à la nature
humaine, surtout avec l’apparition de IPv6 ; adressage 4 fois plus longue. D’où le besoin de la
transformer en forme beaucoup plus pratique et mémorisable. Solution : transformer la série de
numéros en une série de caractère ou nom de domaine beaucoup plus proche au monde humain.
Conséquence directe de ce besoin : l’apparition d’un service de translation de nom de domaine en
adresse IP.
Ainsi, nous traiterons dans ce qui suivra, l’apparition des DNS et la phase pré-DNS, comment
fonctionnent les DNS et nous conclurons avec l’utilité des DNS.
2. Historique
2.1 La Phase pré-DNS
Dès la création des réseaux informatiques, l’identification des machines à l’aide
des noms, au lieu des numéros utilisés par les machines pour identifier les unes des autres, fut
la première occupation des ingénieurs informatiques. En effet, dès la création de ARPAnet,
premier réseau informatique, les machines, s’identifiants entre elles par leurs adresses IP,
furent dotées de noms plus proche au monde humain que les numéros. Cependant, ces noms
devaient être translatés en adresses IP pour interfacer les requêtes humaines en requêtes
informatiques et par suite utilisables entre les machines. Dans cette phase là, vu la petite taille
du réseau, un fichier HOSTS.TXT, stockant des tables de résolution de nom de machine en
adresse IP, était téléchargé par chaque station de l’ARPAnet à partir du serveur SRI (aujourd’hui
SRI International) et permettait alors l’utilisation des noms à la place des numéros. Cependant,
avec l’expansion de l’ARPAnet, et la création ensuite de l’Internet, continuer avec un tel
système se révélait impossible vu le nombre géant de machine sur le réseau, et la dimension
conséquente du fichier HOSTS.TXT, et le téléchargement inutile de toutes les translations que
l’utilisateur n’aurait surement pas besoin. Résultat direct de cet état : la création d’un service
complémentaire qui pourra résoudre les chaînes de caractères en adresse IP soit le DNS ou
Domain Name System.
2.2 La création du DNS
Le DNS fut inventé par Paul Mockapetris, suite à la demande de Jon Postel, en
1983. Les spécifications originales sont apparues sous forme de RFC 882 et 883. Novembre
1987, les RFC 1034 et 1035 mirent à jour les spécifications du DNS et rendirent leurs
antécédents obsolètes. En 1984, la première implémentation, BIND (Berkley Internet Domain
Name) sur plateforme UNIX, fut développée par quatre étudiants de l’université de Berkley et
maintenue depuis. Dans les années `90, BIND fut portée sur plateforme Windows NT.
Cependant, plusieurs autres serveur/résolveur furent développés et ce à cause des failles de
sécurités de BIND.
3. Comment fonctionne le DNS
Le DNS est formé de trois entités primaires : le serveur, le résolveur et bien sur le client.
Le client demande une connexion à une machine en l’identifiant par son nom. Le résolveur
saisit ce nom et envoie une requête DNS au serveur suite à la consultation de l’arbre
hiérarchique et tables de résolutions envoie l’adresse IP de la machine en question.
3.1 L’arbre hiérarchique DNS
Inspiré par le système de fichier de la plateforme UNIX, Paul Mockapetris
imagina un arbre similaire pour les noms de domaines. L’arbre est formé d’une racine à partir
de laquelle découlent plusieurs branches qui à leur tour sont divisées en plusieurs autres sousbranches et ainsi de suite jusqu’à une profondeur maximale fixée à 127 nœuds, un nombre plus
suffisant et quasi-impossible à atteindre. Chaque nœud est identifié par une étiquette de
longueur maximale de 63 caractères, l’étiquette NULL étant réservé à la racine.
Le nom complet du domaine consiste en une concaténation des étiquettes des
nœuds en remontant l’arbre vers la racine. Cependant, le nom complet d’un domaine ne doit
présenter aucune ambigüité. A cet effet une restriction a été imposé : 2 nœuds du même
niveau et appartenant au même nœud parent ne peuvent avoir la même étiquette.
Un domaine est un sous-ensemble de nœud de l’arbre. En d’autre terme, un domaine
est l’ensemble d’un nœud parent et de tous les nœuds qui en découlent.
3.2 Le mécanisme de résolution
En théorie, l’utilisateur désirant communiquer avec une certaine machine envoie
une requête de résolution au serveur DNS dont il connait déjà l’adresse IP. Une fois qu’il a la
réponse et par suite l’adresse IP du destinataire, il l’utilise pour destiner son trafic. Cependant,
pour faciliter la tache aux utilisateurs, la résolution se fait par l’application de façon
transparente. Ainsi, l’utilisateur adresse directement ses données au destinataire en
l’identifiant par son nom de domaine complet. Un intermédiaire, intégré dans l’application, le
résolveur, se charge d’adresser, en début de connexion, une requête DNS au serveur et par
suite d’adresser le message de son client à l’adresse IP qu’il a obtenu suite à sa requête. De
plus, pour économiser la bande passante, la translation nom de domaine – adresse IP est
stockée localement dans une table spéciale et par conséquent, le résolveur adressera
directement les messages suivants à la même adresse IP sans avoir recours au serveur DNS.
Bien entendu, les entrées de la table ont une période de vie au bout de laquelle elles sont
détruites, et ce pour éviter la confusion au cas où la translation n’est plus valide et ce dans le
cas de changement d’adresse IP de la machine destinataire. Reste une question à poser : que ce
passe-t-il si le serveur DNS n’a pas la translation requise ? Eh bien, tout simplement, le serveur
DNS, à qui l’on passe sa requête, est connecté à d’autres serveurs plus importants et à qui il
relayera la requête.
4. Conclusion
Comme nous venons de le voir, le système DNS sert à familiariser le langage des
machines. C’est tout simplement un système de translation de nom de domaine utilisé par les
humains en adresses électroniques IP utilisées par les machines. En d’autres termes, ce système
est indispensable au bon fonctionnement de l’Internet, non du point de vue technique, mais
surtout du point de vue pratique. En effet, sans DNS, Internet pourra toujours fonctionner mais
il sera plutôt réservé aux experts. Ce car DNS, contrairement à IP par exemple, est justement un
ustensile pour faciliter la tache aux utilisateurs et non un protocole de base utilisé pour les
communications… Ceci est bien évident : Essayez de taper http://207.68.173.76 au lieu de
http://www.msn.com. Et bien, vous arriverez à la même page… cependant lequel est-il plus
facile à mémoriser ? Et bien, c’est ici le rôle crucial de DNS et des serveurs DNS.

Documents pareils