S’il est obligatoire d’attribuer au moins une adresse IP `a une pile ARPA pour pouvoir l’interconnecter en r´eseau avec d’autres piles de mˆeme nature, en revanche, lui attribuer un nom symbolique n’est absolument pas n´ecessaire au bon fonctionnement de ses trois couches basses.
Ce nommage symbolique est simplement beaucoup plus naturel pour les humains que la manipulation des adresses IP, mˆeme sous forme d´ecimale point´ee (adresses IP page 31). Il n’intervient donc qu’au niveau applicatif, ainsi la majeure partie des applications r´eseaux font usage de noms symbo-liques avec, de mani`ere sous-jacente, une r´ef´erence implicite `a leur(s) corres-pondant(s) num´erique(s).
Ce chapitre explore les grandes lignes du fonctionnement de ce que l’on nomme le “ serveur de noms ”, lien entre cette symbolique et l’adressage IP qui lui est associ´e .
Pour terminer cette introduction, il n’est pas innocent de pr´eciser que le serveur de noms est en g´en´eral le premier service mis en route sur un r´eseau, tout simplement parceque beaucoup de services le requi`erent pour accepter de fonctionner (le courrier ´electronique en est un exemple majeur). C’est la raison pour laquelle l’usage d’adresses IP sous la forme d´ecimale point´ee reste de mise lors de la configuration des ´el´ements de commutation et de routage1.
1.1 Bref historique
Au d´ebut de l’histoire de l’Internet, la correspondance entre le nom (les noms s’il y a des synonymes ou “ alias ”) et l’adresse (il peut y en avoir plusieurs associ´ees `a un seul nom) d’une machine est plac´ee dans le fichier /etc/hosts, pr´esent sur toutes les machines unix dot´ees d’une pile Arpa.
Ci-apr`es le fichier en question, pr´elev´e (et tronqu´e partiellement) sur une machine FreeBSD2 `a jour. On y remarque qu’il ne contient plus que l’adresse
1Eviter un blocage dˆ´ u `a l’interrogation des serveurs de noms
2www.freebsd.org
de “ loopback ” en ipv6 et ipv4.
# $FreeBSD: src/etc/hosts,v 1.11.2.4 2003/02/06 20:36:58 dbaker Exp $
#
# Host Database
#
# This file should contain the addresses and aliases for local hosts that
# share this file. Replace ’my.domain’ below with the domainname of your
# machine.
#
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/host.conf for the resolution order.
#
#
::1 localhost localhost.my.domain 127.0.0.1 localhost localhost.my.domain
Au d´ebut des ann´ees 1980 c’est le NIC3 qui g`ere la mise `a jour continuelle de cette table (HOSTS.TXT), avec les inconv´enients suivants :
– Absence de structure claire dans le nommage d’o`u de nombreux conflits entre les noms des stations. Par exemple entre les dieux de la mythologie grecque, les plan`etes du syst`eme solaire, les h´eros historiques ou de bandes dessin´ees. . .
– Centralisation des mises `a jour, ce qui entraine :
1. Une lourdeur du processus de mise `a jour : il faut passer par un interm´ediaire pour attribuer un nom `a ses machines.
2. Un trafic r´eseau (ftp) en forte croissance (N2 si N est le nombre de machines dans cette table) et qui devient rapidement ing´erable au vu des bandes passantes de l’´epoque (quelques kilo bits par seconde), et surtout jamais `a jour compte tenu des changements continuels.
D’apr`es Douglas E. Comer, au milieu des ann´ees 1980 (1986) la liste officielle des hˆotes de l’Internet contient 3100 noms et 6500 alias !
La forte croissance du nombre des machines, a rendu obsol`ete cette approche.
1.2 Syst` eme hi´ erarchis´ e de nommage
L’espace de noms, pr´ealablement non structur´e, est d´esormais r´eorganis´e de mani`ere hi´erarchique, sous forme d’un arbre (et non d’un graphe).
Cette organisation entraine une hi´erarchisation des noms de machines et des autorit´es qui ont le pouvoir de les nommer, de les maintenir.
Chaque nœud de l’arbre porte un nom, la racine n’en a pas. Les machines, feuilles de l’arbre, sont nomm´ees `a l’aide du chemin parcouru de la feuille (machine) `a la racine (non nomm´ee).
3“ Network Information Center ” (http ://www.internic.net/)
Syst`eme hi´erarchis´e de nommage 105 Le s´eparateur entre chaque embranchement, ou nœud, est le point
d´ecimal. Voici un exemple de nom de machine : www.sio.ecp.fr
Derri`ere ce nom il faut imaginer un point (.) qui est omis la plupart du temps car il est implicite4. La lecture s’effectue naturellement de gauche `a droite, par contre la hi´erarchie de noms s’observe de droite `a gauche.
Domaine & zone
Le r´eseau peut ˆetre consid´er´e comme une hi´erarchie de domaines. L’espace des noms y est organis´e en tenant compte des limites administratives ou organisationnelles. Chaque nœud, appel´e un domaine, est baptis´e par une chaˆıne de caract`eres et le nom de ce domaine est la concat´enation de toutes les ´etiquettes de nœuds lues depuis la racine, donc de droite `a gauche. Par exemple :
fr Domaine fr
ecp.fr Domaine ecp.fr sous domaine du fr
sio.ecp.fr Domaine sio.ecp.fr sous domaine de ecp.fr
Par construction, tout nœud est un domaine, mˆeme s’il est terminal, c’est
`a dire n’a pas de sous domaine. Un sous domaine est un domaine `a part enti`ere et, except´ee la racine, tout domaine est un sous domaine d’un autre.
Bien que le serveur de noms, “ Domain Name Server ” fasse r´ef´erence explicitement au concept de domaine, pour bien comprendre la configuration d’un tel service il faut ´egalement comprendre la notion de “ zone ”.
Une zone est un point de d´el´egation dans l’arbre DNS, autrement dit une zone concerne un sous arbre du DNS dont l’administration lui est propre.
Ce sous arbre peut comprendre plusieurs niveaux, c’est `a dire plusieurs sous domaines. Une zone peut ˆetre confondue avec le domaine dans les cas les plus simples.
Dans les exemples ci-dessus, on peut parler de zone sio.ecp.fr puisque celle-ci est g´er´ee de mani`ere autonome par rapport `a la zone ecp.fr.
Le serveur de noms est concern´e par les “ zones ”. Ses fichiers de confi-guration5 pr´ecisent la port´ee de la zone et non du domaine.
Chaque zone doit avoir un serveur principal (“ primary server ”) qui d´etient ses informations d’un fichier configur´e manuellement ou semi ma-nuellement (DNS dynamique). Plusieurs serveurs secondaires (“ secondary server ”) recoivent une copie de la zone via le r´eseau et pour assurer la conti-nuit´e du service (par la redondance des serveurs).
Le fait d’administrer une zone est le r´esultat d’une d´el´eguation de pouvoir de l’administrateur de la zone parente et se concr´etise par la responsabilit´e de configurer et d’entretenir le champSOA (“ start of authority ”, page 118) de la-dite zone.
4Sauf justement dans les fichiers de configuration du serveur de noms, voir plus loin
5named.boot vs named.conf
Hi´erarchie des domaines
Cette organisation du nommage pallie aux inconv´enients de la premi`ere m´ethode :
– Le NIC g`ere le plus haut niveau de la hi´erarchie, appel´e aussi celui des
“ top levels domains ” (TLD).
– Les instances r´egionales du NIC g`erent les domaines qui leur sont d´evolus. Par exemple le “ NIC France ”6 g`ere le contenu de la zone.fr.
Le nommage sur deux lettres des pays est issu de la norme ISO 31667. – Chaque administrateur de domaine (universit´es, entreprises,
associa-tions, entit´es administratives,. . .) est en charge de son domaine et des sous domaines qu’il cr´ee. Sa responsabilit´e est nomminative vis `a vis du NIC. On dit aussi qu’il a l’autorit´e sur son domaine (“ authoritative for the domain ”)8
Domaines du second niveau
Domaines génériques Domaines nationaux
Emirats Unis Arabes
Zimbabwe
Contour de zone in−addr
138
195
10
52 52.10.195.138.in−addr.arpa.
ecp
cti sio
arpa com edu gov int mil net org ae fr zw
Domaines du niveau le plus élevé (TLD)
Racine non nommée
Sens de lecture
figure VII.01
6http ://www.nic.fr/
7On peut les voir en d´etail `a cette adressehttp ://www.nw.com/zone/iso-country-codes
8Une base de donn´ees sur les administrateurs de DNS est entretenue par les NICs, c’est la base “ whois ”, interrogeable par l’utilitaire du mˆeme nom. Consulter le site http ://www.ripe.net/pour plus d’informations, ´egalement “man whois” sur une ma-chine unix