Sie sind auf Seite 1von 8

Introduction

Le Domaine Name System


DNS • Sur Internet une machine est identifié de manière unique par
son adresse IP
• Annuaire Adresse IP / Nom
• Au début (1970-1984) : annuaire complet dans un fichier texte
(/etc/hosts sous Unix):
– Adresse Nom1 Nom2 Nom3
– Cohérence des noms par diffusion du fichier

• Aujourd’hui ce fichier est encore utilisé pour l’annuaire local


• 1984 : mise en place du DNS
• Géré par Network Information Center (http://www.nic.com)
• En France Association Française pour le Nommage Internet en
Coopération (http://www.afnic.fr)

© P. Sicard-Cours Réseaux Le Domain Name System DNS 1 © P. Sicard-Cours Réseaux Le Domain Name System DNS 2

Structuration des noms DNS


Introduction
• Hiérarchique par domaine: www.imag.fr
– machine www dans le domaine imag lui-même dans le domaine fr
• Information accessible grâce au DNS – Analogie nom de fichier/répertoire à l’envers avec le . à la place de /
– Adresse en fonction du nom – On omet en général la racine (le point) : www.imag.fr.
– Nom en fonction de l’adresse IP : résolution inverse – Les majuscules ne sont pas significatives
– Adresse de relai de messagerie
Racine
• Système hiérarchique, redondant et distribué .

– Arborescence (comme un système de fichier)


– Chaque site est maître de ses données
– Dynamique: mise à jour automatique edu com fr it
• Documentation
zone fr
– http://www.dns.net/dnsrd (RFC, FAQ ...)
inria imag
– http://www.nic.f/guides
– http://www.nic.fr/formation Domaine fr
• Bibliographie www ufrima
Domaine et zone imag.fr
– DNS and BIND , Paul Albitz and Cricket Liu

Machines

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 3 © P. Sicard-Cours Réseaux Le Domain Name System DNS 4
Une base de données distribuée Terminologie
• Domaine
– Un domaine est la partie de l’arborescence à partir du noeud portant son nom
• Une base de donnée est associée à chaque noeud – Exemple: domaine fr: arborescence à partir du noeud fr
• L’ensemble de ces bases de données constitue le DNS – On parle de sous domaine pour un domaine inclu dans un autre
• Dans un noeud, on trouve – Exemple: imag.fr est un sous domaine du domaine fr
– Les informations permettant de retrouver les noeuds fils • Zone
– Les informations propre au noeud : liste des machines
– Comme dans un répertoire : des sous répertoires et des fichiers – C’est la base de donnée associée à un noeud

• La gestion de chaque noeud peut être effectuée par des entités • Contenu des bases de donnée associées aux zones
différentes – Noms/Adresses des serveurs de la zone
» Exemples:
• Racine: liste des serveurs des domaines de premiers niveaux
• fr: listes des adresses des serveurs des sous-domaines de fr

– Noms/Adresses des machines de ce domaine

© P. Sicard-Cours Réseaux Le Domain Name System DNS 5 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 6

Domaines existants Principe de fonctionnement


• Terminologie de l’AFNIC: Domaine. Suffixe
• Application client/serveur
• Suffixe ou Top Level Domain(TLD)
– Par pays (ou Country Code, ccTLD) en deux lettres :
• Serveurs DNS
» .fr, .us, .jp, .be • Gère la base de données contenant
» ICANN (Internet Corporation for Assigned Names and Number) : • nom/@IP des machines du domaine
• http://www.icann.org/cctlds/ • nom/@IP des serveurs d’un sous-domaine
» IANA (Internet Assigned Numbers Autority) : • Système robuste par redondance: plusieurs serveurs possèdent la base de donnée
• http://www.iana.org/cctld/cctld.htm d’un domaine
» Liste des contacts des différents ccTLD:
• http://www.iana.org/cctld/cctld-whois.html • Client DNS
– Génériques internationaux (gTLD) en trois lettres – Resolver: permet l’interrogation d’un serveur
» .com (entreprise multinationale), .org (organisation), .edu (Université) – Référence à un serveur DNS par défaut “local”
» .net (fournisseur d’accès), .pro (profession libérale) • Interrogation client -> serveur local
» Liste des domaines génériques et de leur registre associé:
– Récursive
http://www.iana.org/gtld/gtld.htm
– Le client attend la réponse finale
» Liste des nouveaux domaines(.aero, .biz, .coop, .info, .museum, .name, .pro) :
http://www.icann.org/tlds/ • Interrogations serveur-> serveur
– Itératives

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 7 © P. Sicard-Cours Réseaux Le Domain Name System DNS 8
Exemple d’une interrogation DNS Interrogation DNS
Serveur zone racine
• Pour une zone : une liste d’adresse de serveurs
Serveur DNS "local" Requête: serveur fr ?
– Répartition des interrogations
2
3 Liste des @ serveurs fr – Requêtes successives si défaillance d’un serveur ou du réseau
– Importance de la répartition géographique des serveurs d’une même zone
Requête: serveur bonjour ? Serveur zone fr
4
5 • Mécanisme de cache dans le serveur “local” pour limiter le
Liste des @ serveurs bonjour
nombre d’interrogations
Requête: machine www.bonjour.fr? – Evite la surcharge du réseau
7 6 Serveur zone bonjour – Diminue les délais de réponse
– Baisse la charge des serveurs de haut niveau
Requête: 8
@ machine
machine 1 www.bonjour.fr • Remplissage du cache lors des requêtes des clients
www.bonjour.fr?
• Durée de vie limitée dans le cache
– TTL(Time Ti Live) spécifié dans les réponses
Machine utilisateur
Client DNS

© P. Sicard-Cours Réseaux Le Domain Name System DNS 9 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 10

Serveurs Type de requêtes

• Racine : environ 15 serveurs de nom répartis dans le monde • Machines ?


– Connaissent tous les serveurs de premier niveau (TLD): .fr, .com, ... – Dénotée a pour IPV4
– Serveur origine (ou primaire, ou maitre) géré par IANA/ICANN – Possibilités de plusieurs machines pour un même nom
» A.ROOT-SERVERS.NET » Réponses “circulaires” pour répartir la charge
– SERVEURS MIROIRS (ou secondaire, ou esclave) – Dénotée aaa pour IPV6
» de B.ROOT-SERVERS.NET à M.ROOT-SERVERS.NET • Plusieurs noms possibles pour une adresse IP
– Un nom canonique: dénotée cname
• Modification manuel faite sur le serveur primaire • Serveurs d’une zone ?
• Echange des bases de données automatique vers les serveurs – Dénotée ns
secondaires • Relais de messagerie
– Dénotée mx

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 11 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 12
Implémentation Outils DNS
• nslookup
– nslookup www.google.fr
• JEEVES :première implémentation du DNS (1984) Changement de serveur : server ns2.nic.fr

• BIND (The Berkeley Internet Name Domain) sur BSD Unix – mode debug: set debug
• Interrogation en UDP ou TCP si la taille du paquets dépasse – Serveurs d’une zone: set q=ns
– Adresses pour un nom: set q=a
512 octets
– Serveurs de courrier: set q=mx
• Echange des bases de données en TCP – Nom canonique: set q=cname
• Client – Visualisation de la base de donnée: ls imag.fr
– à travers les fonctions de programmation comme gethostbyname, • host
gethostbyaddr... – Mode debug : -d
– outils associés – Type de requête: -t a , -t ns ...
• Serveur processus particulier • dig
– Port 53 en TCP ou UDP
– nom: named

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 13 © P. Sicard-Cours Réseaux DNS, DHCP 14

Résolution inverse Exemple de résolution inverse


• Trouver le nom à partir de l’adresse • paros.imag.fr
• Même principe que pour les noms • 229.38.88.129.in-addr.arpa
• Chaque octet de l’adresse IP est vue comme un sous domaine .
• Un domaine TLD particulier : arpa
• Sous domaines arpa fr
– in-addr pour les adresses IPV4
– ip6 pour les adresses IPV6 in-addr ip6 imag
• Exemple: 229.38.88.129.in-addr.arpa
129 130 paros

88 89

38

229

© P. Sicard-Cours Réseaux Le Domain Name System DNS 15 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 16
Fichiers systèmes de lancement des
serveurs applicatifs Fichiers “système” de configuration DNS
côté client
• Fichier: /etc/inetd.conf
– Permet de spécifier la liste des serveurs des applications standards (telnet, ssh, • Système à la Unix: Fichier /etc/resolv.conf
ftp ...) à lancer au démarrage
– Processus inetd consulte ce fichier – Adresse du serveur et suffixe par défaut
– A tuer (killall inetd) et relancer (inetd) » Exemple:
– Exemple: • search imag.frimag.fr
– # Internet server configuration database • nameserver 195.221.224.1
# • nameserver 129.88.30.1
# @(#)inetd.conf 5.4 (Berkeley) 6/30/90
# • Fichier permettant d’activer le client DNS
# Items with double hashes in front (##) are not yet implemented in the OS.
# – On peut activer ou non la résolution de nom par DNS ou /etc/hosts
#finger stream tcp nowait nobody /usr/libexec/tcpd fingerd -s – FreeBSD: /etc/host.conf
#ftp stream tcp nowait root /usr/libexec/tcpd ftpd -l – Unix/solaris: /etc/nsswitch.conf
login stream tcp nowait root /usr/libexec/tcpd rlogind
#nntp stream tcp nowait usenet /usr/libexec/tcpd nntpd
#ntalk dgram udp wait root /usr/libexec/tcpd ntalkd

© P. Sicard-Cours Réseaux Le Domain Name System DNS 17 © P. Sicard-Cours Réseaux Le Domain Name System DNS 18

Le fichier named.conf
Fichiers “système” de configuration DNS options
côté serveur {
directory "/var/spool/named";
};

• Configuration du processus serveur (Système à la Unix) zone "0.0.127.in-addr.arpa" {


– FreeBSD: /etc/namedb/named.conf type master;
file "rev.127.0.0";
– Unix/solaris/Linux: /etc/named.conf };

– Contient la liste des zones gérées par le serveur zone "imag.fr" {


type slave;
» Nom du domaine file "imag.fr.zone";
masters { 129.88.30.1; };
» Nom du fichier “base de donnée” };
» Type master/slave zone "224.221.195.in-addr.arpa" {
type slave;
– Spécifie l’endroit où se trouve les fichiers “base de donnée” file "rev.195.221.224";
masters { 129.88.30.1; };
– Contient au moins la base de données des serveurs racines };
zone "." {
type hint;
file "root.cache";
© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 19 };© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 20
Le fichier named.conf Base de donnée des serveurs racine (root.cache)
; <<>> DiG 9.2.3 <<>>
• Directory des fichiers de base de donnée ;; global options: printcmd
– /var/spool/named ;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10369
• Zone imag.fr ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
– Fichier imag.fr.zone ;; QUESTION SECTION:
– Type esclave ;. IN NS
– Adresse du maître: 129.88.30.1 ;; ANSWER SECTION:
. 307709 IN NS L.ROOT-SERVERS.NET.
• Zone 224.221.195.in-addr.arpa . 307709 IN NS M.ROOT-SERVERS.NET.
. 307709 IN NS A.ROOT-SERVERS.NET.
– Résolution inverse
. 307709 IN NS B.ROOT-SERVERS.NET.
. 307709 IN NS C.ROOT-SERVERS.NET.
• Zone 0.0.127.in-addr.arpa ...
– Inclu dans tous les serveurs DNS ;; ADDITIONAL SECTION:
• Zone racine “.” L.ROOT-SERVERS.NET. 394109 IN A 198.32.64.12
M.ROOT-SERVERS.NET. 394109 IN A 202.12.27.33
– Zone indispensable pour effectuer la résolution A.ROOT-SERVERS.NET. 394109 IN A 198.41.0.4
– Fichier root.cache B.ROOT-SERVERS.NET. 394109 IN A 192.228.79.201
– dig @a.root-servers.net.ns > root.cache ;; Query time: 28 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 19:15:21 2004
;; MSG SIZE rcvd: 436

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 21 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 22

Base de donnée de imag.fr


Base de donnée de imag.fr
$ORIGIN . • $ORIGIN: spécifie le suffixe à ajouter aux noms qui suivent
$TTL 7200 ; 2 hours
imag.fr IN SOA imag.imag.fr. fr-imag-subdom-admin.imag.fr. ( • $TTL (Time to Live): durée de vie maximale dans le cache
2004040204 ; serial • imag.fr: nom d’un domaine
21600 ; refresh (6 hours)
3600 ; retry (1 hour) • SOA (Start Of Authority): spécifie des information relative à l’administrateur du
3600000 ; expire (5 weeks 6 days 16 hours) domaine
86400 ; minimum (1 day)
) – imag.imag.fr: nom du serveur primaire
NS dns.inria.fr.
NS ns2.nic.fr. – 2004040204 : Numéro de version!: (aammjjVV) qui permet au serveur secondaire
NS imag.imag.fr. de détecter des modifications
NS isis.imag.fr.
A 129.88.30.1 – 21600!: (en seconde) période de rafraîchissement (interrogation des secondaires
MX 10 imag.imag.fr. pour maj)
MX 20 harmonie.imag.fr.
MX 50 mx-serv.inrialpes.fr. – 3600!: durée minimale entre deux interrogation secondaire-> primaire
TXT "IMAG BP 53 F-38041 GRENOBLE Cedex 9 (France)"
TXT "Institut d'Informatique et de Mathematiques Appliquees" – 3600000!: durée maximale au-delà non garantie
TXT "or IMAG 46 Av. Felix Viallet F-38031 GRENOBLE Cedex – 86400!: durée de vie minimale des autres champs de la zone

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 23 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 24
Base de donnée de imag.fr (suite)
$ORIGIN imag.fr.
Base de donnée DNS
abricot A 152.77.201.179
MX 10 imag
MX 20 harmonie • Les champs ont le même nom que les types des requêtes
MX 50 mx-serv.inrialpes.fr.
abricotier CNAME abricotier.inrialpes.fr. • NS indique les serveurs de la zone
abyssin A 129.88.33.45
MX 10 imag – Le serveur répondra avec ces informations à une requête ns
MX 20 harmonie
MX 50 mx-serv.inrialpes.fr. • MX indique les serveurs de courriers (protocole SMTP)
acacia2 CNAME acacia2.inrialpes.fr. – 1re colonne : Poids indiquant la priorité dans le cas de plusieurs serveurs de mail
acajou CNAME Texte
acajou.inrialpes.fr.
achab A 129.88.33.38 (poids faible -> plus grande priorité)
MX 10 imag • A indique pour un nom, l’adresse correspondante
MX 20 harmonie
MX 50 mx-serv.inrialpes.fr. • TXT donne des indications textuelles comme l’adresse postale
$ORIGIN ad.imag.fr.
sv-fede A 129.88.28.100 • CNAME donne le nom canonique
$ORIGIN imag.fr.
adagio A 129.88.103.23
MX 10 imag
MX 20 harmonie
MX 50 mx-serv.inrialpes.fr.

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 25 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 26

Type de serveurs Echange des bases de données

• Serveur maître, principal • Echange classique


– Modification sur lequel sont faites les modifications par l’administrateur – Un serveur secondaire d’une zone interroge régulièrement le serveur primaire de
cette zone (à l’initiative du secondaire)
– Il a l’origine de l’autorité sur une zone (Start Of Autority SOA) – La fréquence de mise à jour est indiqué par la valeur REFRESH dans le SOA
– Mise à jour possible de serveur secondaire à primaire mais aussi de secondaire à
• Serveur esclave, secondaire secondaire
– Interroge et récupère régulièrement les bases de données depuis le serveur maître – La version d’une zone est identifiée par son numéro de série (SERIAL). A chaque
– Peut posséder un cache pour minimiser les requêtes (Non authoritative Reponse) modification elle est augmentée
– Le serveur secondaire transfert d’abord le SOA de la zone et vérifie le numéro de
• Une réponse à une interrogation peut être faite par un serveur série
primaire ou secondaire » Si c’est le cas il demande le transfert soit de la base de donnée complète , soit
seulement des modifications (transfert incrémental)
• Un serveur peut être secondaire pour certaines zones et primaire – La récupération de la base de donnée se fait au dessus de TCP
pour d’autres • Echange sur modification
– Pour accélerer la mise à jour des bases de données, un serveur primaire peut
notifier aux serveurs secondaires la modification

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 27 © P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 28
Le DNS dans la pratique

• Le serveur
– Fichiers de configuration
» Unix/linux: /etc/named.conf
» Free BSD: /etc/namedb/named.conf
– Base de données
» Spécifié dans le fichier de configuration
– Lancement du serveur
» Unix/linux: /etc/rc.d/init/named restart
» Free BSD: named -b /etc/namedb/named.conf
• le client
– Fichier de spécification du serveur DNS: /etc/resolv.conf
– Fichier de spécification de la résolution de nom:
» Unix/linux: /etc/nsswitch.conf
» Free BSD: /etc/host.conf

© P. Sicard-Cours Réseaux Applications Réseaux (DNS..) 29

Das könnte Ihnen auch gefallen