Another great RocketTheme Joomla Template brought to you by the RocketTheme Joomla Template Club.
Visiteurs: 42277
38.107.191.93

Nuage

serveur debian botnet linux botherder IEEE 802.11g xvid 802.11b 802.11 802.1q résolveur Wi-Fi vlan virtuel dhcp standard switch dns dhcpd
Système de noms de domaines (DNS)
Écrit par Cgohann   
07-02-2008
    Internet est constitué d'innombrables réseaux et sous-réseaux, eux même constitués de machines accessibles par leur adresse IP. Il convient qu'il est impensable de mémoriser toutes les adresses IP des machines auxquelles nous voulons accéder. Le système DNS (Domain Name System) a donc été développé pour permettre d'identifier une adresse IP par un nom de domaine. Pour se faire, ce système est mis en œuvre par une base de données distribuée au niveau mondial par un organisme, l'InterNIC.



1 - Historique


    La motivation essentielle conduisant à la mise en œuvre du système de domaines a été la croissance exponentielle d'Internet :

  • Au début, la transcription de noms d'hôtes en adresses Internet s'appuyait sur une table de correspondance maintenue par le Network Information Center (NIC) sous forme d'un unique fichier (HOSTS.TXT) lequel était transmis par FTP sur tous les hôtes. La bande passante consommée était alors considérable. La croissance explosive du nombre d'hôtes a nécessité de penser à un autre mécanisme.

  • Durant ce temps, la population internaute changeait de nature. Ainsi, les mainframes constituant l'ARPANET originel ont été remplacés par des stations connectées sur des réseaux et sous-réseaux locaux. Les organismes locaux ont commencé à administrer leurs propres noms et adresses, mais devaient attendre que le NIC reporte les changements dans le fichier HOSTS.TXT pour que ceux-ci soient visibles sur Internet. Les organisations souhaitaient néanmoins pouvoir conserver une certaine autonomie dans la gestion de leur infrastructure locale.

  • Les applications exploitant Internet devenant de plus en plus sophistiquées ont créé le besoin d'un traitement plus généralisé des noms de domaines.

     Au fil du temps, les propositions ont été diverses pour remplacer ce mécanisme, et la plus intéressante a été celle d'un espace de noms hiérarchisé, et dont le principe s'appuierait sur la structure des organismes eux-mêmes, et où les noms utiliseraient le caractère "." pour marquer la frontière entre deux niveaux hiérarchiques.

2 -  Éléments du DNS

    Le DNS a trois composants principaux :

  • L'ESPACE DE NOMS DE DOMAINES et les ENREGISTREMENTS DE RESSOURCES, sont les spécifications d'un espace de noms structuré en arbre et les données associées à ces noms. Conceptuellement, chaque nœud et chaque feuille de l'arbre de l'espace de noms de domaines contient un ensemble d'informations.

  • Les SERVEURS DE NOM sont des programmes serveurs qui détiennent l'information sur la structure arborescente et les informations de domaines. Un serveur de nom peut stocker momentanément en "cache" des informations de structure ou de ressources sur toute partie de l'espace de noms de domaines, mais en général, un serveur de nom n'accueillera que les informations relatives à un sous ensemble de l'espace, et des pointeurs vers d'autres serveurs de noms qui, par leur association, se répartissent la définition de l'ensemble de l'espace.

  • Les processus de résolution, ou RESOLVEURS sont des programmes qui extraient
    l'information des serveurs de noms en réponse aux requêtes clientes. Les résolveurs doivent pouvoir accéder à au moins un serveur de noms et utiliser l'information qu'ils y trouvent pour donner directement une réponse au client, ou utiliser les références à d'autres serveurs de nom contenues dans le serveur "visible" pour les contacter à leur tour et continuer la résolution. un résolveur sera habituellement une routine système qui peut être appelée directement par un programme utilisateur ; en général aucun protocole n'est nécessaire entre le résolveur et l'application utilisatrice.

