DNS : qu'est-ce que c'est et comment ça marche

Publié: 2014-08-14

Le système de noms de domaine, ou DNS, est l'un des fondements les plus importants d'Internet. Il est responsable de notre capacité à nous connecter aux serveurs sans avoir à mémoriser de longues et encombrantes chaînes de chiffres. En tant que concepteur ou développeur, il est important de comprendre ce qu'est le DNS, comment il fonctionne et comment l'utiliser.

Qu'est-ce que le DNS ?

Arpanet_logical_map_mars_1977

Schéma de chaque ordinateur connecté à ARPANET, un prédécesseur d'Internet, en mars 1977

Dans les années 1970, il y avait si peu d'ordinateurs en réseau que chacun pouvait facilement tenir une liste manuelle de tous les autres ordinateurs. À l'époque d'ARPANET (un prédécesseur d'Internet), si un nouvel ordinateur était acheté et ajouté au réseau, le propriétaire le disait simplement à tous les autres utilisateurs d'ARPANET, qui ajoutaient simplement ce nouvel ordinateur à leur liste. Ce système fonctionnait bien lorsqu'il n'y avait que quelques dizaines d'ordinateurs reliés entre eux, mais s'est rapidement dégradé à mesure que l'informatique devenait moins chère et plus accessible au public. En termes actuels, cela équivaudrait à devoir informer le monde entier chaque fois qu'un nouveau site Web ou un nouveau service est lancé.

Au début des années 80, le DNS a été conçu pour résoudre ce problème en maintenant une liste faisant autorité des domaines et des ordinateurs vers lesquels ils pointent. Mais comment cela fonctionne-t-il exactement ? En termes techniques, le DNS est un système utilisé par presque tous les appareils connectés au réseau pour résoudre les noms de domaine avec les adresses IP associées. Considérez-le comme l'annuaire téléphonique d'Internet.

Lorsque vous saisissez une adresse Web telle que http://www.getflywheel.com dans votre navigateur Web, votre ordinateur ne sait pas automatiquement où aller. Il nécessite une adresse IP pour se connecter, mais vous lui avez fourni un nom de domaine, qui n'est qu'une chaîne de lettres. Les domaines permettent aux humains de se souvenir beaucoup plus facilement de l'emplacement des sites Web, mais ils ne sont pas ce dont un ordinateur a besoin pour établir une connexion. Au lieu de cela, votre ordinateur contacte un serveur DNS et lui demande l'adresse IP de ce site Web. Le serveur DNS répond et indique à votre ordinateur "http://www.getflywheel.com est situé au 192.241.128.208". Votre ordinateur saisit cette adresse IP du serveur DNS et l'utilise pour se connecter à l'adresse IP, qui à son tour affiche le site Web de Flywheel.

Demande_DNS

Comment les enregistrements DNS sont-ils gérés et définis ?

Le DNS est défini via des enregistrements DNS, qui contiennent des informations telles que l'adresse IP vers laquelle un domaine doit pointer, les sous-domaines, les paramètres de messagerie et même du texte arbitraire. Une fois qu'un domaine est acheté, le propriétaire spécifie des serveurs de noms faisant autorité pour le domaine. Ces serveurs de noms contrôlent les enregistrements DNS du domaine, qui sont saisis par d'autres serveurs DNS et propagés sur l'ensemble d'Internet. Généralement, si vous définissez vos propres enregistrements DNS, vous connaîtrez l'adresse IP de votre site Web. Par exemple, Flywheel vous fournira une adresse IP vers laquelle vous pouvez pointer un enregistrement de nom A.

Il existe plusieurs milliers de serveurs DNS à travers le monde, et ils se synchronisent tous ensemble pour conserver une trace de l'endroit où tout se trouve. Cependant, tous les serveurs DNS ne sont pas créés égaux.

Comprendre le fonctionnement du DNS est formidable. Besoin de le mettre en pratique ? Consultez notre super ebook gratuit sur les enregistrements DNS les plus courants et comment les utiliser.

