Présentation de DNS Présentation de DNS M1 Info M 1 Info

difficulthopefulSoftware and s/w Development

Jul 2, 2012 (5 years and 3 months ago)

285 views

1
Couche ApplicationCouche Application
Présentation de DNS
Présentation de DNS
M1 Info
M1 Info
Cours de Réseaux
Cours de Réseaux
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
1
1
M1

Info

M1

Info



Cours

de

RéseauxCours

de

Réseaux
Z. Mammeri
Z. Mammeri
X. DNS
X. DNS
DNS en bref
DNS : Domain Name System
RFC 1034 et RFC 1035 en 1987 (mis à jour à plusieurs reprises)
Composant aussi important pour Internet que IP
Adressage de machine/équipement
Chaque machine a une adresse (IPv4 ou IPv6)
Les adresses IP ne sont pas faciles à retenir
Exemples : 66.249.93.104, 141.115.28.2, 213.248.111.98
Chaque machine a un nom logique à l’intérieur d’un domaine
Composant

aussi

important

pour

Internet

que

IP

Sans DNS : pas d’accès au Web, pas d’envoi de mail…
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
2
2
Rôle de DNS
Faciliter l’adressage des ‘machines’ sur un réseau IP
Faire la correspondance ente un nom logique et une adresse IP
Les noms logiques (sous forme de textes) sont plus faciles à retenir
Exemples : www.google.fr,irit.irit.fr,www.tf1.fr
2
X. DNSX. DNS
DNS en bref
IPv4:2
32
- 1 machines différentes (au maximum)
IPv6: 2
128
- 1 machines différentes (au maximum)
La difficulté de DNS n’est pas au niveau des concepts qui le
définissent mais au niveau de la mise en œuvre :
- un répertoire mondial
- des millions d’utilisateurs par jour
l t d’ è l’ è d it êt i t ibl
L’utilisation du fichier HOSTS est irréaliste à grande échelle
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
33
-
l
e
t
emps
d’
acc
è
s
l’
acc
è
s
d
o
it

êt
re auss
i
cour
t
que poss
ibl
e
Le DNS global est constitué de dizaines de milliers de bases de
données (parfois dupliquées)
DNS la base de données la plus répartie au monde
X. DNS
X. DNS
Notion de domaine
IPv4:2
32
- 1 machines différentes (au maximum)
IPv6: 2
128
- 1 machines différentes (au maximum)
Gérer les machines par domaine
Chaque groupe de machines est sous la responsabilité d’une autorité
Organisation plate (i.e. considérer les machines individuellement) est trop
coûteuse et impraticable à cause des délais d’accès
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
4
4
Organiser des domaines de manière hiérarchique
Choisir les noms de domaines pour refléter les structures auxquelles
appartiennent les machines de ces domaines
3
X. DNSX. DNS
Portion de l’arborescence de domaine
Racine
fr
zw
net
gov
edu
mil
com

1
er
N
TLD
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
55
irit
Ups-tlse
mig
pca
staps
2
ème
N
3
ème
N
X. DNSX. DNS
Sur les domaines
Domaine = ensemble de machines reliées à Internet et ayant un point
commun (appartenant à une même entreprise ou ville, un même pays …)
Le système de noms de domaine est hiérarchique, permettant la définition
de sous-domaine(s).
Il existe des domaines de 1
er
, 2
ème
, 3
ème
, 4
ème
… niveaux
Domaines de premier niveau -Top Level domains (TLD)
Un TLD spécial : .arpa
(géré par l’IANA : Internet Assigned Numbers Authority
)
Environ 20 TLD génériques
Non commandités : .com, .net, .org, .info, .biz, .pro, .name
Commandités :.edu
,
.
g
ov
,
.mil
,
.int
,
.coo
p
,
.museum
,
.aero
,
.
j
obs
,
.travel
,
.cat
,

Couche Application – DNS – M1 Info – Z. Mammeri - UPS
6
6
,
g
,
,
,
p
,
,
,
j
,
,
,
.mobi, .tel, .asia
Environ 260 TLD nationaux: .ac, …, .fr, …, .zw
Certains pays ont plus d’un TLD (ex. .fr: France, .re: île de la réunion…)
Certains TLD ne sont plus utilisés (des pays ont changé de nom)
Les TLD français sont gérés par l’AFNIC (Association française pour le
nommage Internet en coopération)
4
X. DNSX. DNS
Eléments de base de DNS
DNS
=
Trois composants
DNS

Trois

composants
Base de données de DNS (appelée aussi Enregistrements de
ressources)
Chaque nœud dans l’espace d’arborescence contient un sous-ensemble
des infos (@IP, type de ressource…)
Serveurs de noms
Serveurs qui stockent et fournissent des informations sur l’arborescence
de noms sur demande d’autres sites
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
77
Protocole d’échange DNS
Programmes qui extraient des infos à partir de serveurs de noms
X. DNSX. DNS
Redondance des serveurs DNS
Les serveurs (et leur BD) sont répliqués:serveur primaire (autorité) et
Chaque domaine doit être défini, au minimum, dans deux serveurs DNS
Les

