Le Domain Name System (DNS) permet à un in­ter­naute de taper le nom d’un domaine dans son na­vi­ga­teur et d’arriver au­to­ma­ti­que­ment sur le site souhaité. En réalité, la com­mu­ni­ca­tion entre les dif­fé­rents éléments d’un réseau se fait au moyen d’adresses IP. Les chiffres qui composent une adresse IP étant assez complexes, il nous suffit de taper le nom du site Internet. Celui-ci est alors au­to­ma­ti­que­ment traduit en une suite de chiffres. Mais comment se fait cette tra­duc­tion ?

Qu’est-ce que les DNS records ?

Lorsque vous tapez l’adresse d’un site Web dans votre na­vi­ga­teur, le système doit commencer par dé­ter­mi­ner l’adresse IP associée à ce domaine. Cette opération se fait parfois au niveau de la mémoire de votre or­di­na­teur. Parfois, elle est assurée au niveau d’une banque de données de votre four­nis­seur d’accès internet ou d’autres serveurs DNS. En cas de doute, l’or­di­na­teur peut aussi recourir à un serveur racine du DNS, un serveur qui fait office d’instance au­to­ri­taire, et qui gère tout le Domain Name System. Pour qu’une ré­so­lu­tion de nom puisse se faire, il faut en­tre­prendre une recherche dans la base de données des DNS, ou re­cher­cher le nom du serveur parmi les en­re­gis­tre­ments DNS, que l’on appelle aussi « DNS records » ou « en­re­gis­tre­ments de res­sources ». C’est là que sont en­re­gis­trées toutes les adresses IP (connues du serveur) avec les noms de domaines associés.

Le DNS est une base de données hié­rar­chique et dé­cen­tra­li­sée. À chaque niveau, il y a un serveur res­pon­sable de ce qu’on appelle l’espace de noms. Pour la recherche de l’adresse IP cor­res­pon­dant à www.example.com, le serveur racine ne pourra vous ren­seig­ner qu’à condition qu’il ait con­nais­sance du serveur res­pon­sable du Top-Level-Domain (TLD) .com. Il parcourt ainsi les dif­fé­rents niveaux pour procéder à la ré­so­lu­tion de noms. Con­crè­te­ment, l’adresse IP du véritable serveur Web ou du serveur de mes­sa­ge­rie est fi­na­le­ment rattachée à l’or­di­na­teur-hôte lui-même. C’est pourquoi il est important pour un pro­prié­taire de site de bien com­prendre le concept des en­re­gis­tre­ments de res­sources.

DNS gratuit
Réduisez le temps de char­ge­ment de vos pages Web
  • Ré­so­lu­tion de domaine rapide pour un site Web toujours dis­po­nible
  • Pro­tec­tion accrue contre les pannes et les temps d'arrêt
  • Pas de transfert de domaine né­ces­saire

Comment fonc­tion­nent les DNS records ?

Les en­re­gis­tre­ments DNS se trouvent tout d’abord dans les fichiers de zone. Dans un contexte DNS, une zone re­pré­sente un domaine organisé. Il est possible qu’un domaine ne soit composé que d’une seule zone. Les domaines plus im­por­tants ren­fer­ment cependant plusieurs zones. Chaque serveur DNS est res­pon­sable d'une zone. Si un Client souhaite in­ter­ro­ger un domaine spé­ci­fique, le serveur DNS re­cher­chera les en­re­gis­tre­ments cor­res­pon­dants dans les fichiers de zones, et procèdera suc­ces­si­ve­ment à des re­cherches dans les serveurs de niveaux in­fé­rieurs jusqu’à ce qu’il atteigne la cible.

La syntaxe des en­re­gis­tre­ments DNS

Les en­re­gis­tre­ments de res­sources res­pec­tent une structure simple et sont codés en ASCII. Chaque DNS record est associé à une ligne propre. Les en­re­gis­tre­ments répondent gé­né­ra­le­ment au format suivant :

<name> <ttl> <class> <type> <rdlength> <radata>

