1983 - DNS (Domain Name System)
Par Vincaria le lundi 23 mars 2009, - Logiciels - Lien permanent
Avec l'avènement des
protocoles TCP/IP, chaque machine du réseau ARPANET se voit attribuer une
adresse IPV4 (constituée pour simplifier d'une suite de quatre nombres compris
chacun entre 0 et 255). La mémorisation et l'utilisation de ces adresses
numériques détermina rapidement la mise en place d'un système de traduction de
celles-ci en objets plus compréhensibles par un humain.
Précédemment, les ordinateurs du réseau ARPANET s'échangeaient des fichiers
appelés HOSTS.TXT
servant à diffuser les correspondances entre des
adresses IP numériques (exemple: 10.0.0.1) et leurs noms en chaines
alpha-numériques (exemple: machine.site.arpa). Cependant, l'explosion du nombre
de machines sur le réseau ARPANET fit apparaitre les limitations d'un tel
système basé sur la mise à jour permanente de ces listes de correspondances des
adresses.
En 1983, peu de temps après le déploiement de TCP/IP, un système d'échange
plus robuste et évolutif fut inventé: le DNS (Domain Name System
). Le
principe était de permettre l'échange dynamique des informations asociées aux
adresses IP, au travers d'un système de notification accessible depuis
l'ensemble des machines du réseau.
Paul Mockapetris, diplômé en 1971 du MIT et
en 1982 de l'Université de Californie -
Irvine, écrit la première implémentation du DNS pour systèmes
d'exploitation TOPS-20
en 1983. Ces recherches sont publiées sous les
RFC882 (Domaine Names - Concepts
and Facilities
) et RFC883
(Domain Names - Implementation and Specification
).
Trois serveurs DNS furent tout d'abord implémentés en 1983, puis l'ensemble des
serveurs racines
en 1986. Précédemment en 1984, la première
implémentation du DNS sur système d'exploitation Unix voit le jour, elle est
revue en 1985 et nommée BIND (Berkeley Internet Name Domain
). Le portage
du DNS sur les systèmes d'exploitation Windows apparaitre au début des années
1990.
Souvent comparé à l'annuaire téléphonique, le système DNS possède une
organisation hiérarchique des données en octroyant une autorité particulière à
certains serveurs : les serveurs racines
(comparaison avec la liste
des annuaires des pays), les serveurs autoritaires sur suffixe
(comparaison avec la liste des annuaires des départements), les serveurs
autoritaires sur zone
((comparaison avec les annuaires de chaque
département) et les serveurs autoritaires sur sous-zone
(comparaison
avec les annuaires de villes par exemple).
Ce mécanisme permet de réduire l'impact d'une défaillance de l'un des serveurs
DNS et permet de distribuer l'ensemble des consultations et mises à jour des
annuaires. Son implémentation se fait au travers d'un modèle
Client-Serveur
s'appuyant sur les couches de transport TCP et/ou
UDP.
Syntaxiquement, un nom de domaine est composé d'au moins deux parties, séparées
par des caractères .
:
- la partie la plus à droite contient le suffixe de domaine (appelé aussi TLD
pour
Top-Level Domain
) - chaque partie à sa gauche permettant de spécifier le domaine lui-même et les éventuels sous-domaines
- la partie la plus à gauche désignant le nom de l'équipement IP associé
- un nom de domaine ne peut par contenir plus de 127 niveaux sous le préfixe
- chaque partie d'un nom de domaine est limité à 63 octets
- la longueur total d'un nom de domaine ne peut excéder 253 octets
- un nom de domaine peut être associé à une ou plusieurs adresses IP
Exemple avec le nom de domaine
machine123.departement-informatique.universite.arpa
:
- le suffixe ou TLD est :
.arpa
- la zone DNS est :
universite
- la sous-zone DNS est :
departement-informatique
- le nom de l'équipement est :
machine123
Lorsque qu'une machine connectée au réseau Internet souhaite connaitre
l'adresse IP de la machine
machine123.departement-informatique.universite.arpa
, elle interroge un
serveur DNS habituellement situé sur son réseau local, qui va alors
interroger :
- 1. l'un des serveurs
racines
DNS pour savoir qui est autoritaire sur la zone.arpa
- 2. le serveur en charge de la zone
.arpa
pour savoir qui est autoritaire sur la zoneuniversite.arpa
- 3. le serveur en charge de la zone
universite.arpa
pour savoir qui est autoritaire sur la sous zonedepartement-informatique
- 4. le serveur en charge de la sous-zone
departement-informatique
pour savoir quelle est l'adresse IP demachine123
Ce processus (usuellement nomée lookup
) fait appel à des serveurs DNS
appelés serveurs de résolution
, qui initie et traite l'ensemble des
interrogations DNS nécessaires à l'obtention de l'information. Le processus
fait aussi parfois appel à des serveurs DNS appelés serveurs cache
qui
stockent les informations issues des interrogations afin de les redistribuer si
une demande similaire est faite, ceci permettant de réduire le nombre
d'interrogations faites pour un même objet.
L'introduction dans le protocole DNS d'une notion de cache
permet de
réduire les échanges auprès des serveurs de noms. La durée de vie d'un cache de
données est déterminé par une information contenue dans la zone DNS et nommée
TTL (Time-To-Live
), mais elle peut également être fixée arbitrairement
par l'administrateur du cache.
Enfin, la résolution DNS permet également l'interrogation inverse des données,
à savoir obtenir le nom DNS d'une machine à partir de son adresse IP. Ce
processus est usuellement nommé reverse-lookup
.