serveurs

(et

leur

BD)

sont

répliqués

:

serveur

primaire

(autorité)

et
serveurs de secours
rpi edu
google fr
google.fr
Serveur DNS de google.fr
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
88
rpi.edu
DNS DB
rpi
.
edu
DNS DB
google
.
fr
BD DNS
Autorité
BD DNS
Réplicas
5
X. DNSX. DNS
Serveur de nom DNS
Chaque serveur contient
Une liste des ressources (noms de domaines) pour lesquelles il peut
fournir des infos (notamment l

@IP)
Il existe des centaines de milliers de serveurs DNS dans le monde entier.
Chacun n'a en réalité à sa disposition qu'un ensemble d'informations restreint
DNS = le système le plus réparti au monde
L’ensemble du DNS sont structurés selon une hiérarchie
fournir

des

infos

(notamment

l @IP)
La liste des ressources pour lesquelles il connaît des serveurs de noms
qui peuvent fournir des infos sur ces ressources
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
99
Au sommet de la hiérarchie, il y a les serveurs Racines
Ensuite, viennent les serveurs de niveaux inférieurs
Une Zone = un ensemble de ressources (machines) auquel est associé un
serveur de nom dit Autorité
X. DNS
X. DNS
Serveur de nom DNS
Serveurs racines
Ils indiquent comment atteindre les domaines TLD.
Il y actuellement 13 serveurs racines du DNS dont les noms sont de la
forme lettre.root-servers.net où lettre est une lettre comprise entre A et M
La quasi-totalité de ces serveurs (même s’ils sont répartis sur plusieurs
sites) sont localisés aux US
Les serveurs racines redirigent les demandes de résolution d’adresses
vers les serveurs de premiers niveaux (.fr, .com…)
Normalement, les infos contenus dans les serveurs racines sont mises
en cache dans tous les serveurs de premier niveau
Normalement les utilisateurs (

lamba

) ne demandent jamais d

infos
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
1010
Normalement
,
les

utilisateurs

( lamba’)

ne

demandent

jamais

d’infos

auprès des serveurs racines
Les serveurs racines sont considérés comme des sites de sauvegarde
des infos du DNS au niveau mondial
Ils sont ‘normalement’ hautement protégés
6
X. DNSX. DNS
Base de données - Principaux enregistrements DNS
A record
(address record) : fait correspondre un nom d'hôte à une adresse IPv4
AAAArecord
(
IPv6 address record
):fait correspondre un nom d
'
hôte àune adresse IPv6
AAAA

record
(
IPv6

address

record
)

:

fait

correspondre

un

nom

d hôte

à

une

adresse

IPv6

CNAME record
(canonical name record) : associe un alias à un nom de domaine.
MX record
(mail exchange record) : définit les serveurs de courriel pour un domaine
PTR record
(pointer record) : associe une adresse IP à un enregistrement de nom de
domaine. Il fait l’inverse du A record;
NS record
(name server record) : définit les serveurs DNS de ce domaine (serveurs
autorités)
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
11
11
LOC record :
définit l’emplacement géographique (latitude et longitude) d’un domaine
SOA record
(start of authority record) : donne les informations générales de la zone:
serveur principal, courriel de contact, durée de vie des infos de la zone…
Autres
enregistrements utilisés occasionnellement :
SRV record
,
NAPTR record
,
TXT
record…
X. DNS
X. DNS
Résolution avec DNS
Quand l’utilisateur souhaite accéder à une machine M
Cas 1 : l’utilisateur a déjà précédemment à la machine M : il a l’@IP de
la machine M dans son cache
Cas 2 : l’@IP de la machine M n’existe pas dans son cache
1. L’utilisateur envoie une requête à son DNS de rattachement
2. Le DNS de rattachement dispose de l’@IP de M : il la renvoie
3. Il ne dispose pas de l’@IP de M : il peut (selon la configuration):
i) envoyer la requête à un serveur Racine qui renvoie l’adresse d’un
serveur de zone où se trouve la machine M
ii) envoyer la requête à un serveur qu’il connaît
iii)
diffuser la requête à tous les serveurs qu

il connaît
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
12
12
iii)
diffuser

la

requête

à

tous

les

serveurs

qu il

connaît

iv) autre possibilité plus élaborée
Mode de fonctionnement des serveurs de noms DNS
Itératif : le serveur répond uniquement pour les noms qu’il gère
Récursif (par défaut) : le serveur effectue des appels aux autres
serveurs pour répondre à une requête
7
X. DNSX. DNS
Exemple de résolution avec DNS
Le browser de la machine MAC12.irit.fr veut connaître l’@IP de
pc12 cs berkely edu
pc12
.
cs
.
berkely
.
edu
MAC12 irit fr
pc12 cs
Serveur
1
Serveur
2
Serveur
3
Serveur
4
5
6
7
8
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
13
13
MAC12
.
irit
.
fr
pc12
.
cs
.
berkely.edu
Serveur

