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.