Introduction
La couche d'application DNS, tire sont nom de l'abréviation de l'anglicisme Domain Name System, et elle permet de convertir des noms de domaines en des adresses IP. Dans les faits, les DNS sont un système de noms de domaine sous forme d'une base de données distribuée. Cette structure permet un contrôle local des segments de la base de données globale, mais les données de chaque segment sont disponibles sur l'ensemble du réseau via un schéma client/serveur. La robustesse et les performances adéquates sont obtenues grâce à la réplication et à la mise en cache. Les programmes appelés serveurs de noms constituent la moitié serveur du mécanisme client/serveur de DNS. Les serveurs de noms contiennent des informations sur certains segments de la base de données et mettent ces informations à la disposition des clients, appelés résolveurs. Les résolveurs ne sont souvent que des routines de bibliothèque créant des requêtes et les envoient via un réseau à un serveur de noms.
Voici les principales caractéristiques d'un DNS :
- Fonction de résolution de noms
- Traduction de nom de domaine en adresse IP : Le rôle principal du DNS est de convertir des noms de domaine (comme www.exemple.com) en adresses IP (comme 192.0.3.1), permettant aux utilisateurs d'accéder aux sites web via des noms faciles à retenir.
- Résolution inverse : Le DNS peut aussi effectuer une résolution inverse, c'est-à-dire traduire une adresse IP en un nom de domaine.
- Hiérarchie et architecture
- Structure hiérarchique : Le DNS est organisé en une hiérarchie de domaines, avec la racine au sommet, suivie des domaines de premier niveau (TLD) comme .com, .org, .net, et des sous-domaines en dessous.
- Serveurs DNS Racine : Au sommet de la hiérarchie se trouvent les serveurs racine connaissant les adresses IP des serveurs DNS autoritaires pour chaque domaine de premier niveau.
- Zones DNS : Les domaines sont divisés en zones, chacune étant gérée par un serveur DNS spécifique, responsable de fournir les informations sur les sous-domaines contenus dans cette zone.
- Types de serveurs DNS
- Serveurs autoritaires : Ces serveurs détiennent les enregistrements DNS pour un domaine spécifique. Ils sont les sources définitives pour les informations de ce domaine.
- Serveurs Résolveurs (Recursive DNS) : Ces serveurs reçoivent les requêtes des clients (comme les navigateurs Web), recherchent les réponses en interrogeant les serveurs autoritaires, puis renvoient l'information au client.
- Serveurs de Cache : Pour améliorer la performance, les résolveurs DNS conservent temporairement les réponses DNS dans un cache. Si la même requête est faite à nouveau, la réponse peut être servie rapidement à partir du cache.
- Types d'enregistrements DNS
- Sécurité du DNS
- DNSSEC (DNS Security Extensions) : DNSSEC ajoute des signatures numériques aux enregistrements DNS pour garantir leur intégrité et authenticité, protégeant contre des attaques comme le spoofing.
- Attaques DDoS : Les serveurs DNS peuvent être la cible d'attaques par déni de service distribué (DDoS) visant à les surcharger et à perturber l'accès aux services en ligne.
- Performance et fiabilité
- Caching : Le cache améliore la rapidité de la réponse en stockant temporairement les réponses DNS pour les requêtes fréquentes.
- Répartition de Charge (Load Balancing) : Les enregistrements DNS peuvent être utilisés pour répartir le trafic entre plusieurs serveurs, améliorant la performance et la résilience des services en ligne.
- Redondance : Pour assurer la disponibilité, plusieurs serveurs DNS sont généralement utilisés pour chaque domaine, permettant aux requêtes DNS de trouver une réponse même en cas de défaillance de l'un des serveurs.
- Types de requêtes DNS
- Requêtes Récursives : Le résolveur DNS prend en charge l'ensemble du processus de recherche, renvoyant une réponse complète au client.
- Requêtes Itératives : Le serveur DNS renvoie la meilleure réponse qu'il a, généralement une référence vers un autre serveur DNS étant plus proche de la réponse finale.
- Requêtes Inverses : Une adresse IP est fournie, et le DNS renvoie le nom de domaine associé.
- Mécanismes de résolution
- Fichier Hosts : Avant d'utiliser le DNS, les systèmes consultent souvent un fichier local (fichier hosts) pouvant contenir des cartographies directs de noms de domaine à adresses IP.
- Forwarding : Un serveur DNS peut transférer des requêtes qu'il ne peut pas résoudre lui-même à un autre serveur DNS.
- Administration et gestion
- Propagation des changements : Lorsqu'un enregistrement DNS est modifié, ces changements doivent se propager à travers tous les serveurs DNS concernés, ce qui peut prendre du temps en fonction du TTL (Time to Live) configuré.
- Gestion des zones : Les administrateurs DNS gèrent les fichiers de zone contenant les enregistrements DNS pour un domaine spécifique.
- Applications diverses
- Balancement de charge : Le DNS peut être utilisé pour rediriger le trafic vers plusieurs serveurs (round-robin).
- CDN (Content Delivery Networks) : Les CDNs utilisent DNS pour diriger les utilisateurs vers le serveur le plus proche géographiquement, améliorant ainsi les performances de chargement des sites web.
Type d'enregistrement | Description |
---|---|
A (Address) | Associe un nom de domaine à une adresse IPv4. |
AAAA (IPv6 Address) | Associe un nom de domaine à une adresse IPv6. |
CNAME (Canonical Name) | Alias pour un autre nom de domaine. |
MX (Mail Exchange) | Indique les serveurs de messagerie responsables de recevoir les courriels pour un domaine. |
NS (Name Server) | Indique quels serveurs DNS sont autoritaires pour un domaine. |
PTR (Pointer) | Utilisé pour la résolution inverse (IP vers nom de domaine). |
TXT (Text) | Contient des informations textuelles pour divers usages, comme la vérification de domaine ou la configuration de SPF (Sender Policy Framework). |
Remarques
- Infonuagiques : La plupart des fournisseurs de services infonuagiques (cloud), offre la possibilité de gérer dans leurs infrustructure les DNS. Par exemple, AWS offre Route 53, Microsoft offre Azure DNS,...
- Registraires : Il est possible d'acheter et de gérer les noms domaine passant directement par un services de registraires.
Voir également
Couche d'application - DNS - Création d'un DNS en réseau local pour un site Web