Vous êtes sur la page 1sur 36

CHAPITRE 3

La couche Application

D N S

Domaine Name System


Protocole de résolution de nom
PLAN

1. Introduction et historique

2. Organisation de l’espace de nom

3. Notion de domaine et de zone

4. Processus de résolution du nom d’une machine

2
Introduction
•TCP/IP permet l’accès aux Hôtes par leurs adresses IP

ping 192.168.1.2
ssh 192.168.1.3

•Il est pratiquement impossible aux humains de retenir toutes les


adresses IP des machines auxquelles ils veulent accéder.

•Il est plus facile de retenir le nom d’une machine que l’adresse IP.

ping machine1
ssh machine2

•Comment trouver l’adresse IP d’une machine à partir de son nom3?


Historique

•Au départ il existait un nombre de machines restreins ( sur


Internet ou dans les réseaux locaux )

• La solution était d’utiliser un fichier sur chaque machine

• Ce fichier contient les noms des machines du réseau avec leur


adresse IP

• Remarque :
Sous Linux /etc/hosts et
Sous Windows C:\WINDOWS\system32\drivers\etc\hosts
4
• Par exemple, à partir de la machine3 lorsqu’on exécute la commande ping
machine1 la commande demande à récupérer l’adresse de la machine à partir du
fichier puis la commande s’exécute.

• Remarque : On peut attribuer plusieurs noms à une machine. 5


Problèmes liés au fichier /etc/hosts

• Cette solution pose des problèmes :


– La mise à jours du fichiers : à chaque ajout , suppression ,
modification du nom ou de l’adresse d’une machine il
faut mettre à jour les fichiers sur toutes les machines.
– Si le nombre de machines est très grand , la maintenance
du fichier devient pratiquement impossible.
– ne garantie pas l’unicité des noms de machines .

• C’est pour cela le système DNS ( Domain Name System ) à


été proposé en 1984.

6
Rôle et Principe du D N S
• Le rôle principal du système DNS est :
• D’identifier une machine par un nom représentatif et
unique.
• De faire les correspondances :
Nom machine  @ IP machine
@IP machine  Nom machine

• L’idée de base est de garder le même principe du fichier /etc/hosts


, mais ce fichier est éclaté en plusieurs fichiers de petites tailles
 pour une gestion plus facile.
• Aussi , les fichiers ne sont plus gérés par les machines elles
mêmes , mais par des serveurs dédiés.
7
Architecture du système DNS

• Le système DNS fonctionne selon le modèle Client/serveur.

• Le Client DNS émet une requête au serveur DNS pour


chercher l’adresse IP d’une machine ou le nom d’une machine.

• Une machine client doit connaître au moins un serveur DNS (


configuré manuellement ou obtenu par DHCP )

8
Architecture du système DNS

• Le serveur DNS :
– Chaque serveur de nom ( serveur DNS ) gère sa propre base
de données ( fichier )  il ne connait qu’une partie de
l’espace de nom des machines .

– Son rôle est de répondre aux différentes requêtes des clients


concernant les machines qu’il gère .

– Pour Trouver l’adresse IP d’une machine, il faut contacter


plusieurs serveurs de noms .

9
Utilisateur
Serveur
www.esi.dz DNS 2

@ Ip
www.esi.dz ??
Serveur
DNS 3

Serveur …

DNS 1 …


… Serveur
DNS n

10
Convention de nommage des machines

• Dans le système DNS chque machine possede un nom .


• Séquence de labels séparés par des points.
• label au maximum 63 caractères
• nom au maximum 255 caractères
• insensible à la casse
• Exemple :
– www.esi.dz
– ftp.esi.dz
– www.emp.edu.dz
– ftp.redhat.com

• Le DNS utilise une organisation hiérarchique pour bien gérer les nom des
machines
11
Organisation de l’espace de nom du DNS
• Le DNS est un système hiérarchique ( Arborescence)
• Il commence par un nœud racine noté « . »

“”

arpa com edu gov org dz

