Etude d'un service : DNS

Notions théoriques
Le service DNS (Domain Name System) permet de traduire :
- les noms de domaine, compréhensibles par les humains,
- en adresses IP, compréhensibles par les machines.

Par exemple, lorsque vous tapez www.google.com dans votre navigateur, le DNS traduit ce nom de domaine en une adresse IP comme 142.250.74.206, permettant ainsi à votre ordinateur de se connecter au serveur de Google.
📌 Dans quelle couche du modèle TCP/IP se situe le service DNS ?
Dans le modèle OSI, comme dans le modèle TCP/IP, un service se situe dans la couche application.
Fonctionnement du DNS
Le DNS fonctionne de manière hiérarchique et distribuée.
Voici les principales étapes du fonctionnement du DNS :
- Requête DNS : Lorsque vous entrez une URL dans votre navigateur, une requête DNS est envoyée pour trouver l'adresse IP correspondante.
- Serveur DNS Résolveur : Cette requête est d'abord envoyée à un serveur DNS résolveur, souvent géré par votre fournisseur d'accès Internet (FAI).
- Cache DNS : Le résolveur vérifie d'abord s'il a déjà la réponse en cache. Si oui, il renvoie l'adresse IP immédiatement.
- Interrogation des Serveurs Racine : Si la réponse n'est pas en cache, le résolveur interroge un des serveurs DNS racine. Les serveurs racine ne connaissent pas l'adresse IP finale, mais ils savent où trouver les serveurs DNS de premier niveau (TLD) (.com, .org, .net, etc.).
- Serveurs de Premier Niveau (TLD) : Le résolveur interroge ensuite le serveur TLD approprié, qui renvoie l'adresse du serveur DNS autoritaire pour le domaine spécifique.
- Serveur DNS Autoritaire : Le résolveur interroge enfin le serveur DNS autoritaire qui contient l'adresse IP exacte du domaine demandé.
- Retour de l'Adresse IP : L'adresse IP est renvoyée au résolveur, qui la transmet ensuite à votre navigateur. Votre navigateur peut alors établir une connexion avec le serveur Web à cette adresse IP.

Types de Requêtes DNS
Il existe plusieurs types de requêtes DNS, les plus courantes étant :
- A (Address) : Traduit un nom de domaine en adresse IPv4.
- AAAA (IPv6 Address) : Traduit un nom de domaine en adresse IPv6.
- CNAME (Canonical Name) : Alias pour un autre nom de domaine.
- MX (Mail Exchange) : Indique les serveurs de messagerie pour un domaine.
- PTR (Pointer) : Traduit une adresse IP en nom de domaine (utilisé pour les recherches inverses).
Avantages du DNS
- Simplicité : Les utilisateurs peuvent utiliser des noms de domaine faciles à mémoriser au lieu des adresses IP.
- Flexibilité : Les administrateurs peuvent changer l'adresse IP d'un serveur sans modifier le nom de domaine.
- Redondance : Le DNS est distribué et hiérarchique, ce qui améliore la résilience et la disponibilité.
Exemple pratique
Voyons comment utiliser les commandes ping et nslookup pour vérifier la résolution DNS du nom de domaine www.example.com.
Utilisation de ping
La commande
pingpermet de vérifier la connectivité réseau avec une adresse IP ou un nom de domaine.
La commande ping envoie des paquets ICMP à la destination et attend une réponse.
ping www.example.com
Sortie attendue :
PING www.example.com (93.184.215.14): 56 data bytes
64 bytes from 93.184.215.14: icmp_seq=0 ttl=54 time=82.284 ms
64 bytes from 93.184.215.14: icmp_seq=1 ttl=54 time=86.426 ms
64 bytes from 93.184.215.14: icmp_seq=2 ttl=54 time=82.695 ms
...
La commande ping www.example.com envoie des paquets à www.example.com et affiche les réponses reçues, y compris le temps de réponse. Cela montre que la résolution DNS a réussi et que la connectivité avec l'adresse IP 93.184.216.34 est établie.
📌 La commande ping utilise-t'elle les serveurs DNS ?
Utilisation de ping avec un Nom de Domaine
Lorsque vous utilisez ping avec un nom de domaine (par exemple, ping www.example.com), le système doit d'abord résoudre ce nom de domaine en une adresse IP. Ce processus de résolution de nom est effectué via le protocole DNS (Domain Name System). Voici comment cela fonctionne :
-
Résolution DNS :
- Lorsque vous tapez
ping www.example.com, votre système envoie une requête DNS à un serveur DNS configuré (souvent celui de votre fournisseur d'accès Internet ou un serveur DNS public comme ceux de Google ou de Cloudflare). - Le serveur DNS répond avec l'adresse IP correspondante au nom de domaine (par exemple, 93.184.216.34 pour
www.example.com).
- Lorsque vous tapez
-
Envoi des Paquets ICMP :
- Une fois que l'adresse IP est obtenue,
pingenvoie des paquets ICMP Echo Request à cette adresse IP et attend des réponsesICMPEcho Reply.
- Une fois que l'adresse IP est obtenue,
Utilisation de ping avec une Adresse IP
Lorsque vous utilisez ping avec une adresse IP directement (par exemple, ping 93.184.216.34), il n'y a pas de résolution DNS impliquée. Dans ce cas, ping envoie simplement des paquets ICMP à cette adresse IP sans avoir besoin de contacter un serveur DNS.
Exemple de Commandes ping
-
Avec un nom de domaine :
ping www.example.com- Le système résout
www.example.comen une adresse IP via DNS. - Ensuite,
pingenvoie des paquetsICMPà l'adresse IP résolue.
- Le système résout
-
Avec une adresse IP :
ping 93.184.216.34pingenvoie directement des paquetsICMPà l'adresse IP spécifiée sans résolution DNS.
Utilisation de nslookup
La commande nslookup :
- interroge les serveurs DNS
- pour trouver l'adresse IP associée à un nom de domaine.
nslookup www.example.com
Sortie attendue :
Server: 2001:861:2071:82f0:b2fc:88ff:fe82:671c
Address: 2001:861:2071:82f0:b2fc:88ff:fe82:671c#53
Non-authoritative answer:
Name: www.example.com
Address: 93.184.215.14
La commande nslookup www.example.com interroge les serveurs DNS pour obtenir l'adresse IP de www.example.com. La sortie montre que www.example.com est résolu en 93.184.216.34, confirmant que le DNS fonctionne correctement.