Chacune de ces in­for­ma­tions est séparée d’un espace, sachant que certaines données sont fa­cul­ta­tives. Certains types d’en­re­gis­tre­ments ren­fer­ment encore plus de champs. À quoi cor­res­pon­dent les prin­ci­paux champs d’en­re­gis­tre­ment DNS ?

  • <name> : le nom du domaine cor­res­pond à ce que l’in­ter­naute va taper dans son na­vi­ga­teur.
  • <ttl> : TTL ou « Time to live » (durée de vie) désigne la durée (en secondes) pendant laquelle l’en­re­gis­tre­ment DNS peut être conservé dans le cache. Après ex­pi­ra­tion de ce délai, il n’est pas certain que l’en­re­gis­tre­ment de la ressource soit encore valide. Cette in­for­ma­tion est fa­cul­ta­tive.
  • <class> : théo­ri­que­ment, les DNS records sont répartis en plusieurs classes. Dans la réalité, la plupart des en­re­gis­tre­ments DNS relèvent de la classe Internet (désignée comme IN). Cette in­for­ma­tion est donc fa­cul­ta­tive.
  • <type>: un fichier de zone renferme plusieurs types d’en­re­gis­tre­ments de res­sources (plus de pré­ci­sions sont données un peu plus bas).
  • <rdlength> : ce champ fa­cul­ta­tif précise la taille en octets du champ de données suivant.
  • <rdata> : les données de res­sources sont les in­for­ma­tions à partir des­quelles on va résoudre le nom du domaine, par exemple son adresse IP.

Pour le serveur internet example.com, ce sera donc :

www.example.com. 12879 IN A 93.184.216.34

Ici, un Client pourra conserver l’en­re­gis­tre­ment DNS dans son cache pendant 12 879 secondes (environ 3 heures et demie). Passé ce délai, il devra à nouveau in­ter­ro­ger le serveur DNS. Il s’agit d’un DNS record de type Internet (IN) et de type A (A). Le domaine est donc traduit à partir d’une adresse IP.

Il est possible d’ajouter encore une précision.

$TTL 12879
$ORIGIN example.com.
www A 93.184.216.34

Cette in­di­ca­tion précise que l’or­di­na­teur portant le nom www fait bien partie du domaine example.com. Cela permet d’ajouter d’autres or­di­na­teurs (mail ou ftp) dans le même domaine d'origine.

Note

Le nom d’un domaine se termine par un point final (en réalité, il commence par un point, car on le lit nor­ma­le­ment de la droite vers la gauche). Dans les DNS records, on utilise des Fully Qualified Domain Names (noms de domaines plei­ne­ment qualifiés) (FQDN) dans lesquels se trouve aussi le label racine, bien qu’il soit vide. On le trouve gé­né­ra­le­ment derrière le point.

Les prin­ci­paux types d'en­re­gis­tre­ments DNS

Un type d’en­re­gis­tre­ment permet de préciser le type d’in­for­ma­tion qui est contenu dans l’en­re­gis­tre­ment. En plus de la ré­so­lu­tion des noms de domaines à partir des adresses IP, les en­re­gis­tre­ments DNS ont d’autres fonctions.

L’en­re­gis­tre­ment A

La plupart des ré­so­lu­tions de noms sur Internet se font au moyen des en­re­gis­tre­ments de type A. Son champ de donnée renferme une adresse IPv4. Ces en­re­gis­tre­ments per­met­tent notamment à un in­ter­naute de saisir un nom de domaine dans le na­vi­ga­teur : l’or­di­na­teur envoie alors une requête HTTP à l’adresse IP cor­res­pon­dante. Une adresse IPv4 ayant toujours une taille de 4 octets, la valeur rdlength sera toujours 4.

L’en­re­gis­tre­ment AAAA

Un en­re­gis­tre­ment AAAA, aussi connu sous le nom de « quad-a », fonc­tionne comme un en­re­gis­tre­ment A, sauf qu’il a recours à une adresse IPv6 au lieu d’une adresse IPv4 pour résoudre le nom du domaine. Une adresse IPv6 ayant une longueur de 128 bits ou 16 octets, on précise ici la longueur du champ de données. La dé­sig­na­tion AAAA est une manière d’indiquer que cet en­re­gis­tre­ment DNS est quatre fois plus long qu’un en­re­gis­tre­ment A.

