• Aucun résultat trouvé

1 G´ en´ eralit´ es sur le serveur de noms

Dans le document Cours d’introduction `a TCP/IP (Page 119-123)

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

Dans le document Cours d’introduction `a TCP/IP (Page 119-123)