Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Notions avancées

L'arborescence

Considérations générales

Par la pratique, nous savons que la partie la plus à droite d'un FQDN est régie par des usages stricts. En effet, cette partie représente un « Top Level Domain », Domaine de premier niveau en français. Il en existe un certain nombre, ils sont définis par l'ICANN (Internet Corporation for Assigned Names and Numbers). Un article bien documenté sur Wikipédia vous donnera plus de détails.

A l'intérieur de chaque TLD, il est possible pour toute entreprise, association, personne morale ou physique, d'enregistrer un nom de domaine. Il suffit d'en faire la demande auprès d'un « registar », bureau d'enregistrement en français. Voir encore Wikipédia pour plus de détails. Le registar vérifiera l'unicité du domaine demandé, les éventuelles conditions d'obtention et se chargera des démarches pour l'enregistrement du domaine. Le cout de l'opération varie beaucoup en fonction du registar choisi.

Nous allons voir l'influence qu'a cette opération sur la structure du DNS.

La structure de DNS

Root-Servers

Nous avons au départ une série de serveurs DNS appelés «root-servers». Nous en trouvons la liste et leur implantation dans le monde sur le site root-servers.org. La carte affichée permet de trouver tous les root-servers présents dans le monde.

As of 2025-03-18T14:54:20Z, the root server system consists of 1907 instances operated by the 12 independent root server operators.

Ces serveurs ne sont pas récursifs, ne savent pas résoudre les FQDN, mais savent dire quels serveurs sont spécialisés dans les divers TLDs.

Serveurs TLD

Ces serveurs DNS ne sont pas non plus récursifs, mais pour un TLD donné, savent dire quels sont les serveurs DNS qui gèrent un domaine appartenant à ce TLD.

C'est à ce niveau que le registar intervient techniquement. Une fois le nom de domaine enregistré, le demandeur doit fournir l'adresse d'au moins un serveur DNS qui saura résoudre les noms dans le domaine en question et ce DNS doit être enregistré sur les serveurs du TLD choisi.

Exercice

Mais une petite expérience vaut mieux qu'un long discours. Nous allons utiliser notre outil host pour chercher à résoudre le FQDN www.education.gouv.fr, non plus en posant la question à notre serveur DNS récursif, mais en partant de la source, à savoir un root-server. Il faut bien en choisir un, prenons le bordelais 2001:500:2f::f

host -v www.education.gouv.fr 2001:500:2f::f

Trying "www.education.gouv.fr"
Using domain server:
Name: 2001:500:2f::f
Address: 2001:500:2f::f#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9665
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 6

;; QUESTION SECTION:
;www.education.gouv.fr.		IN	A

;; AUTHORITY SECTION:
fr.			172800	IN	NS	d.nic.fr.
fr.			172800	IN	NS	f.ext.nic.fr.
fr.			172800	IN	NS	g.ext.nic.fr.

;; ADDITIONAL SECTION:
d.nic.fr.		172800	IN	A	194.0.9.1
d.nic.fr.		172800	IN	AAAA	2001:678:c::1
f.ext.nic.fr.		172800	IN	A	194.146.106.46
f.ext.nic.fr.		172800	IN	AAAA	2001:67c:1010:11::53
g.ext.nic.fr.		172800	IN	A	194.0.36.1
g.ext.nic.fr.		172800	IN	AAAA	2001:678:4c::1

Le root-server.net ne répond pas directement, comme nous pouvions nous en douter. En revanche, il nous envoie la liste des serveurs DNS compétants (qui font autorité) dans le TLD fr. Reposons donc la question au premier de la liste : d.nic.fr :

host -v www.education.gouv.fr 2001:678:c::1

Trying "www.education.gouv.fr"
Using domain server:
Name: 2001:678:c::1
Address: 2001:678:c::1#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9434
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 0

;; QUESTION SECTION:
;www.education.gouv.fr.		IN	A

;; AUTHORITY SECTION:
education.gouv.fr.	3600	IN	NS	ate-ns03.ate.info.
education.gouv.fr.	3600	IN	NS	ate-ns02.ate.info.
education.gouv.fr.	3600	IN	NS	ate-ns01.ate.info.
education.gouv.fr.	3600	IN	NS	ate-ns04.ate.info.
Ça n'est pas encore gagné. Nous n'avons obtenu que les FQDN des serveurs qui font autorité pour education.gouv.fr., mais pas leur adresse. Reprenons donc à partir du root-server:
host -v ate-ns01.ate.info. 2001:500:2f::f

