DNS Şifreleme Protokolleri Karşılaştırması: DoT, DoH, DoQ
Plain DNS, DoT, DoH, DoQ arasındaki katman ilişkileri, portlar, performans farkları ve kullanım senaryolarını gözden geçirip, gerçek seçim ve yapılandırma önerileri sunar.
Categories:
Hızlı Terimler
- Plain DNS: Açık DNS, varsayılan olarak UDP/53 kullanır, gerekli olduğunda TCP/53 kullanır (ör. yanıt kesilirse, bölge aktarımı vb.).
- DoT: DNS over TLS, TLS üzerinden TCP kullanır, varsayılan port 853 (RFC 7858/8310).
- DoH: DNS over HTTPS, HTTPS (HTTP/2 veya HTTP/3) üzerine kurulur, varsayılan port 443 (RFC 8484).
- DoQ: DNS over QUIC, QUIC + TLS 1.3 üzerine kurulur, varsayılan port UDP/853 (RFC 9250, IANA tarafından 853/udp’ye atanmıştır).
Katman İlişkisi (Basitleştirilmiş TCP/IP Modeli)
- Uygulama Katmanı: HTTP, HTTPS, DNS (DoH HTTPS uygulama katmanı sarmalama içinde yer alır)
- Güvenlik Katmanı: TLS (TCP veya QUIC için şifreleme sağlar)
- Ulaşım Katmanı: TCP, UDP, QUIC
- Ağ Katmanı: IP
- Bağlantı Katmanı: Ethernet vb.
- Fiziksel Katman: Twisted pair/Fiber/Wireless vb.
Özet
- Plain DNS, UDP/TCP üzerine kurulur, şifrelenmez.
- DoT = TCP + TLS + DNS (özel port 853).
- DoH = TCP/QUIC + TLS + HTTP(S) + DNS (443 üzerinden, normal HTTPS ile aynı port).
- DoQ = QUIC + TLS 1.3 + DNS (özel port UDP/853).
graph TB
subgraph Uygulama Katmanı
A[HTTP]
A2[HTTPS]
C[DNS]
D[DoH DNS over HTTPS]
end
subgraph Güvenlik Katmanı
E[TLS]
end
subgraph Ulaşım Katmanı
F[TCP]
G[UDP]
H[QUIC]
end
subgraph Ağ Katmanı
I[IP]
end
subgraph Bağlantı Katmanı
J[Ethernet]
end
subgraph Fiziksel Katman
K[Çift Bükümlü/Fiber/Kablosuz]
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
Temel Bilgiler ve Düzeltmeler
- Plain DNS varsayılan olarak UDP/53 üzerinden çalışır, yanıt kesildiğinde (TC biti) veya güvenilir iletim gerektiğinde TCP/53’e geçer.
- DoT, TCP üzerine TLS tüneli kurar ve DNS mesajını iletir, varsayılan port 853; uzun bağlantıyı yeniden kullanarak el sıkışma maliyetini azaltabilir.
- DoH, DNS’i bir HTTPS kaynağı (application/dns-message) olarak ele alır, genellikle HTTP/2 veya HTTP/3 kullanır, port 443, normal HTTPS ile karışabilir.
- DoQ, DNS’i doğrudan QUIC (UDP tabanlı) üzerinden taşır, düşük gecikme ve başa takılma (head-of-line blocking) sorunundan kaçınma avantajına sahiptir, ancak ekosistemin kapsamı hâlâ artmaktadır.
- “QUIC mutlaka TCP’den %X daha hızlıdır” gibi genellemeler doğru değildir; gerçek performans, ağ durumu (paket kaybı, gecikme, RTT), bağlantının yeniden kullanılabilirliği, uygulama detayları ve sunucu dağıtımıyla ilişkilidir.
- DoH, “DNS’i HTTP içine koyarsanız kesinlikle daha yavaş/hızlı olur” anlamına gelmez; performans, bağlantı yeniden kullanımı, ağ kalitesi ve uygulamaya bağlıdır; çoğu durumda DoH/3 ile DoT deneyimi benzer veya daha iyi olabilir.
- DoT, SNI ile sertifika ana makine adı doğrulaması yapabilir; DoH ise HTTPS sertifika doğrulaması ve ana makine adı eşleşmesine dayanır.
- Şifreli DNS, sadece yol üzerindeki dinleme ve bozulmayı önlemez, “tamamen anonim” anlamına gelmez. Çözümleyici yine de sorguları kaydedebilir; güvenilir bir sağlayıcı seçin ve gizlilik politikasını inceleyin.
graph TD
subgraph DNS Ailesi
A[Plain DNS UDP/TCP + DNS]
subgraph Şifreli DNS
B[DoT TCP + TLS + DNS]
C[DoH HTTP/2,3 + TLS + DNS]
D[DoQ QUIC + TLS 1.3 + DNS]
end
subgraph Ulaşım Tabanı
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
Genel Karşılaştırma
| Protokol | Ulaşım Katmanı | Şifreleme | Sarmalama | Varsayılan Port | Tipik Özellikler |
|---|---|---|---|---|---|
| Plain DNS | UDP/TCP | Yok | DNS Native | 53 | Basit ve verimli, açık metin, taklit/inceleme yapmaya açık |
| DoT | TCP | TLS 1.2/1.3 | DNS | 853 | Özel port, basit port engellemesine açık, sistem düzeyi desteği iyi |
| DoH | TCP/QUIC | TLS 1.2/1.3 | HTTP/2-3 + DNS | 443 | HTTPS ile aynı port, delme gücü yüksek, tarayıcı önceliği |
| DoQ | QUIC | TLS 1.3 | DNS | 853/UDP | Düşük gecikme, başa takılma sorunundan kaçınır, ekosistem gelişimde |
Performans ve Gecikme
- Bağlantı Yeniden Kullanımı: DoT/DoH/DoQ uzun bağlantıyı yeniden kullanarak el sıkışma maliyetini azaltabilir; DoH/2, DoH/3 ve DoQ da çoklu istekleri tek bağlantı içinde çoğullayabilir.
- Başa Takılma: TCP uygulama katmanı başa takılma sorununa sahiptir; HTTP/2 çoklu istekle bunu hafifletir ama hâlâ TCP paket kaybından etkilenir, QUIC (DoH/3, DoQ) ulaşım katmanında başa takılmayı önler, yüksek paket kaybı/mobil ağ için daha uygundur.
- İlk Paket Gecikmesi: İlk bağlantıda DoT TCP+TLS el sıkışması gerektirir; DoH/2 benzerdir; DoH/3/DoQ QUIC tabanlıdır, yeniden bağlanma ve geçiş daha hızlıdır. Uzun vadeli yük altında fark daha çok uygulama ve ağ koşullarına bağlıdır.
- Erişilebilirlik: DoH 443 portunu kullanır, basit port engellemesinden en az etkilenir; DoT 853 portunu kullanır, genellikle kesintiye uğrar; DoQ 853/UDP kullanır, şu anda engellenmiş veya izin verilmemiş olabilir.
İstemci ve Sistem Desteği
- Tarayıcılar: Chromium ailesi ve Firefox varsayılan DoH (desteği olan çözümleyiciye otomatik yükseltme veya yerleşik listeler) sunar.
- Windows: Windows 11 DoH için yerleşik destek sunar.
- Android: Android 9+ “Özel DNS” (sistem düzeyi DoT) sunar. Sistem düzeyi DoH desteği sürüm/üreticiye göre değişir.
- Apple Platformları: iOS 14+/macOS 11+ açıklama dosyaları veya NetworkExtension ile DoT ve DoH destekler.
Dağıtım ve Seçim Önerileri
- Normal/Kısıtlı Ağ (ör. kamuya açık Wi‑Fi, basit engellemeyi aşma ihtiyacı): Öncelik DoH (port 443), HTTP/3 etkinleştirilebilir.
- Sistem Düzeyi Ortak Çıkış (yönlendirici, ağ geçidi, Android Özel DNS): Öncelik DoT (853), ağ izin veriyorsa DoH (443) yedek olarak eklenebilir.
- Yüksek Paket Kaybı/Mobil Ağ: QUIC destekli DoH/3 veya DoQ (çözümleyici ve istemci desteği varsa) tercih edilmelidir.
- Kurumsal/Uyumluluk Senaryoları: Politikaya göre seçim (DoH mevcut HTTPS altyapısıyla bütünleşebilir; DoT DNS kontrol katmanı ile ayrılmasını kolaylaştırır).
Özet
- Öncelik DoH (443, delme gücü yüksek), kullanılabilirse HTTP/3 etkinleştirin.
- Sistem düzeyi birlik için: Öncelik DoT (853) + kalıcı bağlantı, gerekirse DoH (443) yedek.
- Çözümleyici ve istemciniz DoQ destekliyorsa: deneyin (mobil ağda deneyim genellikle daha iyi).
Referans Standartları
- RFC 7858, RFC 8310 (DNS over TLS)
- RFC 8484 (DNS over HTTPS)
- RFC 9250 (DNS over QUIC)
DNS Hizmeti Önerileri
- Ningping DNS: https://www.nullprivate.com DoT, DoH (HTTP3 desteği), yerel reklam engelleme ve yönlendirme destekler.
- Kendi Kendine Dağıtım Sürümü: https://github.com/NullPrivate/NullPrivate