La structure des serveurs DNS ressemble à un arbre à l'envers. Il y a 13 serveurs racine ou maîtres qui forment le tronc de cet arbre. Ils sont la copie maîtresse ultime du DNS. Toutes les données DNS doivent provenir d'un serveur racine ou d'un serveur qui a précédemment contacté un serveur racine et récupéré les données. Les serveurs racine constituent ce qu'on appelle la zone racine ou la zone DNS la plus autoritaire.

Au-delà de la zone racine, il existe des sous-zones contenant des domaines. Chaque domaine de premier niveau possède son propre enregistrement de zone, qui est ensuite divisé en domaines individuels, tels que http://www.getflywheel.com, appelés domaines de second niveau.

Cela devient un peu technique, alors regardons cela du point de vue de notre analogie avec l'arbre. La zone racine formant le tronc, chaque domaine de premier niveau, tel que .com ou .org, est une branche de ce tronc. Chaque site Web, tel que getflywheel.com, est une feuille qui sort de cette branche. Cette petite feuille est la zone dans laquelle un propriétaire de domaine a le contrôle DNS. Chaque branche serait un serveur de noms individuel, gardant une trace des branches et des feuilles qui en découlent.

Ainsi, lorsqu'un ordinateur demande getflywheel.com, il contacte d'abord un serveur racine, qui dit : « Vous recherchez un site Web .com. Allez parler au serveur de noms .com, qui se trouve ici. Ensuite, votre ordinateur parcourt la chaîne jusqu'au serveur de noms responsable de .com et lui demande plus de détails. Votre ordinateur contacte les serveurs jusqu'à ce qu'il trouve enfin le serveur de noms spécifié par le propriétaire du domaine. Ensuite, il détermine l'adresse IP associée au site Web et y accède. Votre ordinateur parcourt l'arborescence des serveurs le long des branches jusqu'à ce qu'il atteigne enfin la feuille qui contient la cible finale.

Hiérarchie racine DNS

Remarque : bien qu'il existe officiellement 13 serveurs DNS racine, tous sauf deux sont liés et distribués séparément à des dizaines de serveurs identiques via une technologie de routage appelée anycast . Anycast permet à plusieurs nœuds d'exister en tant que même entité. Lorsqu'un appareil se connecte à cette entité, il se connecte au nœud disponible le plus proche sur le réseau (ceci est différent de geocast , qui est utilisé dans les CDN, par exemple, où un appareil se connecte au serveur géographique le plus proche). Anycast permet de multiplier et de répartir les serveurs racine dans le monde entier, d'équilibrer la charge, d'accélérer les temps de réponse et d'éviter les points de défaillance uniques.

Toute cette chaîne de contacts avec les serveurs semble assez lourde et pénible à faire à chaque fois que vous souhaitez visiter un site Web. Heureusement, le DNS est fortement mis en cache, ce qui signifie que des copies sont fréquemment enregistrées sur des ordinateurs plus proches de vous, ce qui soulage les serveurs racine et accélère le chargement de vos requêtes. De nombreux FAI, entreprises, universités et même votre propre ordinateur conserveront des caches des requêtes DNS récentes. Si vous recherchez, par exemple, google.com, il est probable que votre ordinateur ait déjà enregistré l'adresse IP. Mais si vous recherchez un site Web auquel vous n'êtes jamais allé, il est possible que quelqu'un d'autre dans votre quartier ou votre entreprise y soit déjà allé, et la requête et les informations sont simplement stockées sur le serveur DNS de votre FAI.

Sans DNS, nous devrions chacun nous souvenir ou écrire l'adresse IP de chaque site Web et ordinateur que nous aimerions visiter. Heureusement, le DNS est une ingénierie incroyablement résiliente, fiable et impressionnante, qui garde une trace de tous nos sites Web et de nos communications afin que nous n'ayons pas à le faire.