Le DNS : du concept à la mise en œuvre
Présentation générale
Le Domain Name System (DNS) est le système qui traduit les noms de domaine lisibles par l’humain (ex. example.com) en adresses IP numériques compréhensibles par les machines (ex. 93.184.216.34). Sans cette couche d’abstraction, chaque utilisateur devrait mémoriser des suites de chiffres pour accéder à un site web ou à tout autre service réseau, ce qui serait impraticable à grande échelle.
En pratique, le DNS fonctionne comme un annuaire distribué, hiérarchisé et résilient, capable de répondre à des milliards de requêtes chaque jour à travers le monde.
Historique : date de création et créateur
| Première spécification du DNS | Octobre 1983 | Paul V. Mockapetris, RFC 882 « Domain Names – Concepts and Facilities » |
| Extension et clarification du protocole | Novembre 1983 | Paul V. Mockapetris, RFC 883 « Domain Names – Implementation and Specification » |
| Normalisation moderne (RFC 1034/1035) | Novembre 1987 | Paul V. Mockapetris, RFC 1034 « Domain Names – Concepts and Facilities », RFC 1035 « Domain Names – Implementation and Specification » |
Ces documents ont posé les bases de l’architecture hiérarchique, du modèle de résolution itérative et des différents types d’enregistrements (records).
Pourquoi le DNS ?
- Lisibilité – Les humains retiennent plus facilement des mots que des nombres.
- Scalabilité – Un annuaire centralisé serait un point unique de défaillance ; le DNS répartit la charge sur des milliers de serveurs.
- Flexibilité – Les enregistrements DNS permettent de pointer plusieurs services (site web, mail, services cloud…) vers différentes adresses IP, voire de changer de serveur sans toucher aux clients.
- Redondance et tolérance aux pannes – La hiérarchie et la réplication assurent la continuité même en cas de perte d’un serveur ou d’une liaison.
Principes de base
Architecture hiérarchique
racine (.) → serveurs racines
└─ TLD (com, org, net, fr, …) → serveurs de zone TLD
└─ Domaine de second niveau (example.com) → serveurs autoritaires
└─ Sous‑domaines (www.example.com, mail.example.com)
- Serveur racine : 13 ensembles (a–m) de serveurs répartis mondialement, chacun utilisant le protocole Anycast pour offrir plusieurs instances physiques.
- Serveur TLD : gère les zones de premier niveau (ex.
.com,.fr). - Serveur autoritaire : détient les enregistrements définitifs d’un domaine (ex.
example.com).
Résolution d’une requête
- Le client (résolveur récursif) interroge son résolveur local (souvent fourni par l’opérateur ou le fournisseur DNS).
- Si le résolveur ne possède pas la réponse en cache, il commence une résolution itérative :
- Interroge un serveur racine → obtient les adresses des serveurs TLD.
- Interroge le serveur TLD correspondant → obtient les serveurs autoritaires du domaine.
- Interroge le serveur autoritaire → reçoit l’enregistrement demandé.
- Le résolveur renvoie la réponse au client et la met en cache pendant la durée de vie (TTL) indiquée.
IPv4 et IPv6 dans le DNS
| A | Adresse IPv4 (32 bits) | 93.184.216.34 |
| AAAA | Adresse IPv6 (128 bits) | 2606:2800:220:1:248:1893:25c8:1946 |
| PTR | Enregistrement inverse (IP → nom) – utilisé pour la résolution inverse, tant en IPv4 qu’en IPv6. | 34.216.184.93.in‑addr.arpa. (IPv4) / 6.4.9.1.c8.5c.52.89.3.91.84.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. (IPv6) |
Le DNS a été conçu dès le départ pour supporter les deux familles d’adresses. Aujourd’hui, la plupart des zones publient simultanément les enregistrements A et AAAA afin d’assurer la compatibilité avec les clients IPv4 et IPv6.
Types de paquets (enregistrements DNS)
| A | Adresse IPv4 | Sites web, serveurs |
| AAAA | Adresse IPv6 | Sites web, serveurs IPv6 |
| CNAME | Alias canonique | Redirection de sous‑domaines |
| MX | Mail Exchange | Serveurs de messagerie |
| NS | Name Server | Déclaration des serveurs autoritaires d’une zone |
| SOA | Start of Authority | Métadonnées de zone (serial, refresh, retry, expire, minimum TTL) |
| TXT | Texte libre | SPF/DKIM, vérifications de domaine |
| SRV | Service | Découverte de services (ex. _sip._tcp.example.com) |
| PTR | Pointeur inverse | Résolution inverse d’IP |
| DS | Delegation Signer | Chaîne de confiance DNSSEC |
| DNSKEY | Clé publique DNSSEC | Validation cryptographique |
| CAA | Certification Authority Authorization | Contrôle des autorités de certification TLS |
Ces enregistrements sont définis dans les RFC 1035 et leurs extensions ultérieures (ex. RFC 7208 pour SPF, RFC 8659 pour CAA).
Le rôle des serveurs racines
- Pourquoi ce choix ?
- Robustesse – En limitant le nombre de points d’entrée (13 ensembles), le système minimise les risques de désynchronisation tout en offrant une redondance géographique massive grâce à l’Anycast.
- Performance – Les serveurs racines sont situés dans des centres de données à très haut débit, garantissant des temps de réponse minimaux pour la première étape de la résolution.
- Gestion centralisée – Le comité de gestion des racines (Root Server Management System, géré par l’ICANN) assure la cohérence et la mise à jour des adresses des serveurs TLD.
- Composition actuelle (au 2025) :
- A‑M – 13 identifiants, chacun pouvant regrouper plusieurs instances physiques (plus de 1000 serveurs réels).
- Opérateurs majeurs : Verisign, University of Maryland, NASA, RIPE NCC, JPRS, etc.
Registrars et registre (registry)
| Registrar | Interface commerciale permettant aux propriétaires de domaines d’enregistrer, renouveler ou modifier leurs zones. | Gandi, OVHcloud, Namecheap, Proton Domains (via Proton) |
| Registry | Organisation responsable de la gestion technique d’un TLD (mise à jour de la zone, politiques). | Verisign (.com/.net), AFNIC (.fr), PIR (.org) |
| ICANN | Autorité de coordination globale, supervise les politiques de registre et de registrar. | — |
Le processus d’enregistrement se déroule ainsi : le propriétaire achète le domaine auprès d’un registrar, qui transmet les informations au registry du TLD concerné. Le registry met à jour la zone du TLD, incluant les enregistrements NS pointant vers les serveurs autoritaires du domaine.
Normes et RFC majeurs
| 882 | Domain Names – Concepts and Facilities | Première description du DNS |
| 883 | Domain Names – Implementation and Specification | Implémentation initiale |
| 1034 | Domain Names – Concepts and Facilities | Architecture hiérarchique |
| 1035 | Domain Names – Implementation and Specification | Formats d’enregistrements, messages |
| 1912 | DNS Security Extensions (DNSSEC) | Authentification cryptographique |
| 2181 | Clarifications to the DNS Specification | Règles de validation des réponses |
| 2308 | Negative Caching of DNS Queries (NXDOMAIN) | Gestion du cache négatif |
| 2671 | DNS Extensions to Support IPv6 (AAAA) | Ajout du support IPv6 |
| 4033 | DNS Transport over TCP – Avoiding Fragmentation | Utilisation du TCP pour les réponses volumineuses |
| 7208 | Sender Policy Framework (SPF) for Authorizing Use of Domains | Enregistrement TXT pour SPF |
| 8659 | Certification Authority Authorization (CAA) Resource Record | Enregistrement CAA |
| 8802 | DNS over HTTPS (DoH) | Confidentialité des requêtes DNS |
| 8914 | DNS over TLS (DoT) | Sécurisation du transport DNS |
Ces documents constituent la base normative du protocole et sont régulièrement mis à jour par l’IETF.
Synthèse du flux complet (exemple)
- Utilisateur tape
www.example.comdans son navigateur. - Résolveur local (ex. celui de l’opérateur) interroge son cache. Aucun résultat → il lance une résolution récursive.
- Interrogation du serveur racine (
.) → réponse contenant les adresses des serveurs TLD.com. - Interrogation d’un serveur TLD
.com→ réponse contenant les serveurs autoritaires deexample.com. - Interrogation du serveur autoritaire → renvoie l’enregistrement A (ou AAAA) de
www.example.com. - Résolveur renvoie l’adresse IP au client, la met en cache (TTL indiqué dans le SOA).
- Navigateur ouvre une connexion TCP/HTTPS vers l’adresse IP reçue.
Références
- Mockapetris, P. V. (1983). Domain Names – Concepts and Facilities, RFC 882.
- Mockapetris, P. V. (1983). Domain Names – Implementation and Specification, RFC 883.
- Mockapetris, P. V. (1987). Domain Names – Concepts and Facilities, RFC 1034.
- Mockapetris, P. V. (1987). Domain Names – Implementation and Specification, RFC 1035.
- Internet Engineering Task Force (IETF). (1995). DNS Security Extensions, RFC 1912.
- IETF. (2005). DNS Extensions to Support IPv6, RFC 2671.
- IETF. (2016). DNS over HTTPS (DoH), RFC 8484.
- IETF. (2020). DNS over TLS (DoT), RFC 7858.
- ICANN. Root Server System Overview. Disponible sur https://www.icann.org/resources/pages/root-servers-2012-02-25-en.
- AFNIC. Gestion des domaines .fr. Disponible sur https://www.afnic.fr.