cisco esi

www ftp www

12
Définition d’un domaine
• L’espace de nom est divisé en domaine  Chaque nœud
représente un domaine .

• Un domaine est la partie de l’arborescence à partir du nœud


portant son nom.

• Chaque domaine a au moins un serveur DNS d’autorité  Ce


serveur d’autorité contient la base complète des machines qui
existe dans ce domaine.

• Chaque nœud ( serveur ) est responsable de ses données

13
Le sous domaine

• Un sous domaine est un domaine inclut dans un autre.

• Par exemple :
– le domaine dz. est l’arborescence à partir du nœud dz
– et esi.dz. est un sous domaine du domaine dz.

14
Exemple : le domaine dz divisé en plusieurs sous-domaines

Domaine .dz
com org
dz

esi.dz
usthb.dz

ina

www ftp

Sous domaine Sous domaine Sous domaine


usthb.dz ina.dz esi.dz

15
Le domaine usthb.dz divisé en plusieurs sous
domaines “”

dz

domaine
usthb.dz

usthb

de rectorat cs me

de.usthb.dz rectorat.usthb.dz cs.usthb.dz me.usthb.dz 16


Précision du nom d’une machine
•Le nom d’une machine est exprimé à partir de la racine jusqu'au
nom relative du domaine au quelle elle appartienne.
•Ce nom complet s’appel FQDN : Fully Qualiffied Domain Name.

www.esi.dz.

17
Unicité des noms de machines
•Il n’existe pas dans le système DNS deux nœuds du
même niveau qui porte le même nom

dz

esi usthb
ina

mail www mail

mail.esi.dz mail.usthb.dz
18
Domaines existant
• Les domaines du premier niveau ou Top Level Domain(TLD)

•Deux grande catégories : gTLD et ccTLD

• Génériques internationaux (gTLD) en trois lettres


–.com : organisations commerciales ; (ex: ibm.com)
– .edu : organisations concernant l’education ; (ex: mit.edu)
– .gov : organisations gouvernementales ; (ex: nsf.gov)
– .mil : organisations militaires ; (ex: army.mil)
– .net : organisations réseau Internet ; (ex: worldnet.net )
– .org : organisations non commerciales ; (ex: icann.org)

•Liste des domaines génériques et de leur registre associé sur le


site: www.iana.org/gtld/gtld.htm

19
Les domaines ccTLD

• Par pays (ou Country Code) en deux lettres :


– .dz : Algérie
– .fr : France
– .us : USA
– .jp : Japon
– .ma : Maroc
– .tn : Tunisie

• Liste des ccTLD sur le site : www.icann.org/cctlds

20
Les DNS racine
•Les serveurs racine gèrent les domaines TLD .
•Il existe un nombre restreint de serveurs racine au tour du monde
• Il existe 13 serveurs noté [A..M] , répartie a travèr le monde.

21
Les DNS racine
Contenu du fichier named.ca ( ce fichier existe au
niveau de chaque serveur DNS )
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 22
Responsabilité administratif

• La gestion de chaque nœud peut être effectuée par des entités


différentes.

• ICANN (Internet Corporation for Assigned Names and


Numbers) gère les TLD .

• Chaque organisation gère son sous domaine avec son propre


serveur DNS .

23
Responsabilité administratif : exemple
•Chaque domaine est géré par un organisme à part
•Ex : le domaine .dz est géré par le CERIST .
•La gestion des sous domaines peuvent être délégué à d’autres organismes
•Ex : le sous domaine esi.dz est géré par l’ESI.

“”

dz org mil
Sous domaine
esi.dz
edu com

géré par l’ESI


24
Définition d’une Zone

• Une Zone est la base de données associée à un nœud. Elle


comporte :
– Noms/Adresses des serveurs du domaine lui-même
– La liste des serveurs des sous domaines
– Noms/Adresses des machines de ce domaine

• L’exemple suivant montre un extrait des fichiers de zone :


