Le Domain Name System ou DNS

Lorsque nous nous rendons sur un site web, il nous suffit à défaut de rechercher sur un moteur de recherche, de saisir son url dans la barre du navigateur ou de tout programme se connectant à internet. Chaque site web possède une url qui est lui est propre et grâce à laquelle nous pouvons nous y rendre. Cette url est composée du nom de domaine du site en question. Ce nom de domaine existe grâce à un système appelé Domain Name System, abrégé DNS. Ce système de nom de domaine permet à l’internaute de retrouver de façon intuitive le site web qu’il souhaite visiter.

Qu’est-ce que le Domain Name System ?

Encore appelé DNS, le Domain Name System est un système informatique qui permet de transcrire le nom de domaine alloué à un site internet en l’adresse IP correspondant. Concrètement, lorsque l’on saisit notre url ou lorsque notre moteur de recherche nous redirige vers un site web, celui-ci est répertorié par son nom. Ce nom appelé nom de domaine est lié à une adresse IP qui lui correspond. Il joue un rôle important dans l’ensemble des systèmes informatiques des FAI.

Rôle du DNS

Pour comprendre son principe de fonctionnement, tâchons de définir le rôle du DNS.
Prenons un exemple. Lorsque nous cherchons à contacter une personne ou un organisme par téléphone, nous composons son numéro de téléphone. Imaginons alors que nous souhaitions contacter cette personne ou cet organisme fréquemment. Il devient fastidieux d’avoir à saisir le numéro de téléphone. Il vaut mieux enregistrer ce numéro et lui allouer un nom de contact dans notre répertoire téléphonique.
Le Domain Name System fonctionne sur le même principe. Chaque site internet sur la toile est joignable grâce à son adresse IP. On peut faire l’analogie avec le numéro de téléphone. Le problème est que la saisie d’une adresse IP composée généralement de plusieurs caractères est fastidieuse. Avec un système d’adressage en IPV6, cela s’avère encore plus ennuyeux. Puisque cela reviendrait à saisir une adresse de cette forme «     xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx ».
Le Domaine Name System est composé de serveurs DNS qui constituent ainsi un répertoire ou un annuaire recensant les adresses IP de chaque site web en les associant à leurs noms de domaines respectifs. Lorsque vous vous rendez sur le site de notre agence SEO www.pixalione.fr par exemple, l’ordinateur interroge le serveur DNS pour savoir à quelle adresse IP correspond le nom de domaine envoyé par l’utilisateur.
Au-delà d’un rôle purement pratique, le protocole DNS peut être un outil utilisé à des fins de sécurité. Un fournisseur d’accès internet peut à cet effet limiter les services offerts en refusant de traduire le nom de domaine saisi vers l’IP correspondant. C’est le cas notamment lorsqu’il s’agit de sites présentant des activités illégales.

Comment fonctionne le DNS ?

Le Domain Name System a donc été créé pour faciliter l’accès des internautes aux différents réseaux connectés comme internet. Les ordinateurs ne communiquant que via des adresses IP difficilement assimilables par l’homme, le DNS se comporte comme un répertoire téléphonique ou un annuaire recensant et délivrant les correspondances entre nom de domaine et adresse IP correspondant.
Pour y parvenir, le DNS fonctionne sur un modèle hiérarchisé dont le déploiement nécessite plusieurs serveurs prenant en charge un espace de noms disponible grâce à un système de serveurs distribués. En plus de ces fonctions, un système de clients permet la « résolution » des noms de domaines, c’est-à-dire l’interrogation des serveurs afin de recevoir l’adresse IP correspondant au nom en question. Analysons ces informations plus en détail.

1-  L’espace de noms

Le DNS est structuré est arborescence. À la tête de cette structure se trouve un domaine racine. La gestion de ce domaine racine est opérée par 13 serveurs DNS selon une nomenclature « <x>.root-servers.net » où « x » représente une lettre allant de « a » à « m ». Des domaines de niveau supérieur ou Top Level Domain (TLD) en anglais sont définis dans cette structure et descendent du domaine racine. Les TLD sont en fait les extensions de nos noms de domaines. Par exemple, pour le site www.pixalione.fr, le « .fr » est le TLD. Il existe 295 TLD tous connus de chacun des serveurs racines.
On retrouve par la suite des domaines sous-jacents aux domaines de niveau supérieur. On les appelle des domaines de second niveau ou Second Level Domain (SLD) en anglais. Par exemple, pixalione.fr est un domaine de second niveau du TLD .fr. À ce niveau, plusieurs milliers de serveurs sont mis à contribution pour la transcription en adresse IP.
Tout en bas, on retrouve le nom d’hôte. C’est le dernier maillon de la chaîne de l’espace de noms. C’est par exemple le « www » dans www.pixalione.fr .
Chaque nœud de cette structure est séparé de son sous-jacent par un point «.» . La concaténation du TLD, SLD, hôte, et des points respectifs des nœuds désigne le Fully Qualified Domain Name (FQDN) ou Nom de domaine complètement qualifié. L’arborescence peut descendre jusqu’à 127 niveaux et le FQDN peut avoir une longueur maximale de 255 caractères. Lorsque l’on parle de domaine, on parle en réalité du TLD

2-  Les serveurs de noms

Les serveurs de noms de domaines sont des machines permettant d’établir une correspondance entre le nom de domaine et l’adresse IP des ordinateurs du réseau. Chaque domaine dispose d’un serveur de noms de domaines appelé Primary Domain Name Server ou Serveur de nom de domaine primaire. En cas d’indisponibilité, un Secondary Domain Name Server munie de la même base de données que le premier prend le relais.

3-  Résolution de nom de domaine

La résolution de nom de domaine désigne le mécanisme qui consiste à trouver l’adresse IP assignée au nom de l’hôte. Cette opération est réalisée grâce à une application généralement installée sur le système d’exploitation. On l’appelle le Resolver.
Ainsi, pour atteindre le site de notre agence SEO « www.pixalione.fr », cette application va se connecter au serveur de noms de domaines défini dans ses paramètres réseau. Une requête est ainsi envoyée au Primary Domain Name Server. Si celui-ci ne répond pas, une seconde est faite au Secondary Domain Name Server. Si le serveur retrouve le nom de domaine dans son cache, il le retourne à l’application. Dans le cas contraire, il interroge un serveur racine. Dans notre exemple, à celui gérant le TLD « .fr ».