de nom de
irit.fr
Serveur

de nom de
inria.fr
Serveur

de nom de
berkely.edu
Serveur

de nom de
cs.berkely.edu
Mode de fonctionnement récursif
X. DNSX. DNS
Résolution inverse avec DNS
Il est également possible de demander le nom d’une machine ayant une
adresse IP donnée
adresse

IP

donnée
.
Cette résolution inverse est importante sur les adresses IP publiques
Internet puisque la non existence d'une résolution inverse peut entrainer le
refus d'accès à un service.
Par exemple, un serveur de messagerie électronique envoie avec une
adresse IP n'ayant pas de résolution inverse a de grandes chances de se
voir refuser, par l'hôte distant, la transmission du courrier (message de
refus de type: « IP lookup failed »
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
14
14
8
X. DNSX. DNS
Format de message DNS
Un seul format de message
- QR : 0 (Requête) ou 1 (réponse)
Entête
Entête
RequêteRequête
RéponseRéponse
Autorité
Autorité
- OPCODE : 0 (requête normale), 1 (requête inverse), autres
- AA : réponse d’autorité ou non
- TC : indique si le message est tronqué (si > 512 octets)
- RD: récursion désirée ou non
- RA : récursion disponible ou non
- RCODE : code réponse (pas d’erreur, échec serveur…)
- QDCOUNT : nombre d’entrées (i.e. ressources) dans la
requête
- AN
COU
NT : n
o
m
b
r
e

d

e
n
t
r
ées

da
n
s
l
a
r
épo
n
se

Couche Application – DNS – M1 Info – Z. Mammeri - UPS
Autorité

Autorité

Infos additionnellesInfos additionnelles
15
15
COU o b e d e t ées da s a épo se
- NSCOUNT : nombre d’autorités dans le champ Autorité
- ARCOUNT : nombre de ressources dans le champ Infos
additionnelles.
X. DNSX. DNS
Format de message DNS
Entête
Entête
RequêteRequête
RéponseRéponse
Autorité
Autorité
- Liste de domaines à rechercher
-Type de requête (A : adresse d’hôte, MX : messagerie…)
- Classe de requête (
=
IN pour Internet)
Pour chaque ressource retournée dans la réponse :
- Nom du domaine auquel appartient la ressource
- Type et classe de ressource
- Durée de validité des infos de la ressource
- Longueur des infos de la ressource
- Infos associée à la ressource
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
Autorité

Autorité

Infos additionnellesInfos additionnelles
16
16
- Liste d’autorités de domaines associés aux
ressources contenues dans la réponse
9
X. DNSX. DNS
Format de message DNS (complet)
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
17
17
X. DNS
X. DNS
Mécanismes d’optimisation de DNS
Coopération de spécialistes en les BD réparties, sécurité, réseaux,
systèmes répartis … pour améliorer les performances des serveurs DNS
Mécanismes
Les serveurs Racines sont répliqués (problème de cohérence entre
réplicas). Plusieurs copies existent de par le monde.
Serveurs nationaux et autres répliqués aussi parfois
Utilisation de cache par les systèmes locaux et par les serveurs de noms
interrogés
A i à ê d l i @IP é ilib l
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
1818
A
ssoc
i
er
à
un m
ê
me nom
d
e serveur p
l
us
i
eurs
@IP
et
é
qu
ilib
rer
l
a
charge de requêtes sur l’ensemble des serveurs (eg. Google,
Wikipedia…)

10
X. DNSX. DNS
Sécurité de DNS
Accéder à une machine en passant par DNS suppose que celui-ci renvoie
des informations fiables sinon tout est foutu
DNS a été la cible de beaucoup d’attaques
- Déni de service
- Altération de réponses envoyées par des serveurs ‘honnêtes’
- Forgeage de fausses réponses par des serveurs malicieux
- Attaques sur les caches
Beaucoup de travaux ont été fait à l

IETF pour sécuriser le DNS
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
19
19
Beaucoup

de

travaux

ont

été

fait

à

l IETF

pour

sécuriser

le

DNS
- DNSSEC (Domain Name System Security Extensions) : permet de
résoudre certains problèmes
- Protocoles d’authentification entre serveur DNS local et les serveurs
distants interrogés
X. DNSX. DNS
Fonction nslookup
La commande nslookup disponible sous Unix et permet d’obtenir des infos
auprès d’un DNS
Le processus système, daemon, du DNS s’appelle named
Couche Application – DNS – M1 Info – Z. Mammeri - UPS
20
20