Si au moins une fois vous avez surfé sur Internet ou envoyé un email, sans le savoir, vous avez eu affaire à un DNS (Domain Name Server). Le DNS est un élément fondamental du fonctionnement du Web, mais étant caché à la plupart des utilisateurs du réseau, rares sont ceux qui savent comment cela fonctionne.
Le système DNS peut être décrit brièvement comme la plus grande base de données distribuée sur la planète entière où tous les sites Web existants sont catalogués. Sans cette base de données, Internet n’existerait pas !
Pour naviguer sur Internet, nous utilisons généralement des noms de domaine
Lorsque nous demandons à notre navigateur de visiter un domaine, il n’utilise pas ce nom pour y accéder, mais il a besoin de son adresse physique : l’adresse IP. Il s’agit d’un code composé de 4 chiffres séparés par des points (exemple: 66.218.71.198) qui identifie de manière unique un domaine sur le Web.
Le DNS est le système qui s’occupe de ce travail de transcodage. Il doit contenir une table de correspondance entre le nom de domaine et l’adresse IP et doit être capable de répondre aux demandes de transcodage qui lui parviennent.
Ceux qui comprennent un peu la science informatique pourraient considérer le travail du DNS comme plutôt simple et, théoriquement, auraient raison. Le vrai problème auquel un DNS doit faire face est celui de l’énorme quantité de données à gérer. En effet, nous devons considérer qu’il y a des milliards de domaines à gérer et que chaque jour des millions de nouvelles demandes et modifications sont apportées.
Le DNS n’est rien d’autre qu’une grande archive hiérarchisée et distribuée qui assure les correspondances entre les domaines et les adresses IP.
En outre, il faut considérer que des milliards de personnes dans le monde entier accèdent à Internet chaque jour, ce qui représente des milliards et des milliards de requêtes adressées à des serveurs DNS devant fournir les adresses IP des domaines demandés.
Les fonctionnalités du DNS
Le DNS est conçu pour faire deux choses :
- Accepter les demandes des programmes pour convertir les noms de domaine en adresses IP,
- Accepter les demandes d’autres DNS pour convertir les noms de domaine en adresses IP.
Lorsque l’une de ces deux demandes arrive, le DNS peut faire plusieurs choses :
- Répondre à la demande s’il connaît l’adresse IP du domaine,
- Contacter d’autres DNS et leur adresser la demande,
- Répondre “Je ne connais pas l’adresse IP du domaine demandé mais je connais l’adresse DNS qui le connaît”,
- Répondre avec un message d’erreur si le domaine demandé est inexistant ou incorrect.
Lorsque nous tapons une adresse URL dans notre navigateur, la première chose que le logiciel doit faire pour accéder à cette page est de trouver l’adresse IP du serveur qui l’héberge. C’est pour cette raison qu’il est possible, pour augmenter votre vitesse de navigation, de configurer des serveurs DNS différents des serveurs par défaut fournis par votre fournisseurs d’accès.
De même pour ceux qui ont un site Web et veulent le rendre toujours accessible aux utilisateurs, disposer rapidement de serveurs DNS fiables est d’une importance capitale.
Pour rendre le système encore plus efficace, de nombreux DNS sur le réseau prennent en charge la fonction de cache, c’est-à-dire qu’ils stockent les adresses IP des domaines déjà demandées afin de ne pas avoir à demander des informations aux autres serveurs DNS. Afin d’éviter tout désalignement, cette information dans le cache devra avoir une durée de vie inférieure aux données présentes sur le serveur DNS faisant autorité sur le domaine.