3 - Espace de noms de domaine et enregistrements de ressources

    L'espace de noms de domaines est une structure arborescente. Chaque nœud et feuille de l'arbre correspond à un ensemble de ressources. Ce mémo ne fera par la suite aucune distinction entre l'utilisation des feuilles et la partie information des nœuds, Le système de domaines ne faisant aucune distinction entre les deux types d'entités. Chaque nœud dispose d'un identifiant, d'une longueur de zéro à 63 octets. Des nœuds "frères" ne
peuvent pas avoir le même identifiant, bien que le même identifiant puisse se retrouver dans deux nœuds distincts. L'identifiant nul est réservé pour désigner la racine. Le nom de domaine d'un nœud est constitué de la liste des identifiants de tous les nœuds constituant le chemin entre ce nœud et la racine de l'arbre.

    Lorsqu'un utilisateur doit entrer un nom de domaine, la longueur de chaque identifiant est omise et les identifiants devront être séparés par des points ("."). Un nom de domaine complet atteignant toujours la racine, la forme écrite exacte de tout domaine pleinement qualifié (FQDN : Fully Qualified Domain Name) se termine par un point.
Nous utiliserons cette propriété pour distinguer les cas :
    - d'une chaîne de caractères représentant un FQDN. Par exemple, "Tartampion.MIT.EDU.".
    - d'une chaîne de caractères représentant les premiers identifiants d'un nom de domaine incomplet, et devant être complété par l'application locale avec un complément absolu. Par exemple, "Tartampion", à utiliser relativement au domaine MIT.EDU.

    Pour simplifier les implémentations, le nombre total d'octets composant un nom de domaine pleinement qualifié (FQDN) est limité à 255 octets.
Exemple d'espace de noms
|
|
+---------------------+------------------+
| | |
MIL EDU ARPA
| | |
| | |
+-----+-----+ | +------+---+------+
| | | | | | |
BRL NOSC DARPA | IN-ADDR SRI-NIC ACC
|
+--------+------------------+---------------+--------+
| | | | |
UCI MIT | UDEL YALE
| ISI
| |
+---+---+ |
| | |
LCS ACHILLES +--+-----+-----+--------+
| | | | | |
XX A C VAXA VENERA Mockapetris

    Dans cet exemple, le domaine racine a trois sous-domaines immédiats : MIL, EDU, et ARPA. Le domaine LCS.MIT.EDU a un sous domaine immédiat appelé XX.LCS.MIT.EDU. Toutes les feuilles sont également des domaines.

    Un nom de domaine identifie un nœud. À chaque nœud est attribué un ensemble d'informations sur des ressources, lequel peut être vide. L'ensemble d'informations de ressources associé à un nom particulier est composé de quatre enregistrements de ressources séparés (RR : ressource Records). L'ordre des RR dans un ensemble n'est pas significatif, et ne doit pas nécessairement être préservé par les serveurs de noms, les résolveurs, ou tout autre partie du DNS.

Owner Type  ClassTTL Rdata 
 FQDN A
CNAME
HINFO
MX
NS
PTR
SOA
 IN
CH
  A
CNAME
MX
NS
PTR
SOA

A : une adresse d'hôte, il assure la correspondance entre le FQDN et l'adresse IP
CNAME : (cannonical name) le nom d'un alias, il associe deux FQDN
HINFO : le CPU et l'OS d'un hôte
MX : (Mail exchanger) un schéma d'échange de courrier pour ce domaine
NS : le serveur de noms pour le domaine
PTR : un pointeur vers une autre partie de l'espace de noms de domaines, il associe l'adresse IP et le FQDN
SOA : (Start of authority) le début d'une sphère d'autorité

IN : le système Internet
CH : le système Chaotique

Les enregistrements de chaque domaine (RR) possèdent une durée de vie TTL (Time To Live), qui permet aux serveurs intermédiaires de savoir s'il est nécessaire de les revérifier. Le champ TTL définit la durée limite pendant laquelle un RR peut être conservé dans un cache local.

