Qu'est-ce que le DNS récursif ?
Le DNS récursif est une méthode de résolution DNS dans laquelle un résolveur récursif gère toute la recherche pour le compte du client. Il parcourt la hiérarchie DNS, des serveurs racine aux serveurs de noms faisant autorité, puis renvoie la réponse finale.
Fonctionnement du DNS récursif
Client Query: "What is the IP for www.example.com?"
Step 1: Client → Recursive Resolver
"Please resolve www.example.com"
Step 2: Resolver → Root Server (.)
"Who handles .com?"
← Response: "Try a.gtld-servers.net"
Step 3: Resolver → TLD Server (.com)
"Who handles example.com?"
← Response: "Try ns1.example.com at 192.0.2.1"
Step 4: Resolver → Authoritative Server (example.com)
"What is the A record for www.example.com?"
← Response: "192.0.2.10"
Step 5: Resolver → Client
"www.example.com is at 192.0.2.10"
(Resolver caches result for future queries)
DNS récursif et itératif
| Fonctionnalité | Récursif | Itératif |
|---|---|---|
| Traitement des requêtes | Le résolveur effectue tout le travail | Le client suit les références |
| Complexité côté client | Simple | Complexe |
| Usage courant | Résolveurs pour utilisateurs finaux | Serveur à serveur |
| Type de réponse | Réponse finale | Réponse ou référence |
Flux de résolution DNS
DNS Hierarchy:
Root Servers (.)
│
┌────────┼────────┐
│ │ │
.com .org .net ← TLD Servers
│
example.com ← Authoritative Servers
│
┌───┴───┐
www mail ← Host Records
Résolveurs récursifs publics
| Fournisseur | Primaire | Secondaire | Caractéristiques |
|---|---|---|---|
| 8.8.8.8 | 8.8.4.4 | Anycast mondial | |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | Axé sur la confidentialité |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Filtre de sécurité |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | Filtrage de contenu |
Comportement en cache
| Emplacement du cache | TTL contrôlé par | Durée typique |
|---|---|---|
| Résolveur récursif | Administrateur de zone | De quelques heures à quelques jours |
| Navigateur | En-têtes HTTP + DNS TTL | Minutes à heures |
| Résolveur OS | DNS TTL | Minutes à heures |
Considérations en matière de sécurité
- Empoisonnement du cache : Les attaquants injectent de faux enregistrements dans le cache du résolveur
- Amplification DNS : les attaquants utilisent des résolveurs ouverts pour lancer des attaques DDoS
- Confidentialité : les résolveurs voient toutes les requêtes de leurs utilisateurs
- Atténuation : validation DNSSEC, limitation du débit et DNS chiffré (DoH/DoT)
Drapeaux de requête
Recursion Desired (RD): Client requests recursive resolution
Recursion Available (RA): Server supports recursion
Query: dig example.com @8.8.8.8
;; flags: qr rd ra ← RD set by client, RA confirmed by server
Meilleures pratiques
1. Utilisez des résolveurs fiables : choisissez des résolveurs offrant une bonne disponibilité et de bonnes performances
2. Activez la validation DNSSEC : protégez-vous contre les attaques par usurpation
3. Tenez compte de la confidentialité : utilisez un DNS chiffré (DoH/DoT) pour les requêtes sensibles
4. Surveillez la latence : l'emplacement du résolveur influence la vitesse de résolution
5. Configurez des solutions de repli : utilisez plusieurs adresses de résolveur
Le DNS récursif simplifie la résolution pour les utilisateurs finaux en gérant automatiquement la complexité de la hiérarchie DNS.