DNS-versleutelingsprotocollen vergeleken: DoT, DoH, DoQ
Overzicht van de lagenstructuur, poorten, prestatieverschillen en toepassingsgebieden van Plain DNS, DoT, DoH en DoQ, met praktische keuze- en configuratieadviezen.
Categories:
Snel overzicht van termen
- Plain DNS: Onversleutelde DNS, standaard gebruik van UDP/53, indien nodig TCP/53 (bijvoorbeeld bij afgeknotte respons, zone transfers enz.).
- DoT: DNS over TLS, gebruik van TLS over TCP, standaardpoort 853 (RFC 7858/8310).
- DoH: DNS over HTTPS, gebaseerd op HTTPS (HTTP/2 of HTTP/3), standaardpoort 443 (RFC 8484).
- DoQ: DNS over QUIC, gebaseerd op QUIC + TLS 1.3, standaardpoort UDP/853 (RFC 9250, IANA toegewezen aan 853/udp).
Laagstructuur (vereenvoudigd TCP/IP-model)
- Toepassingslaag: HTTP, HTTPS, DNS (DoH valt onder HTTPS-toepassingslaag encapsulatie)
- Veiligheidslaag: TLS (verstrekt encryptie voor TCP of QUIC)
- Transportlaag: TCP, UDP, QUIC
- Netwerklaag: IP
- Datalinklaag: Ethernet enz.
- Fysieke laag: Twisted pair/kabel/vezel/loze golven enz.
Belangrijkste punten
- Plain DNS draait over UDP/TCP, zonder encryptie.
- DoT = TCP + TLS + DNS (specifieke poort 853).
- DoH = TCP/QUIC + TLS + HTTP(S) + DNS (gebruikt 443, deelt dezelfde poort als reguliere HTTPS).
- DoQ = QUIC + TLS 1.3 + DNS (specifieke poort UDP/853).
graph TB
subgraph Toepassingslaag
A[HTTP]
A2[HTTPS]
C[DNS]
D[DoH DNS over HTTPS]
end
subgraph Veiligheidslaag
E[TLS]
end
subgraph Transportlaag
F[TCP]
G[UDP]
H[QUIC]
end
subgraph Netwerklaag
I[IP]
end
subgraph Datalinklaag
J[Ethernet]
end
subgraph Fysieke laag
K[Twisted pair/kabel/vezel/loze golven]
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
Basisbegrippen en correcties
- Plain DNS gebruikt standaard UDP/53; bij afgeknotte respons (TC-bit) of wanneer betrouwbare transport nodig is, wordt overgeschakeld naar TCP/53.
- DoT bouwt een TLS-tunnel over TCP op voor DNS-berichten, standaardpoort 853; kan lange verbindingen hergebruiken om handshake-overhead te verminderen.
- DoH verpakt DNS als een HTTPS-resource (
application/dns-message), meestal via HTTP/2 of HTTP/3, poort 443, gemakkelijk te verwarren met reguliere HTTPS. - DoQ draagt DNS direct over QUIC (gebaseerd op UDP), met voordelen als lage latentie en het voorkomen van head-of-line blocking, maar de ecosystem-dekking is nog in groei.
- De algemene stelling “QUIC is altijd X% sneller dan TCP” is niet accuraat; de praktische prestaties hangen af van netwerkcondities (packet loss, jitter, RTT), of verbindingen herbruikbaar zijn, implementatiedetails en serverdeployments.
- DoH is niet automatisch “trager/snel door DNS in HTTP te stoppen”; de prestaties hangen af van connectiehergebruik, netwerkkwaliteit en implementatie; in veel gevallen zijn DoH/3 en DoT vergelijkbaar of zelfs beter.
- DoT kan SNI gebruiken voor certificaatverificatie; DoH vertrouwt op de standaard HTTPS-certificaatcontrole en hostnamematching.
- Versleutelde DNS voorkomt alleen afluisteren en manipuleren op de route. Het is niet “volledig anoniem”. De resolver kan nog steeds queries loggen; kies een betrouwbare provider en bekijk het privacybeleid.
graph TD
subgraph DNS familie
A[Plain DNS UDP/TCP + DNS]
subgraph Versleutelde DNS
B[DoT TCP + TLS + DNS]
C[DoH HTTP/2,3 + TLS + DNS]
D[DoQ QUIC + TLS 1.3 + DNS]
end
subgraph Transport basis
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
Overzicht van vergelijking
| Protocol | Transportlaag | Encryptie | Encapsulatie | Standaardpoort | Typische kenmerken |
|---|---|---|---|---|---|
| Plain DNS | UDP/TCP | Geen | DNS native | 53 | Eenvoudig en efficiënt, zichtbare tekst, vatbaar voor manipulatie/inspectie |
| DoT | TCP | TLS 1.2/1.3 | DNS | 853 | Specifieke poort, makkelijk te blokkeren, goede systeemsteun |
| DoH | TCP/QUIC | TLS 1.2/1.3 | HTTP/2-3 + DNS | 443 | Deelt dezelfde poort als HTTPS, goede doordringing, browserprioriteit |
| DoQ | QUIC | TLS 1.3 | DNS | 853/UDP | Lage latentie, voorkomt head-of-line blocking, ecosystem in ontwikkeling |
Prestaties en latentie
- Connectiehergebruik: DoT/DoH/DoQ kunnen allemaal lange verbindingen hergebruiken om handshake-kosten te verlagen; DoH/2, DoH/3 en DoQ ondersteunen ook multiplexing binnen één connectie.
- Head-of-line blocking: TCP heeft dit probleem op applicatieniveau; HTTP/2 verlicht het via multiplexing maar is nog steeds gevoelig voor TCP-packetloss; QUIC (DoH/3, DoQ) voorkomt het op transportniveau, gunstig bij hoge packet loss/bewegende netwerken.
- Eerste-pakket latentie: Bij eerste connectie moet DoT TCP+TLS handshaken; DoH/2 vergelijkbaar; DoH/3/DoQ op basis van QUIC is sneller bij reconnectie en migratie. Op lange termijn hangen de verschillen meer af van implementatie en netwerkcondities.
- Bereikbaarheid: DoH gebruikt poort 443, het moeilijkst te blokkeren via eenvoudige poortfilters; DoT gebruikt 853, vaak simpel geblokkeerd; DoQ gebruikt 853/UDP, momenteel ook mogelijk geblokkeerd of niet toegestaan.
Client en systeemondersteuning
- Browsers: Chromium-familie en Firefox bieden standaard DoH (kunnen automatisch upgraden naar ondersteunde resolvers of gebruikmaken van ingebouwde providerlijsten).
- Windows: Windows 11 biedt native DoH-ondersteuning.
- Android: Android 9+ biedt “Private DNS” (systeemniveau DoT). Systeem-DoH-dekking hangt af van versie/fabrikant.
- Apple-platforms: iOS 14+/macOS 11+ ondersteunen DoT en DoH via configuratieprofielen of NetworkExtension.
Deployments- en selectieadvies
- Algemene/beperkte netwerken (bijv. openbare Wi‑Fi, vereist doorbraak): geef DoH (poort 443) de voorkeur, HTTP/3 inschakelen indien beschikbaar.
- Systeemniveau uniforme uitgang (router, gateway, Android Private DNS): geef DoT (853) de voorkeur, eventueel DoH (443) als fallback indien het netwerk het toestaat.
- Hoge packet loss/bewegende netwerken: geef de voorkeur aan QUIC-gebaseerde DoH/3 of DoQ (afhankelijk van resolver- en clientondersteuning).
- Enterprise/compliance-scenario’s: kies volgens beleid (DoH kan integreren met bestaande HTTPS-infrastructuur; DoT vergemakkelijkt scheiding van DNS-controle).
Samenvatting
- Geef DoH (443, goede doorbraak) de voorkeur; schakel HTTP/3 in als beschikbaar.
- Voor systeemniveau uniformiteit: geef DoT (853) + persistente connecties de voorkeur, met DoH (443) als noodplan.
- Als resolver en client beide ondersteuning bieden: probeer DoQ (meestal betere ervaring in mobiele netwerken).
Referentiestandaarden
- RFC 7858, RFC 8310 (DNS over TLS)
- RFC 8484 (DNS over HTTPS)
- RFC 9250 (DNS over QUIC)
DNS-service aanbevelingen
- Ningping DNS: https://www.nullprivate.com ondersteunt DoT, DoH (ondersteunt HTTP3), native ad-blocker en split-DNS.
- Zelf-gehoste versie: https://github.com/NullPrivate/NullPrivate