RDATA : il indique le type et parfois les données dépendantes de la classe décrivant la ressource. Les informations attendues selon le type d'enregistrement sont :
- A : une adresse IP
- CNAME : un nom de domaine
- MX : une valeur de priorité suivi d'un nom d'hôte
- NS : un nom d'hôte
- PTR : un nom de domaine
- SOA : plusieurs champs

4 - Serveurs de noms de domaine

    Les serveurs de noms sont dépositaires de l'information qui constitue la base de données des domaines. La base de données est divisée en sections appelées zones, lesquelles sont distribuées sur l'ensemble des serveurs de noms. Comme les serveurs de noms peuvent implémenter des fonctions optionnelles et des sources de données différentes, la tâche essentielle d'un serveur de nom reste de répondre à des requêtes sur ses données propres. Par conception, les serveurs de noms peuvent répondre à ces requêtes d'une manière simple ; la réponse peut toujours être générée à partir des seules données locales, et contiendra soit la réponse à la question posée, soit une référence à un autre serveur de noms plus habilité à avoir l'information demandée. Une zone donnée pourra être accessible à partir de plusieurs serveurs de noms afin d'assurer son accessibilité même en cas de défaillance du serveur ou des liaisons. La base de données de domaines est divisée selon deux méthodes : en classes, et par "découpage" de l'espace des noms de domaines.

    Les domaines sont gérés par plusieurs entités, d'où la distribution de la base de
données au niveau mondial. Chaque entité dispose de deux serveurs DNS pour assurer la continuité du service sinon en cas de crash du serveur il n'y aurait plus que les adresses IP pour accéder au domaine. Une entité unique doit gérer les serveurs racine - le  "."  de l'arborescence (13 aux USA, 1 au Japon, 1 au Royaume Uni et 1 aux Pays bas). En faisant tomber les serveurs racine la majorité du réseau internet tombe. Les différents serveurs racine sont tous des miroirs les uns des autres.

5 - Résolveurs

    Les résolveurs sont des programmes qui interfacent les applications utilisateur aux serveurs de noms de domaines. Dans le cas le plus simple, un résolveur reçoit une requête provenant d'une  application sous la forme d'un appel d'une fonction en bibliothèque, d'un appel système etc., et renvoie une information sous une forme compatible avec la représentation locale de données du système. Le résolveur est situé sur la même machine que l'application recourant à ses services, mais devra par contre consulter des serveurs de noms de domaines sur d'autres hôtes. Comme un résolveur peut avoir besoin de contacter plusieurs serveurs de noms, ou à l'extrême inverse obtenir les informations directement à partir de son cache local, le temps de réponse d'un résolveur peut varier selon de grandes proportions, depuis quelques millisecondes à plusieurs secondes. L'une des raisons les plus importantes qui justifient l'existence des résolveurs est d'éliminer le temps d'acheminement de l'information depuis le réseau, et de décharger simultanément les serveurs de noms, en répondant à partir des données cachées en local. Il en résulte qu'un cache partagé entre plusieurs processus, utilisateurs, machines, etc., sera incomparablement plus efficace qu'un cache non partagé.

    L'interface client du résolveur est largement dépendante des conventions de l'hôte local, mais on peut exprimer trois fonctions typiques qui rentrent dans le cadre de cette interface :
  1. Translation depuis les noms d'hôtes vers les adresses d'hôtes.
  2. Translation depuis une adresse vers un nom d'hôte.
  3. Fonction de recherche générale

Bibliographie

[RFC-1034] P. Mockapetris, Domain names - concepts and facilities.
Commentaires
Ajouter un nouveauRechercher
djalel (41.200.214.xxx) 2009-11-23 19:44:56


Ecrire un commentaire
Nom:
Email:
 
Website:
Titre:
BBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Saisissez le code que vous voyez.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.

 
< Précédent