La résolution de noms DNS
La résolution de noms DNS permet d'accéder aux ressources Internet en utilisant des noms de domaine plutôt que des adresses IP. Pour convertir les noms de domaine en adresses IP, les serveurs DNS coordonnent leurs efforts de manière hiérarchique et distribuée.
Afin de permettre la communication sur Internet, la résolution de noms DNS (Système de noms de domaine) traduit les noms de domaine en adresses IP.
Vue d'ensemble du mécanisme de résolution
Voici un aperçu du mécanisme de résolution de noms DNS :
Les étapes de la résolution DNS
- Requête initiale : Lorsqu'une application sur une machine tente de résoudre un nom, elle contacte le composant de résolution du système d'exploitation.
- Vérification du cache local : Pour accéder à un site, le système commence par vérifier son cache DNS local pour voir si la correspondance entre le nom de domaine et l'adresse IP est déjà stockée. Si c'est le cas, le système n'a pas besoin de réinterroger le DNS.
- Contact avec le serveur DNS local : Si le nom de domaine n'est pas trouvé dans le cache local, le système contacte le serveur DNS local (généralement géré par le FAI ou l'administrateur réseau).
- Interrogation des serveurs racine : Le serveur DNS local interroge les serveurs DNS racine pour obtenir les serveurs DNS autoritaires des domaines de premier niveau (TLD).
- Interrogation des serveurs TLD : Les serveurs racine orientent vers les serveurs de domaine de premier niveau (.com, .org, .net, etc.).
- Interrogation du serveur autoritaire : Le serveur DNS local interroge le serveur DNS autoritaire du domaine pour obtenir l'adresse IP définitive.
- Réponse au client : Dès que le serveur DNS autoritaire répond, il envoie les réponses au serveur DNS local, qui les transmet ensuite au système demandeur.
- Mise en cache : Afin d'accélérer les requêtes futures, les résultats sont mis en cache à différents niveaux (cache local, cache du serveur DNS local).
- Utilisation de l'adresse IP : L'adresse IP associée au nom de domaine peut maintenant être utilisée pour accéder au site web ou au service.
Le cache DNS est essentiel pour les performances d'Internet :
- Cache navigateur : Chaque navigateur maintient son propre cache
- Cache système (OS) : Le système d'exploitation met en cache les résolutions
- Cache serveur récursif : Les serveurs DNS des FAI mettent en cache pour tous leurs utilisateurs
Le TTL (Time To Live) détermine la durée de conservation des enregistrements dans ces caches.
Exemple concret de résolution
Voici un exemple de résolution du nom de domaine www.techmentor.com :