Trying "ate-ns01.ate.info"
Using domain server:
Name: 2001:500:2f::f
Address: 2001:500:2f::f#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50463
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 12

;; QUESTION SECTION:
;ate-ns01.ate.info.		IN	A

;; AUTHORITY SECTION:
info.			172800	IN	NS	a0.info.afilias-nst.info.
info.			172800	IN	NS	a2.info.afilias-nst.info.
info.			172800	IN	NS	b0.info.afilias-nst.org.
info.			172800	IN	NS	b2.info.afilias-nst.org.
info.			172800	IN	NS	c0.info.afilias-nst.info.
info.			172800	IN	NS	d0.info.afilias-nst.org.

;; ADDITIONAL SECTION:
a0.info.afilias-nst.info. 172800 IN	A	199.254.31.1
a0.info.afilias-nst.info. 172800 IN	AAAA	2001:500:19::1
a2.info.afilias-nst.info. 172800 IN	A	199.249.113.1
a2.info.afilias-nst.info. 172800 IN	AAAA	2001:500:41::1
b0.info.afilias-nst.org. 172800	IN	A	199.254.48.1
b0.info.afilias-nst.org. 172800	IN	AAAA	2001:500:1a::1
b2.info.afilias-nst.org. 172800	IN	A	199.249.121.1
b2.info.afilias-nst.org. 172800	IN	AAAA	2001:500:49::1
c0.info.afilias-nst.info. 172800 IN	A	199.254.49.1
c0.info.afilias-nst.info. 172800 IN	AAAA	2001:500:1b::1
d0.info.afilias-nst.org. 172800	IN	A	199.254.50.1
d0.info.afilias-nst.org. 172800	IN	AAAA	2001:500:1c::1
Puis:
host -v ate-ns01.ate.info. 2001:500:19::1

Trying "ate-ns01.ate.info"
Using domain server:
Name: 2001:500:19::1
Address: 2001:500:19::1#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35679
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ate-ns01.ate.info.		IN	A

;; AUTHORITY SECTION:
ate.info.		3600	IN	NS	ate-ns06.ate.info.
ate.info.		3600	IN	NS	ate-ns05.ate.info.

;; ADDITIONAL SECTION:
ate-ns05.ate.info.	3600	IN	A	185.252.156.7
ate-ns06.ate.info.	3600	IN	A	185.75.142.253
Et donc finalement:
host -v education.gouv.fr 185.252.156.7
Trying "education.gouv.fr"
Using domain server:
Name: 185.252.156.7
Address: 185.252.156.7#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29295
;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;education.gouv.fr.		IN	A

;; ANSWER SECTION:
education.gouv.fr.	86	IN	A	141.101.90.104
education.gouv.fr.	86	IN	A	141.101.90.106
education.gouv.fr.	86	IN	A	141.101.90.107
education.gouv.fr.	86	IN	A	141.101.90.105

Received 99 bytes from 185.252.156.7#53 in 27 ms
Trying "education.gouv.fr"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9261
;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;education.gouv.fr.		IN	AAAA

;; ANSWER SECTION:
education.gouv.fr.	205	IN	AAAA	2a06:98c1:3200::90:80
education.gouv.fr.	205	IN	AAAA	2a06:98c1:3200::90:83
education.gouv.fr.	205	IN	AAAA	2a06:98c1:3200::90:82
education.gouv.fr.	205	IN	AAAA	2a06:98c1:3200::90:81

Nous venons de faire pas à pas ce que fait très bien tout seul un serveur DNS récursif. Nous retrouvons bien les résultats obtenus précédemment.

Lorsque notre DNS a effectué cette recherche, les renseignements qu'il a glanés en effectuant cette recherche, il va les garder en mémoire et s'en resservira pour d'éventuelles résolutions futures. Nous verrons que pour cette raison, les serveurs « qui font autorité » indiquent une durée de validité pour les informations qu'ils donnent. Ainsi, les serveurs récursifs devront rafraîchir le contenu de leur cache en fonction de dette durée de validité.

Notions avancées: Dernière modification le: 18/03/2025 à 15:44 par prof