L’en­re­gis­tre­ment SOA

SOA signifie Start of Authority (début d’autorité). Les en­re­gis­tre­ments de ce type ren­fer­ment des in­for­ma­tions sur la zone, qui sont or­ga­ni­sées au moyen du fichier de zone ou du serveur DNS. Ils sont im­por­tants entre autres pour le transfert de zone : ce transfert consiste à répliquer une zone d’un serveur vers un autre pour parer d’éven­tuelles pannes. Le transfert de zone permet d’assurer une ré­pli­ca­tion fidèle du fichier d’origine. Dans un tel en­re­gis­tre­ment DNS, vous trouverez derrière l’adresse élec­tro­nique de l’ad­mi­nis­tra­teur un numéro de série. Celui-ci est in­cré­menté à chaque nouvelle mise à jour.

L’en­re­gis­tre­ment CNAME

Dans un en­re­gis­tre­ment CNAME (Canonical-Name-Record) on trouve un alias, c’est à dire un autre nom ap­pli­cable à un domaine. L’entrée renvoie à un en­re­gis­tre­ment existant, de type A ou AAAA. Pour ce type, le champ rdata indique le nom du domaine qui a été pré­cé­dem­ment relié au fichier à l’aide d’une adresse IP. Cela permet de renvoyer plusieurs adresses dif­fé­rentes vers le même serveur.

L’en­re­gis­tre­ment MX

Un en­re­gis­tre­ment MX renvoie à un Mail Exchanger ou à un serveur de mes­sa­ge­rie SMTP. On y en­re­gistre un ou plusieurs serveur(s) de mes­sa­ge­rie ap­par­te­nant au domaine cor­res­pon­dant. Si on utilise plusieurs serveurs de mes­sa­ge­rie, par exemple pour pallier d’éven­tuelles pannes, on doit préciser l’ordre de priorité. Le DNS sait alors dans quel ordre il doit in­ter­ro­ger les serveurs de mails.

L’en­re­gis­tre­ment PTR

Le PTR-Record (pointeur) est un DNS record qui permet un Reverse-Lookup (recherche inversée). Le serveur DNS peut ainsi donner des in­for­ma­tions sur les noms des hôtes qui sont associés à une adresse IP spé­ci­fique. Chaque adresse IP utilisée dans un en­re­gis­tre­ment de type A ou AAAA, est associée à un en­re­gis­tre­ment PTR. L’adresse IP est alors struc­tu­rée dans l’ordre inverse, avant d’être complétée par le nom d’une zone.

L’en­re­gis­tre­ment NS

Dans un en­re­gis­tre­ment NS, l’entrée du serveur de nom d’un fichier de zone, on vous indique la com­pé­tence d’une zone par­ti­cu­lière. Cette entrée est donc obli­ga­toire pour chaque fichier de zone. Cet en­re­gis­tre­ment de res­sources permet d’indiquer au serveur DNS s’il est compétent pour la requête, c’est-à-dire en charge de la zone, ou bien s’il doit trans­fé­rer la requête.

L'en­re­gis­tre­ment TXT

Le record TXT renferme du texte qui n’est pas destiné à des uti­li­sa­teurs, ni même à être lu par les machines. Cet en­re­gis­tre­ment DNS permet à un ad­mi­nis­tra­teur de sau­ve­gar­der du texte non-structuré (à la dif­fé­rence des données struc­tu­rées ren­fer­mées dans les autres en­re­gis­tre­ments DNS). Il peut par exemple renfermer des détails qui relèvent de l’en­tre­prise res­pon­sable du domaine.

L’en­re­gis­tre­ment SRV