Figure : Processus hiérarchique de résolution du nom www.techmentor.com
Détail des échanges
Client → Serveur local : "Quelle est l'adresse de www.techmentor.com ?"
Serveur local → Serveur racine : "Donnez-moi l'adresse du serveur qui connaît la zone com."
Serveur racine → Serveur local : "Le serveur à l'adresse 192.170.30.2 peut vous aider. Il a des informations pour la zone com."
Serveur local → Serveur TLD (.com) : "Donnez-moi l'adresse d'un serveur qui connaît la zone techmentor.com."
Serveur TLD → Serveur local : "C'est le serveur à l'adresse 162.144.1.10 qui peut vous assister."
Serveur local → Serveur autoritaire (techmentor.com) : "Y a-t-il un enregistrement www dans votre domaine ?"
Serveur autoritaire → Serveur local : "L'adresse IP de www.techmentor.com est 162.144.1.46."
Serveur local → Client : "L'adresse IP de www.techmentor.com est 162.144.1.46."
Les acteurs de la résolution DNS
| Type de serveur | Rôle | Exemple |
|---|---|---|
| Serveur récursif (local) | Effectue les requêtes itératives pour le compte du client, généralement fourni par le FAI | DNS du FAI (192.168.1.1) |
| Serveur racine | Oriente vers les serveurs de domaine de premier niveau (TLD) | a.root-servers.net (198.41.0.4) |
| Serveur TLD | Gère les domaines de premier niveau (.com, .org, .fr, etc.) | a.gtld-servers.net (192.5.6.30) |
| Serveur autoritaire | Détient les enregistrements DNS définitifs pour un domaine | ns1.techmentor.com (162.144.1.10) |
Types de requêtes DNS
Requêtes récursives vs itératives
Le serveur DNS interrogé prend en charge l'ensemble de la résolution et doit retourner une réponse complète (soit l'IP demandée, soit une erreur).
Exemple : Client → Serveur local (le client demande au serveur local de faire tout le travail)
Le serveur DNS interrogé retourne la meilleure réponse qu'il connaît (une IP ou une référence vers un autre serveur).
Exemple : Serveur local → Serveur racine (le serveur racine répond avec une référence)
Client (votre PC)
│
│ (1) Requête récursive
▼
┌─────────────────┐
│ Serveur local │ ←─── Cache (si déjà résolu)
│ (récursif) │
└─────────────────┘
│
│ (2) Requêtes itératives
▼
┌─────────────────┐
│ Serveur racine │───┐
└─────────────────┘ │ (3) Référence vers .com
│ │
▼ ▼
┌─────────────────┐
│ Serveur TLD │───┐
│ (.com) │ │ (4) Référence vers techmentor.com
└─────────────────┘ │
│ │
▼ ▼
┌─────────────────┐
│ Serveur │
│ autoritaire │───┐
│ (techmentor.com)│ │ (5) IP de www.techmentor.com
└─────────────────┘ │
│ │
└────────────────┘
│ (6) Réponse finale
▼
Client (votre PC)
La hiérarchie DNS
Le DNS est organisé de manière arborescente :
- Racine (.) : 13 ensembles de serveurs racine dans le monde
- Domaines de premier niveau (TLD) : .com, .org, .net, .fr, etc.
- Domaines de second niveau : techmentor.com, google.com, etc.
- Sous-domaines : www.techmentor.com, mail.techmentor.com, etc.
| Niveau | Exemple | Responsabilité |
|---|---|---|
| Racine | . (point) | Connaît les serveurs de tous les TLD |
| TLD | .com | Connaît les serveurs de tous les domaines en .com |
| Domaine | techmentor.com | Connaît tous les enregistrements de son domaine |
| Sous-domaine | www.techmentor.com | Peut être délégué à d'autres serveurs |
Analyser une résolution DNS
En utilisant la commande nslookup ou dig (sur Linux/Mac) ou en ligne de commande Windows, analysez la résolution d'un nom de domaine de votre choix.
Questions :
- Quelle est l'adresse IP du domaine ?
- Quel est le serveur DNS qui a répondu ?
- Combien de temps la réponse peut-elle être mise en cache (TTL) ?
- Y a-t-il plusieurs adresses IP (round-robin) ?
$ nslookup google.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: google.com
Address: 142.250.179.46
Name: google.com
Address: 2a00:1450:4007:80d::200e- Adresse IP : 142.250.179.46 (IPv4) et 2a00:1450:4007:80d::200e (IPv6)
- Serveur DNS : 192.168.1.1 (serveur local du réseau)
- Réponse non-authoritative : La réponse vient du cache du serveur local, pas directement du serveur autoritaire
- Plusieurs IP : Google utilise plusieurs adresses pour la répartition de charge
Commandes utiles pour diagnostiquer le DNS
nslookup google.com # Interroge le DNS
ipconfig /displaydns # Affiche le cache DNS local
ipconfig /flushdns # Vide le cache DNS
ping google.com # Résout et teste la connexion
tracert google.com # Trace la route jusqu'au serveurdig google.com # Interrogation détaillée
dig +trace google.com # Montre la résolution étape par étape
nslookup google.com # Interrogation simple
host google.com # Résolution rapide
ping -c 4 google.com # Ping avec résolution DNS
traceroute google.com # Trace la route
# Gestion du cache (systemd-resolved)
systemd-resolve --statistics # Stats du cache
systemd-resolve --flush-caches # Vide le cache- La résolution DNS est un processus hiérarchique et distribué
- Le cache est essentiel pour les performances et la réduction de charge
- Les serveurs racine sont au sommet de la hiérarchie (13 ensembles logiques)
- Il existe deux types de requêtes : récursives (client → serveur local) et itératives (entre serveurs)
- Les serveurs autoritaires détiennent les enregistrements officiels des domaines
- Le TTL détermine la durée de mise en cache des enregistrements
Pour aller plus loin
- DNSSEC : Signature cryptographique des enregistrements
- DNS over HTTPS (DoH) : Requêtes DNS chiffrées
- DNS over TLS (DoT) : Alternative à DoH
- Cache poisoning : Attaques à connaître
- Anycast : Même IP pour plusieurs serveurs
- GeoDNS : Réponses différentes selon la localisation
- Round-robin : Plusieurs IP pour un même nom
- Latence : Impact du TTL sur les performances
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.