– d’un serveur racine ,
– d’un serveur responsable du domaine .dz.
– d’un serveur responsable du domaine esi.dz .

25
Exemple de fichier de zone pour un serveur racine
(exemple le serveur M.ROOT-SERVERS.NET. ayant l’adresse 202.12.27.33)
…………………………………………………………………………………
DZ. NS CASBAH.ELDJAZAIR.NET.DZ.
DZ. NS DECST.CERIST.DZ.
DZ. NS NS3.NIC.FR.
DZ. NS NS-DZ.RIPE.NET.
CASBAH.ELDJAZAIR.NET.DZ. A 193.194.81.45
DECST.CERIST.DZ. A 193.194.64.11
……………………………………………………………………………………..

Exemple de fichier de zone pour le domaine .dz


(le serveur DECST.CERIST.DZ. ayant l’adresse 193.194.64.11)
…………………………………………………………………………..
esi.dz. NS ns.esi.dz.
esi.dz. NS ns1.esi.dz.
usthb.dz. NS ns.usthb.dz.
umbb.dz. NS ns.umbb.dz.
ns.esi.dz. A 193.194.77.227
ns.usthb.dz. A 193.194.77.200
ns.umbb.dz. A 193.194.64.45
……………………………………………………………………………

Exemple de fichier de zone pour le domaine esi.dz


(le serveur ns.esi.dz. ayant l’adresse 193.194.77.227)
…………………………………………………………………….
IN NS ns.esi.dz
ns.esi.dz. IN A 193.194.77.227
poste2.esi.dz. IN A 12.42.112.243
poste3.esi.dz. IN A 12.42.112.244
ftp IN CNAME poste2.esi.dz
mail IN CNAME poste3.esi,dz
www IN CNAME poste3.esi.dz. 26
Exemple de fichier de zone pour un serveur racine
(exemple le serveur M.ROOT-SERVERS.NET. ayant l’adresse 202.12.27.33)

.TN. ……………………………………………………………………………
DZ. NS CASBAH.ELDJAZAIR.NET.DZ.
DZ. NS DECST.CERIST.DZ.
DZ. NS NS3.NIC.FR.
DZ. NS NS-DZ.RIPE.NET.
CASBAH.ELDJAZAIR.NET.DZ. A 193.194.81.45
DECST.CERIST.DZ. A 193.194.64.11
.FR. ……………………………………………………………………………………..

Exemple de fichier de zone pour le domaine .dz


(le serveur DECST.CERIST.DZ. ayant l’adresse 193.194.64.11)

…………………………………………………………………………..
esi.dz. NS ns.esi.dz.
esi.dz. NS ns1.esi.dz.
usthb.dz. NS ns.usthb.dz.
umbb.dz. NS ns.umbb.dz.
ns.esi.dz. A 193.194.77.227
ns.usthb.dz. A 193.194.77.200
ns.umbb.dz. A 193.194.64.45
……………………………………………………………………………
Exemple de fichier de zone pour le domaine esi.dz
(le serveur ns.esi.dz. ayant l’adresse 193.194.77.227)
…………………………………………………………………….
IN NS ns.esi.dz
ns.esi.dz. IN A 193.194.77.227
poste2.esi.dz. IN A 12.42.112.243
poste3.esi.dz. IN A 12.42.112.244
ftp IN CNAME poste2.esi.dz
mail IN CNAME poste3.esi,dz
www IN CNAME poste3.esi.dz.
Les enregistrements d’un serveur de nom
Ressource Records (RR)

• UNE ligne dans un fichier de configuration de ZONE peut être :

– Host IN NS Serveur : nom du serveur de nom lui même

– Host IN A Adresse : adresse IPv4 d’une machine

– Host IN AAAA Adresse : adresse IPv6 d’une machine

– nomdomain IN MX pref Host : nom du serveur de messagerie

– Alias IN CNAME Host : alias d ’une machine

• Chaque ressource possede une durée de validité TTL

28
Processus de résolution du nom d’une machine
comment trouver l’adresse d’une machine ?

