Le DNS est un service informatique trÚs utile, surtout sur Internet, qui permet de résoudre des noms de domaine en adresses IP.
Mais comment est-ce que ça fonctionne réellement ce SystÚme de Noms de Domaine ?
Et bien je vous propose de découvrir cela grùce à ce 2Úme post sur le sujet !
Le systĂšme de noms de domaine
Traduction dâun nom en adresse IP
Commençons sans plus attendre avec un petit rappel de ce quâest le SystĂšme de Noms de Domaine, plus connu sous le nom de DNS !
Info + : Dans ce 2nd article sur le sujet, nous aborderons le fonctionnement du service DNS. La premiĂšre partie de cette introduction au DNS est disponible au lien suivant : Le principe des noms de domaine |
Le DNS câest un service fortement utile en informatique qui permet (entre autres), la rĂ©solution de noms sur internet.
Il faut savoir que lorsque lâon veut aller sur un site internet, câest en rĂ©alitĂ© un serveur web pouvant ĂȘtre au 4 coins du monde qui va nous rĂ©pondre.
Par exemple, quand vous arrivez sur google.fr, câest grĂące Ă votre navigateur internet qui communique avec un serveur web qui hĂ©berge le site google.fr.
Le serveur web sait que câest lui que vous interrogez car vous utilisez tacitement son adresse IP pour le contacter.
Comment ça son adresse IP ?! Jâai juste voulu aller sur google moi jâai rien fais du tout !
Vous avez raison, vous nâavez rien fait du tout⊠câest la magie de lâinformatique qui a fait tout le boulot pour vous
Quand vous utilisez lâadresse dâun site web, vous utilisez rĂ©ellement ce quâon appelle son « nom de domaine ».
Je vous rappelle quâun nom de domaine câest lâidentifiant dâune zone sur internet regroupant plusieurs machines, toutes membres de cette mĂȘme zone. Et lâadresse dâun site web comprend ce nom de domaine.
Quand on regarde lâadresse complĂšte du site web de Google par exemple, ce que lâon peut en dĂ©duire, câest que lâhĂŽte qui sâappelle « www » est membre du domaine « google.fr ».
Donc quand vous allez sur google.fr, vous communiquez avec une machine, qui nâest autre quâun serveur web.
Ce serveur web, comme nâimporte quel Ă©quipement en rĂ©seau, possĂšde justement⊠une adresse IP ! Comme je vous le disait prĂ©cĂ©demment, câest grĂące Ă cette adresse IP que le serveur est en capacitĂ© de vous rĂ©pondre (enfin de rĂ©pondre Ă votre navigateurâŠ)
Et câest lĂ que le service DNS est trĂšs utile puisque câest lui qui traduit les noms de domaine en adresse IP !
Sans ce service, internet fonctionnerait toujours, par contre, nous serions tous condamnĂ©s Ă nous rendre sur des sites internet en utilisant uniquement leur adresse IP, et nos adresses de site web ressemblerait Ă cela : 277.154.12.54, 172.217.22.131, 52.95.116.113…
![]() |
Autant dire que pour lâHomme, il est tout simplement impossible de retenir les adresses IP de tous les sites internet qui existent au monde ! |
Si on rĂ©sume : lâaccĂšs Ă un site internet est possible grĂące Ă la rĂ©solution de son nom en adresse IP, opĂ©ration qui est effectuĂ©e par le service DNS.
On peut voir un serveur DNS comme un gros annuaire qui va servir Ă Ă©tablir une correspondance entre le nom dâun domaine et une adresse IP.
Il stocke en mĂ©moire diffĂ©rents enregistrements qui peuvent exister dans un domaine (nous verrons les principaux un peu plus loin dans cet articleâŠ).
Et votre PC va envoyer des requĂȘtes aux serveurs DNS afin de connaĂźtre le contenu de ces enregistrements.
Dans le cas de notre exemple avec www.google.fr, le PC va demander au service DNS, lâadresse IP dâun des hĂŽtes, du domaine google.fr, en lâoccurrence, celle du serveur web nommĂ© « www » afin de pouvoir y accĂ©der. De votre cĂŽtĂ© dâutilisateur, vous nâavez rien Ă faire !
RequĂȘtes et enregistrements DNS
Comme je viens de le dire, un serveur DNS contient des données, appelées des enregistrements (ou des « DNS Records » en anglais) sur un domaine et il fournit le contenu de ses enregistrements aux clients DNS qui en font la demande.
Dans le cas de votre PC, il est justement client DNS. Il demande donc les informations dont il a besoin Ă un serveur DNS. On dit quâil envoie des « requĂȘtes DNS ».
Les requĂȘtes DNS sont des messages envoyĂ©s aux serveurs DNS qui vont permettre de consulter les donnĂ©es stockĂ©es sur le serveur. Par exemple, il peut sâagir dâune requĂȘte pour connaĂźtre lâadresse IP dâun serveur web ou dâun serveur de messagerie au sein dâun domaine.
Pour connaĂźtre le contenu dâun enregistrements DNS, le processus dâenvoi des requĂȘtes peut se faire de deux façons :
- Par requĂȘte rĂ©cursive : câest-Ă -dire que le client DNS demande au serveur DNS de rĂ©pondre obligatoirement Ă sa requĂȘte, quâil possĂšde ou non la rĂ©ponse, sans rediriger la requĂȘte vers un autre serveur DNS.
Info + : ce type de requĂȘte se fait le plus souvent de PC client DNS Ă serveur DNS local. |
Dans ce cas-lĂ , le serveur DNS va faire lui-mĂȘme sa propre requĂȘte auprĂšs dâautres serveurs DNS pour trouver une rĂ©ponse.
- Par requĂȘte itĂ©rative : câest-Ă -dire que le client DNS demande au serveur DNS de lui fournir la meilleure rĂ©ponse possible par tous les moyens. Le rĂ©sultat dâune telle requĂȘte fait souvent rĂ©fĂ©rence Ă dâautres serveurs DNS.
Info + : ce type de requĂȘte se fait le plus souvent de serveur DNS Ă serveur DNS. |
Le rĂ©sultat de la requĂȘte DNS sera donc le contenu dâun DNS Record, câest-Ă -dire dâun enregistrement dâune zone prĂ©cise.
Voici un tableau montrant quelques types dâenregistrements DNS que lâon rencontre souvent en entreprise, avec des exemples de donnĂ©es totalement fictives pour le domaine « mondomaine.fr » :
Le serveur DNS en charge de la zone « mondomaine.fr » peut contenir tous les enregistrements ci-dessus.
Pour connaĂźtre les donnĂ©es, les clients DNS vont donc Ă©mettre des requĂȘtes selon le type dâenregistrement quâils veulent (A, CNAME, NSâŠ) Ă lâaide du protocole DNS sur le port 53 (TCP & UDP).
Info + : vous pouvez utiliser des outils en ligne de commandes comme « nslookup »  sous Windows et « host »  sous Linux pour voir certains types dâenregistrement dans un domaine. |
Fonctionnement pas Ă pas du service DNS
Maintenant que vous avez cernĂ© le principe du service DNS, nous allons prendre un exemple et dĂ©tailler toutes les Ă©tapes de rĂ©solutions dâun nom de domaine pour bien en comprendre le fonctionnement.
Dans notre exemple, nous avons un PC qui veut accéder au site internet de google.
Souvenez-vous, pour communiquer les machines ont besoin dâadresses IP. Donc notre poste client aura tacitement besoin de lâadresse IP du serveur web qui hĂ©berge le site internet de google. Il va devoir utiliser le service DNS pour obtenir cette information (enregistrement de type A) venant du domaine google.fr.
La premiĂšre action du PC sera de vĂ©rifier si il ne connait pas dĂ©jĂ lâadresse IP du serveur web de google. Il va alors aller rechercher dans sa mĂ©moire interne quâon appelle son cache DNS.
Info + : Le cache DNS est trÚs utile car il va stocker temporairement les enregistrements demandés afin de pouvoir les restituer plus rapidement et ne pas solliciter les serveurs DNS. |
Le cache DNS du poste client ne possĂšde pas dâinformation sur lâenregistrement DNS dont il a besoin. Il va donc devoir demander au serveur DNS de son rĂ©seau local. Il va alors lui envoyer une requĂȘte rĂ©cursive sur le port 53 en lui demandant de rĂ©pondre lui-mĂȘme Ă sa requĂȘte.
Le serveur DNS qui reçoit la requĂȘte va commencer par vĂ©rifier si le domaine visĂ© par la requĂȘte, Ă savoir « google.fr », est un domaine que lui-mĂȘme gĂšre, câest-Ă -dire si il fait parti de ses zones pour lesquelles il a directement les enregistrements.
Le serveur DNS local ne gĂšre pas la zone « google.fr ». Il va donc vĂ©rifier dans son propre cache DNS si il nâa pas dĂ©jĂ lâinformation recherchĂ©e, Ă savoir lâadresse IP du serveur web de google.
Le serveur DNS local nâa pas lâenregistrement dans son cache. Il va devoir lui-mĂȘme demander lâinformation Ă dâautres serveurs DNS. Il va devoir parcourir lâensemble du nom de domaine de google en partant de la droite pour trouver la rĂ©ponse.
Info + : les notions qui vont suivre ont déjà été abordées dans la premiÚre partie de cette introduction au DNS disponible ici : Le principe des noms de domaine |
Notre serveur DNS local va donc commencer par interroger les serveurs DNS racines pour savoir quels sont les serveurs DNS en charge du nom de domaine de 1er niveau (TLD) « .fr ». Il va alors envoyer Ă lâun des DNS racines une requĂȘte itĂ©rative pour connaĂźtre lâadresse IP de lâun de serveurs TLD.
Le serveur DNS racine va lui renvoyer lâinformation demandĂ©e, câest-Ă -dire lâadresse IP dâun des serveurs du domaine de 1er niveau « .fr ».
Le serveur DNS va ensuite renvoyer une requĂȘte itĂ©rative au serveur du TLD « .fr » pour connaĂźtre lâadresse IP du serveur DNS qui gĂšre le nom de domaine de 2nd niveau (SLD) « google.fr ».
Le serveur TLD va Ă son tour lui rĂ©pondre et lui envoyer lâadresse IP du serveur SLD qui gĂšre le domaine « google.fr ».
Le serveur DNS connaĂźt maintenant lâadresse IP du DNS en charge de la zone « google.fr » ! Il peut donc lui envoyer une requĂȘte pour connaĂźtre les donnĂ©es de lâenregistrement de type A correspondant au serveur web. En rĂ©sumĂ©, il va lui demander lâadresse IP associĂ©e au nom dâhĂŽte « www ».
Le serveur DNS qui gĂšre le domaine « google.fr » va vĂ©rifier ses enregistrements et renvoyer la rĂ©ponse au DNS local. Il sâavĂšre que « www » est un alias (CNAME), associĂ© Ă un hĂŽte (A) nommĂ© « srv-web », qui a pour adresse IP 216.58.201.227.
Maintenant que le serveur DNS Ă lâinformation, il va rĂ©pondre au poste client qui a fait la requĂȘte initiale. Il va dire au client DNS « lâadresse IP de www.google.fr est 216.58.201.227 ».
Il va Ă©galement en profiter pour garder cette information temporairement dans son cache DNS, au cas oĂč une requĂȘte similaire est Ă©mise.
Le client peut désormais communiquer avec le serveur web directement grùce à son adresse IP en utilisant le protocole http sur le port 80 ou de préférence https sur le port 443.
Il va Ă©galement en profiter lui aussi pour stocker temporairement lâadresse IP du serveur web dans son propre cache DNS.
Le serveur web va répondre à la demande du PC et ce dernier aura accÚs au site internet comme si il avait saisi directement son adresse IP.
VoilĂ comment nous pouvons illustrer le fonctionnement du service DNSÂ !
Info + : retrouvez le schéma précédent en entier ICI et un tableau récapitulatif de chaque étape ICI. |
Ce sera tout pour cette introduction au DNS qui vous aura permis, je lâespĂšre, de mieux comprendre le fonctionnement de ce service si prĂ©cieux sur internet !
Je vous prĂ©pare un petit tuto dâinstallation dâun serveur DNS cache sous Windows pour trĂšs prochainement (et peut ĂȘtre sous Linux Debian aussi, Ă voirâŠ)
A bientĂŽt !