Système de noms de domaine (DNS)
Le système DNS est le support de nombreuses fonctionnalités sur Internet allant de la navigation à l’envoi de courriers électroniques. Sa bonne configuration est essentielle dans le cadre d’un réseau local, et primordiale sur Internet.
Chaque hôte est identifié par l'adresse IP, mais la mémorisation des chiffres est très difficile pour les personnes et les adresses IP ne sont pas statiques. Par conséquent, un mappage est nécessaire pour changer le nom de domaine en adresse IP. Le DNS est donc utilisé pour convertir le nom de domaine des sites Web en leur adresse IP numérique.
Le Domain Name System (DNS) fonctionne sur le modèle Client-Serveur. Il utilise le protocole UDP pour la communication de la couche transport. DNS utilise un schéma de nommage basé sur le domaine hiérarchique. Le serveur DNS est configuré avec des noms de domaine complets (FQDN) et des adresses e-mail mappées avec leurs adresses de protocole Internet respectives.
Le DNS est spécifié dans les RFC 1034 et RFC 1035 et mis à jour dans plusieurs RFC supplémentaires.
Le DNS a été conçu pour pallier les limites du fichier hosts téléchargé, et devait répondre à certains impératifs de conception.
- Le DNS est dynamique : Les enregistrements doivent pouvoir être ajoutés de façon unique dans le système, et devenir rapidement disponibles pour tous.
- Le DNS est répliqué : On ne peut se permettre de dépendre d’un seul serveur, et les informations existent toujours en plusieurs exemplaires.
- Le DNS est hiérarchisé : Les informations sont classées en une arborescence qui permet leur organisation. Chaque niveau de la hiérarchie est appelé « zone », et le sommet de cette hiérarchie est la zone « . ».
- Le DNS est distribué : Les informations sont réparties en une multitude de « sous-bases » (les zones DNS), et l’ensemble de ces petites bases d’informations compose l’intégralité des enregistrements DNS. Ce fonctionnement a l’avantage de faciliter l’administration en répartissant la charge sur des milliers de serveurs.
- Le DNS est sécurisé : Cet impératif est apparu plus tardivement, et n’est pas encore implémenté sur tous les serveurs DNS. On a toutefois désormais la possibilité de sécuriser de bout en bout les opérations du DNS. Les services de sécurité disponibles sont l’authentification, le contrôle d’accès et le contrôle d’intégrité.
Hiérarchie des serveurs de noms (DNS)
Afin de faire face à la question de l'échelle, le DNS utilise un grand nombre de serveurs, organisés de façon hiérarchique et répartis dans le monde entier. Aucun serveur DNS ne possède tous les mappages pour tous les hôtes sur Internet. Au lieu de cela, les mappages sont distribués sur les serveurs DNS. En première approximation, il existe trois classes de serveurs DNS : les serveurs DNS racine, les serveurs DNS de domaine de premier niveau (TLD) et les serveurs DNS autoritaires, organisés en hiérarchie.
- Serveurs DNS racine - Il est contacté par des serveurs de noms qui ne peuvent pas résoudre le nom. Il contacte un serveur de noms faisant autorité si le mappage de noms n'est pas connu. Il obtient ensuite le mappage et renvoie l'adresse IP à l'hôte. Il y a plus de 1000 serveurs racine dispersés dans le monde.
- Serveurs DNS de premier niveau (TLD) - Il est responsable de com, org, edu, etc. et de tous les domaines nationaux de premier niveau comme uk, fr, ca, ma, it, etc. Ils ont des informations sur les serveurs de domaine faisant autorité et connaissent les noms et adresses IP de chaque serveur de noms faisant autorité pour les domaines de second niveau.
- Serveurs DNS autoritaires - Il s'agit du serveur DNS de l'organisation, fournissant un mappage nom d'hôte/IP. Il peut être maintenu par une organisation ou un prestataire de services. Afin d'atteindre www.developpement-informatique.com, nous devons demander au serveur DNS racine, puis il indiquera le serveur de domaine de premier niveau, puis le serveur de nom de domaine faisant autorité qui contient réellement l'adresse IP. Ainsi, le serveur de domaine faisant autorité renverra l'adresse IP associée.
Les serveurs DNS racine, TLD et faisant autorité appartiennent tous à la hiérarchie des serveurs DNS. Il existe un autre type important de serveur DNS appelé serveur DNS local. Un serveur DNS local n'appartient pas strictement à la hiérarchie des serveurs mais est néanmoins au cœur de l'architecture DNS. Chaque FAI, tel qu'un FAI résidentiel ou un FAI institutionnel, dispose d'un serveur DNS local (également appelé serveur de noms par défaut). Lorsqu'un hôte se connecte à un FAI, le FAI fournit à l'hôte les adresses IP d'un ou plusieurs de ses serveurs DNS locaux.
Mécanisme de la résolution de noms
Schéma simplifié de la résolution de noms :
- Le client à son serveur de référence (fournisseur d’accès ou serveur local) : quelle est l’adresse pour le nom www.developpement-informatique.com ?
- Le serveur local à un serveur racine : donne-moi l’adresse d’un serveur connaissant la zone com.
- Tiens, le serveur à l’adresse 193.176.144.6 pourra te renseigner. Il possède les informations de la zone com.
- Le serveur local au serveur de la zone com : donne-moi l’adresse d’un serveur connaissant la zone developpement-informatique.com.
- Tiens : le serveur à l’adresse 213.41.120.195 pourra te renseigner.
- Le serveur local au serveur de la zone developpement-informatique.com : possèdes-tu un enregistrement www dans ton domaine developpement-informatique.com ?
- Oui, voici son adresse IP : 185.146.22.237.
- Le serveur local à la station cliente : tu m’as demandé www.developpement-informatique.com et son adresse IP est 185.146.22.237.