Zone DNS

Le Domain Name System (DNS) est un système hiérarchique à l'échelle mondiale permettant de gérer les données associées à des domaines sur Internet. Un domaine est un nom lisible par l’homme qui peut être facilement mémorisé et saisi à la main. L’un des principaux objectifs du DNS réside dans la résolution de nom, c’est-à-dire la mise en correspondance de noms de domaine avec des adresses IP. Le DNS constitue ainsi l’un des piliers de la structure technique d’Internet. Voici quelques exemples de résolution de nom :

Nom de domaine interrogé Adresse IP renvoyée
« example.com » « 93.184.216.34 »
« ionos.fr » « 217.160.86.7 »

D’un point de vue technique, le DNS est composé d’un réseau de serveurs de noms. Mais quel est le lien entre les noms de domaine et les serveurs de noms ? Où se trouvent les informations dans les faits et comment les informations des différents domaines sont-elles séparées ? Pour vous aider à mieux comprendre, nous vous expliquons ici le terme « zone DNS »

Qu’est-ce qu’une zone DNS ?

Le terme zone DNS, traduction littérale de l’expression anglaise « DNS zone », vient d’une spécification publiée par l’Internet Engineering Task Force (IETF) en 1987. Le document RFC 1035 « Domain Names - Implementation And Specification » présente la relation entre les serveurs de noms et la zone DNS :

Citation

« Les serveurs de noms gèrent deux types de données. Le premier type de données est contenu dans des ensembles qu’on appelle « zones » ; chaque zone tient lieu de base de données complète pour une sous-partie donnée de l’espace des noms de domaine. Ces données font autorité (ang. « authoritative »). » – Internet Engineering Task Force (IETF), Source : https://tools.ietf.org/html/rfc1035, traduction : IONOS

(En anglais : « Name servers manage two kinds of data. The first kind of data held in sets called zones; each zone is the complete database for a particular "pruned" subtree of the domain space. This data is called authoritative. »)

Qu’est-ce qu’un fichier de zone DNS ?

Le fichier de zone DNS, également appelé « fichier de zone » en français, sert de base technique pour l’enregistrement des informations DNS d’une zone. Il s’agit d’un fichier texte enregistré dans le système de fichiers d’un serveur. La structure d’un fichier de zone DNS est également précisée dans le document RFC 1035 évoqué plus haut. Par définition, la structure d’un fichier de zone est basée sur des lignes, avec à chaque fois une directive ou un enregistrement de ressources par ligne.

Les directives commencent avec un signe dollar « $ » et indiquent au serveur d’effectuer une action ou d’appliquer un réglage à la zone. L’instruction « $INCLUDE » permet par exemple d’intégrer d’autres fichiers de zone subordonnés. Cette option est utile pour modulariser les entrées du fichier de zone. Habituellement, toutes les directives sont listées en début de fichier de zone.

Un fichier de zone faisant référence à un serveur de noms spécifique peut être disponible en tant qu’original éditable. Dans ce cas, le serveur hébergeant ce fichier est un serveur DNS primaire. Si le fichier de zone est uniquement disponible en tant que copie en lecture seule obtenue auprès d’une source externe, on parle alors de serveur DNS secondaire. Un fichier de zone peut décrire une zone DNS en faisant autorité ou renfermer le contenu d’un cache DNS. Penchons-nous à nouveau sur la définition indiquée dans la requête RFC 1035 :

Citation

« Le deuxième type de données correspond aux données présentes dans le cache obtenues par un résolveur local. Bien qu’incomplètes dans certains cas, ces données permettent d’augmenter la rapidité de la consultation en cas d’accès répété à des données distantes. Les données contenues dans le cache sont supprimées après un certain délai. » – Internet Engineering Task Force (IETF), source : https://tools.ietf.org/html/rfc1035, traduction : IONOS

(En anglais : « The second kind of data is cached data which was acquired by a local resolver. This data may be incomplete, but improves the performance of the retrieval process when non-local data is repeatedly accessed. Cached data is eventually discarded by a timeout mechanism. »)

Si le serveur ne parvient pas à trouver une zone, par ex. en raison d’une erreur technique dans le fichier de zone, le serveur de noms répond à une requête correspondante avec l’erreur NXDOMAIN.

Note

En langage technique, les termes « zone DNS », « DNS zone » et « fichier de zone DNS » sont souvent utilisés comme des synonymes.

