DNS :
Fonctionnement des serveurs
Les serveurs
Les serveurs
sont des programmes (daemon
dans la terminologie Berkley) executés sur des machines de
l'Internet, ils assurent une double fonction:
- Ils possèdent
les données d'un segment de la base.
-
Chaque serveur
possède en général une (ou plusieurs)
zones(s) de la base de donnés du DNS. C'est ce serveur
qui a la version officielle des donnés de la zone. Les
autres serveurs s'adressent à celui-ci pour les obtenir.
On dit alors que ce serveur est autoritaire
sur cette zone.
-
Ils gardent des
informations venant d'autre zones en mémoire.
-
C'est la fonction
cache.
Cela permet de limiter le trafic et de diminuer les temps de
réponse en n'ayant pas systématiquement besoin de
s'adresser au serveur officiel d'un segment de la base pour
obtenir les donnés après les avoir obtenues une
première fois.
Fonctionnement
(simpliste):
Quand un serveur
reçoit une requête, il cherche dans son cache s'il
connait la réponse. Si oui, il renvoie l'information
immédiatement. Si l'information n'est pas disponible dans
le cache, le serveur doit chercher à quel serveur de noms
s'adresser pour obtenir une réponse. Il obtient la liste
des serveurs responsables de cette zonient la liste des serveurs
responsables de cette zone en fonction du découpage de la
base de données. Ce découpage est stocké
dans la base de données elle même (notion de
délégation).
Puis il fait
suivre la requête à l'un des serveurs possibles
(mode récursif). Celui-ci renvoie la réponse au
serveur, qui la renvoie finalement au client. Au passage le
serveur a ajouté l'information dans son cache.
Nota:
Cette vue est un peu simpliste, mais elle peut servir a
appréhender le fonctionnement du DNS.
Serveur
primaire:
Un serveur est
primaire d'une zone quand il obtient les informations de cette
zone dans un fichier de configuration. Ce dernier fichier est
écrit par un administrateur.
Le serveur
primaire est évidemment autoritaire sur la zone.
Serveur
secondaire:
Un serveur est
secondaire d'une zone quand il obtient toutes les informations de
cette zone d'un
autre serveur.
C'est à dire que le serveur contacte le serveur primaire
de la zone pour obtenir les informations. Il télécharge
le contenu de la zone, puis il agit comme
serveur autoritaire pour la zone.
Un
serveur secondaire contacte régulièrement le
serveur primaire pour vérifier si le contenu de la zone a
changé. L'intervalle de temps est spécifié
zone par zone dans l'enregisrement SOA de la zone. Si la zone a
changée, il recommence le transfert de zone. Cette
vérification est faite en vérifiant le numéro
de série.
Si le numéro
de série est supérieur à l'ancien, le
serveur transfert à nouveau l'intégralité
des données de la zone.
C'est
pourquoi, à chaque modification d'une zone, il faut
modifier le numéro de série. Un bon système
est de le coder en utilisant le format YYMMDDnn,
où nn
est le numéro de modification dans la journée.
Début
Précédent
Suivant
|