Avec un en­re­gis­tre­ment SRV, vous pouvez informer un serveur d’autres services (SRV) proposés. Vous y inscrivez le service dis­po­nible, ainsi que le numéro de port. Vous pouvez aussi y entrer le protocole que vous souhaitez employer. Cette entrée DNS permet par exemple de donner à un client des in­for­ma­tions portant sur des services LDAP ou XMPP.

L’en­re­gis­tre­ment LOC

Un en­re­gis­tre­ment LOC permet de donner des in­for­ma­tions sur la position géo­gra­phique du serveur. À la fin de cet en­re­gis­tre­ment se trouvent des données quant à la latitude, la longitude et l’altitude au-dessus du niveau de la mer, ainsi que la précision de la position indiquée.

Conseil

Découvrez-en plus sur « Qu’est-ce que la pro­pa­ga­tion DNS ? » dans notre article détaillé.

Fichier de zone

Un fichier de zone (simple fichier texte) renferme la liste de tous les en­re­gis­tre­ments DNS. Pour que les données puissent être traitées cor­rec­te­ment, vous devez respecter certaines con­di­tions. Dans le cas contraire, le DNS ne peut pas fonc­tion­ner, et le Client voit s’afficher le message d’erreur SERVFAIL. C’est la raison pour laquelle on respecte une structure bien précise. On commence par indiquer le nom de la zone, suivi le plus souvent par la TTL. Ren­seig­ner la durée de vie juste après présente l’avantage de vous éviter d’avoir à préciser cette donnée dans chaque en­re­gis­tre­ment de res­sources. La TTL est alors ap­pli­cable à toute la zone.

$ORIGIN example.com.
$TTL 12879

Le premier en­re­gis­tre­ment DNS est un en­re­gis­tre­ment SOA. Celui-ci est obli­ga­toire pour que le fichier de zone puisse fonc­tion­ner. In­ver­se­ment, un fichier de zone reste valide même s’il ne renferme que l’en­re­gis­tre­ment SOA. Viennent ensuite les en­re­gis­tre­ments qui con­cer­nent les noms des serveurs, suivis des en­re­gis­tre­ments A et AAAA.

Si l’on veut ajouter des remarques dans un fichier, par exemple pour sim­pli­fier la tâche d’autres ad­mi­nis­tra­teurs, on utilise des points-virgules. On peut ainsi ajouter des in­for­ma­tions à la fin d’une ligne d’un DNS record sans que le serveur n’ait à traiter ces in­for­ma­tions. Pour struc­tu­rer les en­re­gis­tre­ments, vous pouvez in­cor­po­rer des lignes vierges. Celles-ci seront également ignorées au moment de l’in­ter­pré­ta­tion. À chaque en­re­gis­tre­ment, sa propre ligne. Un retour à la ligne marque la fin d’un en­re­gis­tre­ment. Si vous souhaitez malgré tout saisir un même en­re­gis­tre­ment sur plusieurs lignes, vous devez utiliser des pa­ren­thèses.

Un aperçu de tous les types d’en­re­gis­tre­ments DNS

En plus des types que nous venons de vous présenter, il existe un grand nombre d’autres types de res­sources que vous pourrez ren­con­trer dans les fichiers de zones, bien qu’ils soient moins fréquents. Le tableau ci-dessous vous présente l’ensemble des types suivis d’une ex­pli­ca­tion succincte.

Note

L’Internet Assigned Numbers Authority (IANA) dont la mission est de su­per­vi­ser l’al­lo­ca­tion des adresses IP, a assigné une valeur (un numéro d’iden­ti­fi­ca­tion) à chaque type de DNS record.