Quels types de zones DNS existe-t-il ?

Le terme zone DNS est utilisé pour plusieurs concepts, parfois bien distincts. Nous vous présentons ici une liste des termes les plus utilisés.

Zone DNS racine

La zone DNS racine est le niveau hiérarchique le plus élevé dans l’espace de noms DNS. Dans le nom de domaine, elle est représentée par un point final. Si un nom de domaine comporte un point final, on parle également de « Fully Qualified Domain Name » (FQDN). « example.com. » est par exemple le FQDN du domaine « example.com ». Dans le FQDN, on peut observer un point final après le « .com ».

La zone DNS racine se reflète dans les 13 serveurs de noms racines du DNS et contient des informations sur les serveurs de noms faisant autorité pour les domaines de premier niveau (TLD pour Top Level Domains). Une requête adressée à un serveur de noms DNS racine permet par ex. de trouver un serveur de noms faisant autorité pour un domaine de premier niveau spécifique à un pays, également appelé domaine de premier niveau national (ccTLD pour Country Code Top Level Domain). Aujourd’hui, la zone DNS racine est signée avec DNSSEC afin de la protéger contre les réponses DNS falsifiées.

La limitation à 13 serveurs de noms DNS racines précisément est d’ordre technique. Les serveurs racines disposent des noms de domaine « a.root-servers.net » à « m.root-servers.net ». En utilisant la technologie Anycast, on peut disposer d’un nombre beaucoup plus important de serveurs physiques pour répondre aux requêtes adressées à la zone DNS racine. Le site internet officiel de la Root Server Technical Operations Association présente une liste des serveurs racines en précisant leur localisation géographique.

Recherche de zone DNS directe (« forward ») et inversée (« reverse »)

Le concept de zone DNS décrit jusqu’à présent et le fichier de zone correspondant servent à la « recherche DNS directe » (« Forward DNS Lookup »), c’est-à-dire à la résolution de noms de domaines en adresses IP. Dans le fichier de zone, on utilise des enregistrements « A » à cet effet. Le terme « Forward Zone » est souvent utilisé pour décrire un tout autre concept. Il s’agit de la transmission des requêtes DNS d’un résolveur DNS procédant à la mise en cache à un serveur de noms faisant autorité. Dans ce cas, « forward » est utilisé comme verbe, de la même façon que l’on « forward » (fr. transfère) un email par exemple.

De façon analogue au « Forward Lookup », il existe également le « Reverse DNS Lookup ». L’adjectif « reverse » (en français : « inversé ») renvoie au fait que le mécanisme est exactement l’inverse de celui appliqué dans la recherche de DNS directe : ici, les adresses IP des serveurs sont traduites en noms de domaine correspondants.

On entend par « zone de recherche inversée » un fichier de zone séparé définissant la résolution des adresses IP en noms de domaine. Un fichier de zone DNS inversé contient les mêmes enregistrements SOA et NS que le fichier de zone correspondant dans une recherche directe. Toutefois, on utilise des enregistrements « PTR » à la place des enregistrements « A ». Un enregistrement « PTR » associe au nom de domaine correspondant une adresse IP dotée du format « z.y.x.w.in-addr.arpa. ».

Zones DNS primaires et secondaires

Comme nous l’avons déjà évoqué, les termes « zone DNS » et « fichier de zone » sont souvent utilisés comme synonymes. Par conséquent, lorsqu’on parle de serveurs DNS primaires et de serveurs DNS secondaires, on parle également de zones DNS primaires et secondaires. On entend alors le fichier de zone enregistré sur un serveur DNS primaire ou secondaire.

Quelle est la différence entre zone DNS et serveur DNS ?

Une zone DNS est un concept administratif. Pour rappel, une zone DNS définit une partie de l’espace de noms DNS gérée par une organisation ou une personne spécifique. En revanche, un serveur DNS est un composant physique de l’infrastructure technique d’Internet. Un serveur peut faire autorité pour une ou plusieurs zones. Toutefois, il peut également s’agir d’un résolveur DNS ne faisant autorité pour aucune zone qui se contente de conserver les requêtes DNS déjà résolues dans le cache. Par conséquent, une zone DNS ne peut pas exister sans serveur de noms ; à l’inverse, un serveur de noms ne définit pas nécessairement une zone DNS.