Mécanisme de la résolution de noms DNS

31 Oct 2023 31 Oct 2023 496 vues ESSADDOUKI Mostafa 8 min de lecture

La résolution de noms DNS

Définition : Résolution de noms

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 :

 Processus étape par étape

Les étapes de la résolution DNS

  1. 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.
  2. 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.
  3. 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).
  4. 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).
  5. Interrogation des serveurs TLD : Les serveurs racine orientent vers les serveurs de domaine de premier niveau (.com, .org, .net, etc.).
  6. Interrogation du serveur autoritaire : Le serveur DNS local interroge le serveur DNS autoritaire du domaine pour obtenir l'adresse IP définitive.
  7. 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.
  8. 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).
  9. 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

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 :

Schéma de résolution DNS

DNS name resolution

Figure : Processus hiérarchique de résolution du nom www.techmentor.com

Détail des échanges

Scénario : Résolution de www.techmentor.com
Étape 1
Client → Serveur local : "Quelle est l'adresse de www.techmentor.com ?"
Étape 2
Serveur local → Serveur racine : "Donnez-moi l'adresse du serveur qui connaît la zone com."
Étape 3
Serveur racine → Serveur local : "Le serveur à l'adresse 192.170.30.2 peut vous aider. Il a des informations pour la zone com."
Étape 4
Serveur local → Serveur TLD (.com) : "Donnez-moi l'adresse d'un serveur qui connaît la zone techmentor.com."
Étape 5
Serveur TLD → Serveur local : "C'est le serveur à l'adresse 162.144.1.10 qui peut vous assister."
Étape 6
Serveur local → Serveur autoritaire (techmentor.com) : "Y a-t-il un enregistrement www dans votre domaine ?"
Étape 7
Serveur autoritaire → Serveur local : "L'adresse IP de www.techmentor.com est 162.144.1.46."
Étape 8
Serveur local → Client : "L'adresse IP de www.techmentor.com est 162.144.1.46."

Les acteurs de la résolution DNS

Type de serveurRôleExemple
Serveur récursif (local)Effectue les requêtes itératives pour le compte du client, généralement fourni par le FAIDNS du FAI (192.168.1.1)
Serveur racineOriente vers les serveurs de domaine de premier niveau (TLD)a.root-servers.net (198.41.0.4)
Serveur TLDGère les domaines de premier niveau (.com, .org, .fr, etc.)a.gtld-servers.net (192.5.6.30)
Serveur autoritaireDétient les enregistrements DNS définitifs pour un domainens1.techmentor.com (162.144.1.10)

Types de requêtes DNS

 Mode d'interrogation

Requêtes récursives vs itératives

Requête récursive

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)

Requête itérative

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)

Schéma des flux de requêtes
    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

Structure hiérarchique du 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.
NiveauExempleResponsabilité
Racine. (point)Connaît les serveurs de tous les TLD
TLD.comConnaît les serveurs de tous les domaines en .com
Domainetechmentor.comConnaît tous les enregistrements de son domaine
Sous-domainewww.techmentor.comPeut être délégué à d'autres serveurs
 Exercice pratique

Analyser une résolution DNS

 Niveau : Débutant

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 :

  1. Quelle est l'adresse IP du domaine ?
  2. Quel est le serveur DNS qui a répondu ?
  3. Combien de temps la réponse peut-elle être mise en cache (TTL) ?
  4. Y a-t-il plusieurs adresses IP (round-robin) ?

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 serveur
dig 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
Points clés à retenir
  • 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

Sécurité DNS
  • 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
Optimisation
  • 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.