Valeur Type Des­crip­tion
1 A Address indique l’adresse IPv4 d’une machine.
2 NS Na­me­ser­ver définit l’autorité d’une zone.
3 MD Mail Des­ti­na­tion a été remplacé par MX-Record (obsolète).
4 MF Mail Forwarder a été remplacé par MX-Record (obsolète).
5 CNAME Canonical Name permet d’en­re­gis­trer un alias.
6 SOA Start of Authority donne des pré­ci­sions sur la zone.
7 MB Mailbox Domain Name a une valeur ex­pé­ri­men­tale.
8 MG Mail Group Member a une valeur ex­pé­ri­men­tale.
9 MR Mail Rename Domain Name a une valeur ex­pé­ri­men­tale.
10 NULL Null Resource a une valeur ex­pé­ri­men­tale.
11 WKS Well Known Service a été utilisé pour faire suivre des mails (obsolète entre temps).
12 PTR Pointer sert aux re­cherches inversées.
13 HINFO Host In­for­ma­tion donne des in­for­ma­tions sur le matériel et le logiciel de l’hôte.
14 MINFO Mailbox In­for­ma­tion a une valeur ex­pé­ri­men­tale.
15 MX Mail Exchange permet d’assigner un serveur de mails à un domaine.
16 TXT Text permet de saisir du texte com­plé­men­taire.
17 RP Res­pon­sible Person donne des in­di­ca­tions sur les personnes res­pon­sables.
18 AFSDB AFS Database est destiné aux Clients AFS.
19 X25 X.25 PSDN Address donne des pré­ci­sions sur le chif­fre­ment par X.25 (obsolète).
20 ISDN Cette valeur assigne un numéro ISDN au nom DNS (obsolète).
21 RT Route Through Record permet un lien de type « Route-through » sans adresse WAN (obsolète).
22 NSAP Cette entrée permet d’assigner des noms de domaines à des Network Service Access Points (obsolète).
23 NSAP-PTR NSAP Pointer a été remplacé par PTR (obsolète).
24 SIG Signature a été remplacé par RRSIG (obsolète).
25 KEY Key a été remplacé par IPSECKEY (obsolète).
26 PX Pointer to X.400 permet de définir des règles de MIXER-Mapping (obsolète).
27 GPOS Geo­gra­phi­cal Position a été remplacé par LOC (obsolète).
28 AAAA AAAA délivre l’adresse IPv6 d’une machine.
29 LOC Location renferme des in­for­ma­tions sur le lieu d’im­plan­ta­tion.
30 NXT Next a été remplacé par NSEC (obsolète).
31 EID Endpoint Iden­ti­fier a été conçu pour les ar­chi­tec­tures de routage Nimrod (obsolète).
32 NIMLOC Nimrod Locator a été conçu pour les ar­chi­tec­tures de routage Nimrod (obsolète).
33 SRV Service Locator donne des pré­ci­sions sur d’autres éventuels services.
34 ATMA ATM Address donne des in­di­ca­tions liées au mode de transfert asyn­chrone (obsolète).
35 NAPTR Naming Authority Pointer est une extension de l’en­re­gis­tre­ment de type A, au­to­ri­sant des modes de recherche (ex­pres­sions ré­gu­lières).
36 KX Key Exchange permet la gestion des clés en rapport avec le chif­fre­ment.
37 CERT Cert en­re­gistre des cer­ti­fi­cats.
38 A6 A6 a été remplacé par AAAA.
39 DNAME De­le­ga­tion Name donne des alias pour des domaines complets.
40 SINK Kitchen Sink permet d’en­re­gis­trer dif­fé­rentes données (obsolète).
41 OPT Option est un pseudo-en­re­gis­tre­ment utilisé en rapport avec l’EDNS qui est une extension du protocole Domain Name System.
42 APL Address Prefix List dresse la liste des adresses au format CIDR.
43 DS De­le­ga­tion Signer permet d’iden­ti­fier des zones signées DNSSEC.
44 SSHFP SSH Public Key Fin­ger­print permet de publier l’empreinte du serveur SSH.
45 IPSECKEY IPsec Key renferme une clé pour IPsec.
46 RRSIG RR Signature renferme une signature numérique pour le DNSSEC.
47 NSEC Next Secure relie des zones signées dans le DNSSEC.
48 DNSKEY DNS Key renferme une clé publique pour le DNSSEC.
49 DHCID DHCP Iden­ti­fier associe les noms de domaine avec les clients DHCP.
50 NSEC3 Next Secure 3 est une al­ter­na­tive à NSEC.
51 NSEC3PARAM Cette entrée renferme des Pa­ra­mètres pour NSEC3.
52 TLSA Cette entrée crée une TLSA Cer­ti­fi­cate As­so­cia­tion avec un nom de domaine dans le cadre du DANE.
53 SMIMEA Cette entrée crée une S/MIME Cer­ti­fi­cate As­so­cia­tion avec un nom de domaine.
54 n/a Non assigné.
55 HIP Host Identity Protocol sépare les rôles d'iden­ti­fi­ca­teur et de lo­ca­li­sa­teur dans les adresses IP.
56 NINFO NINFO donne des in­for­ma­tions quant au statut de la zone (structure identique à TXT ; obsolète).
57 RKEY RKEY en­re­gistre des clés (structure identique à KEY et DNSKEY ; obsolète).
58 TALINK Trust Anchor Link permet de relier deux noms de domaines (obsolète).
59 CDS Child DS est une « copie-enfant » d’un en­re­gis­tre­ment DS.
60 CDNSKEY Child DNSKEY est une « copie-enfant » d’un en­re­gis­tre­ment DNSKEY.
61 OPENPGP­KEY OpenPGP Key permet de dis­tri­buer les clés publiques.
62 CSYNC Child-to-Parent Syn­chro­ni­za­tion permet de syn­chro­ni­ser des zones « parents et enfants » (obsolète).
63 ZONEMD Message Digest for DNS Zone a une valeur ex­pé­ri­men­tale (obsolète).
64-98 n/a Non assigné.
99 SPF Sender Policy Framework a été remplacé par l’en­re­gis­tre­ment TXT (obsolète).
100 UINFO Réservé.
101 UID Réservé.
102 GID Réservé.
103 UNSPEC Réservé.
104 NID NodeID a une valeur ex­pé­ri­men­tale.
105 L32 32-bit Locator a une valeur ex­pé­ri­men­tale.
106 L64 64-bit Locator a une valeur ex­pé­ri­men­tale.
107 LP Locator Pointer a une valeur ex­pé­ri­men­tale.
108 EUI48 48-bit Extended Unique Iden­ti­fier permet de chiffrer des adresses.
109 EUI64 64-bit Extended Unique Iden­ti­fier permet de chiffrer des adresses.
110-248 n/a Non assigné.
249 TKEY Tran­sac­tion Key permet l’échange de clés secrètes.
250 TSIG Tran­sac­tion Signature sert à l’au­then­ti­fi­ca­tion.
251 IXFR In­cre­men­tal Zone Transfer permet de mettre à jour des parties d’un fichier de zone sur un deuxième serveur (obsolète).
252 AXFR AFXR permet de trans­fé­rer un fichier de zone complet vers un deuxième serveur (obsolète).
253 MAILB Mailbox gère les requêtes autour d’une mes­sa­ge­rie (obsolète).
254 MAILA Mail Forwarder a été remplacé par MX-Record (obsolète).
255 * * gère toutes les entrées (obsolètes).
256 URI Uniform Resource Iden­ti­fier permet d’assigner des noms d’hôte à des URI.
257 CAA Cer­ti­fi­cate Authority Au­tho­ri­za­tion permet de préciser les CA possibles pour un domaine.
258 AVC Ap­pli­ca­tion Vi­si­bi­lity and Control renferme des méta-données d’ap­pli­ca­tion pour le DNS-AS (obsolète).
259 DOA DOA n’est plus activé (obsolète).
260 AMTRELAY Automatic Multicast Tunneling Relay permet de trouver les relais AMT (obsolète).
261-32767 n/a Non attribué.
32768 TA DNSSEC Trust Au­tho­ri­ties permet d’utiliser le DNSSEC sans racine signée.
32769 DLV DNSSEC Lookaside Va­li­da­tion distribue des Trust Anchors (cer­ti­fi­cats de confiance) en dehors de la chaîne DNS.
32770-65279 n/a Non assigné.
65280-65534 n/a Réservé à un usage privé.
65535 n/a Réservé.
Aller au menu principal