• Le client peut interroger le serveur DNS pour avoir différents


types de ressources : NS, A, CNAME, MX, ….

• Le client doit connaitre aux moins un serveur de nom


(généralement un serveur local).

• Le serveur DNS local connait les adresses des serveurs


racine.

• C’est le client qui déclenche le processus de résolution de nom


(recherche de l’adresse IP par exemple).
29
Utilisateur ……………………….
dz. - 193.194.64.11
www.esi.dz .tn.  197.2.1.4
2 …………………

8 193.194.77.196 Serveur DNS


racine
1 3
@ Ip
www.esi.dz ??
4 …………………………
esi.dz.  193.194.77.227
Qui gère le Domaine esi.dz. usthb.dz  195.120.12.128
……………………….

@IP serveur DNS esi.dz. 193.194.77.227


Serveur DNS 5 Serveur DNS dz.
local

6
www  193.194.77.196
ftp  193.194.77.197
………………………..
7
30
Serveur DNS esi.dz
• Voici l’explication des étapes présentées dans le schéma :
1. Le Client contacte son serveur DNS local pour lui demander de rechercher
l’adresse IP de la machine www.esi.dz.
2. Ce dernier consulte ça base de données, pour récupérer l’adresse IP d’un des
serveurs racine. Il lui envoi une requête d’interrogation du type NS pour récupérer
l’adresse IP du serveur DNS responsables du domaine dz.
3. Le serveur racine luis envoi la liste des serveurs responsables du domaine dz.
4. Le serveur local, contacte l’un des serveurs responsables du domaine .dz en
envoyant une requête du type NS pour lui demander l’adresse IP du serveur DNS
responsable du domaine esi.dz.
5. Le serveur responsable du domaine .dz renvoi la liste des serveurs DNS
responsables du domaine esi.dz
6. Le serveur local envoi une requête du type A , à un des serveurs responsables du
domaine esi.dz.
7. Le serveur responsable du domaine esi.dz, consulte son fichier de zone, s’il trouve
la machine www.esi.dz alors il renvoi l’adresse IP associée à cette machine.
8. Le serveur local renvoi le résultat au client , alors le client peut maintenant accéder
à la page web .

31
Remarques

• C’est le même processus de résolution quelques que soit le


type de la ressource recherchée.

• Avec la commande nslookup , on peut interroger un serveur


DNS en interactive.

• La commande dig permet de récupérer des informations sur la


zone d’un serveur de nom.

32
Amélioration du processus de résolution

• Utilisation d’un mécanisme de cache dans le serveur “local”


pour limiter le nombre d’interrogations.

• Après chaque requête de résolution , le serveur sauvegarde le


résultat dans son cache.

• Chaque résultat possède une durée de vie limitée TTL(Time


To Live) spécifiée dans les réponses

33
Amélioration du processus de résolution

• L’utilisation d’un cache :


– évite la surcharge du réseau ,
– diminue les délais de réponse
– et baisse la charge des serveurs de haut niveau

34
Serveur DNS primaire et secondaire
• Souvent pour un domaine on utilise deux serveurs DNS : un serveur
primaire (maître) et des serveurs secondaires (esclaves).

• Serveur primaire : origine des informations d’une zone.

• Les Serveurs secondaires : Les serveurs secondaires se


synchronisent avec le primaire (ils comportent la même base de
données)

• A chaque modification de la base de données du primaire, le


secondaire la récupère d’une façon automatique.

35
Serveur DNS primaire et secondaire
• Le serveur secondaire , contacte périodiquement le serveur primaire
pour vérifier si le fichier de zone à été mis à jours ou non
•S’il y a un changement , le secondaire récupère le nouveau fichier et mis
à jours son fichier .

• Le serveur DNS attend les requêtes sur le port 53 en:


–UDP: les requêtes de recherche ( résolution )
–TCP: transfert de zone par les serveurs secondaires .
36

Vous aimerez peut-être aussi