Comparaison des protocoles DNS chiffrés : DoT, DoH, DoQ
Analyse des relations de couche, des ports, des différences de performance et des scénarios d’application entre Plain DNS, DoT, DoH et DoQ, avec des recommandations de choix et de configuration pratiques.
Categories:
Aperçu des termes
- Plain DNS : DNS en clair, utilise UDP/53 par défaut, TCP/53 si nécessaire (comme réponse tronquée, transfert de zone, etc.).
- DoT : DNS over TLS, utilise TCP avec TLS, port par défaut 853 (RFC 7858/8310).
- DoH : DNS over HTTPS, basé sur HTTPS (HTTP/2 ou HTTP/3), port par défaut 443 (RFC 8484).
- DoQ : DNS over QUIC, basé sur QUIC + TLS 1.3, port par défaut UDP/853 (RFC 9250, IANA a attribué 853/udp).
Relations de couche (modèle TCP/IP simplifié)
- Couche application : HTTP, HTTPS, DNS (DoH est encapsulé dans HTTPS au niveau application)
- Couche sécurité : TLS (fournit le chiffrement pour TCP ou QUIC)
- Couche transport : TCP, UDP, QUIC
- Couche réseau : IP
- Couche liaison : Ethernet, etc.
- Couche physique : câble torsadé/fibre/ondes radio, etc.
Points clés
- Plain DNS fonctionne sur UDP/TCP, non chiffré.
- DoT = TCP + TLS + DNS (port dédié 853).
- DoH = TCP/QUIC + TLS + HTTP(S) + DNS (utilise 443, partage le port avec le HTTPS standard).
- DoQ = QUIC + TLS 1.3 + DNS (port dédié UDP/853).
graph TB
subgraph Couche application
A[HTTP]
A2[HTTPS]
C[DNS]
D[DoH DNS over HTTPS]
end
subgraph Couche sécurité
E[TLS]
end
subgraph Couche transport
F[TCP]
G[UDP]
H[QUIC]
end
subgraph Couche réseau
I[IP]
end
subgraph Couche liaison
J[Ethernet]
end
subgraph Couche physique
K[Câble torsadé/fibre/ondes radio]
end
A2 --> F
A2 --> H
A --> F
C --> F
C --> G
D --> A2
E --> F
E --> H
F --> I
G --> I
H --> I
I --> J
J --> K
style D fill:#e1f5fe
style E fill:#fff3e0
Bases et correctifs
- Plain DNS utilise UDP/53 par défaut ; lorsqu’une réponse est tronquée (bit TC) ou qu’une transmission fiable est requise, il bascule vers TCP/53.
- DoT établit un tunnel TLS sur TCP pour transmettre les messages DNS, port par défaut 853 ; il peut réutiliser des connexions persistantes pour réduire la surcharge de handshake.
- DoH encapsule DNS comme ressource HTTPS (
application/dns-message), généralement via HTTP/2 ou HTTP/3, port 443, facile à confondre avec le HTTPS standard. - DoQ utilise directement QUIC (basé sur UDP) pour porter DNS, offrant faible latence et évitant le blocage de tête de file, mais l’écosystème est encore en développement.
- L’affirmation “QUIC est toujours X % plus rapide que TCP” est trop simpliste ; la performance dépend de la qualité du réseau (pertes, gigue, RTT), de la réutilisabilité de la connexion, des détails d’implémentation et du déploiement serveur.
- DoH n’est pas “plus lent/rapide” simplement parce que DNS est dans HTTP ; la performance dépend de la réutilisation de connexion, de la qualité du réseau et de l’implémentation ; souvent, DoH/3 et DoT ont des expériences comparables, parfois meilleures pour DoH.
- DoT peut utiliser la validation SNI du certificat ; DoH dépend de la validation standard HTTPS et de la correspondance du nom d’hôte.
- Le DNS chiffré empêche l’écoute et la falsification sur le trajet, mais ne garantit pas l’anonymat total. Le résolveur peut toujours enregistrer les requêtes ; choisissez un fournisseur de confiance et lisez sa politique de confidentialité.
graph TD
subgraph Famille DNS
A[Plain DNS UDP/TCP + DNS]
subgraph DNS chiffré
B[DoT TCP + TLS + DNS]
C[DoH HTTP/2,3 + TLS + DNS]
D[DoQ QUIC + TLS 1.3 + DNS]
end
subgraph Base transport
E[TCP]
F[UDP]
G[QUIC]
end
end
A --> B
A --> C
A --> D
B --> E
C --> E
C --> G
D --> G
A --> F
style A fill:#f3e5f5
style B fill:#e8f5e8
style C fill:#e3f2fd
style D fill:#fff3e0
Aperçu comparatif
| Protocole | Couche transport | Chiffrement | Encapsulation | Port par défaut | Traits typiques |
|---|---|---|---|---|---|
| Plain DNS | UDP/TCP | Aucun | DNS natif | 53 | Simple/efficace, en clair, falsifiable/auditable |
| DoT | TCP | TLS 1.2/1.3 | DNS | 853 | Port dédié, facilement bloqué par port, bon support système |
| DoH | TCP/QUIC | TLS 1.2/1.3 | HTTP/2-3 + DNS | 443 | Partage port avec HTTPS, forte capacité de traversée, support navigateur prioritaire |
| DoQ | QUIC | TLS 1.3 | DNS | 853/UDP | Faible latence, évite blocage tête de file, écosystème en développement |
Performance et latence
- Réutilisation de connexion : DoT/DoH/DoQ peuvent tous réutiliser des connexions persistantes pour réduire la surcharge de handshake ; DoH/2, DoH/3 et DoQ permettent aussi le multiplexage de requêtes sur une même connexion.
- Blocage tête de file : TCP a un problème de blocage au niveau application ; HTTP/2 atténue cela via multiplexage mais reste affecté par les pertes TCP ; QUIC (DoH/3, DoQ) évite le blocage tête de file au niveau transport, plus adapté aux réseaux mobiles/à pertes élevées.
- Latence premier paquet : à la première connexion, DoT nécessite TCP+TLS ; DoH/2 similaire ; DoH/3/DoQ basés sur QUIC ont des reconnects et migrations plus rapides. Sur charge prolongée, les différences dépendent davantage de l’implémentation et des conditions réseau.
- Accessibilité : DoH utilise le port 443, le moins susceptible d’être bloqué par simple filtrage de port ; DoT utilise 853, souvent bloqué ; DoQ utilise 853/UDP, peut être bloqué ou non autorisé selon les environnements.
Support client et système
- Navigateurs : Chromium et Firefox intègrent DoH par défaut (peuvent automatiquement basculer vers un résolveur DoH ou utiliser des fournisseurs en liste blanche).
- Windows : Windows 11 supporte DoH nativement.
- Android : Android 9+ fournit “DNS privé” (DoT système). La couverture DoH système dépend de la version/du fabricant.
- Plateformes Apple : iOS 14+/macOS 11+ via profils ou NetworkExtension supportent DoT et DoH.
Déploiement et recommandations de choix
- Réseaux standard/contraints (Wi‑Fi public, besoin de traverser des blocages simples) : privilégier DoH (port 443), activer HTTP/3 si possible.
- Sortie unique système (routeur, passerelle, DNS privé Android) : privilégier DoT (853), ajouter DoH (443) en secours si le réseau le permet.
- Réseaux mobiles/haut taux de pertes : privilégier DoH/3 ou DoQ avec QUIC (selon support résolveur/client).
- Scénarios entreprise/conformité : choisir selon politique (DoH s’intègre aux infrastructures HTTPS existantes ; DoT permet une séparation plus claire avec le plan de contrôle DNS).
Conclusion
- Priorité DoH (443, forte capacité de traversée), activer HTTP/3 si disponible.
- Pour une sortie système unifiée : priorité DoT (853) + connexion persistante, avec DoH (443) en secours.
- Si votre résolveur et client supportent : tester DoQ (expérience mobile souvent meilleure).
Standards de référence
- RFC 7858, RFC 8310 (DNS over TLS)
- RFC 8484 (DNS over HTTPS)
- RFC 9250 (DNS over QUIC)
Services DNS recommandés
- DNS Ningping : https://www.nullprivate.com supporte DoT, DoH (HTTP3), support natif anti-pub et split DNS.
- Version auto-hébergée : https://github.com/NullPrivate/NullPrivate