DoQ (DNS over QUIC), DNS sorgu ve yanıtlarını doğrudan QUIC bağlantısında şifreli taşıyan protokoldür. QUIC; UDP üzerinde çalışan, TLS'nin 1.3 sürümünü kullanan ve aynı bağlantıda bağımsız akışlar taşıyabilen güvenli bir taşıma protokolüdür. Buradaki akış, verinin kendi içinde sıralı teslim edildiği bağımsız bir iletim kanalıdır.

DoQ'nun ayırt edici yönü, aynı bağlantıdaki bağımsız DNS işlemlerini ayrı akışlarda yürütebilmesidir. Bir sorgunun yanıtı gecikse veya o sorguya ait verilerin yeniden iletilmesi gerekse bile diğer sorguların tamamlanması zorunlu olarak gecikmez. TCP bağlantısında ise eksik veri tamamlanmadan sonraki veriler uygulamaya teslim edilmez. Head-of-line blocking adı verilen bu bekleme, DoQ’da yalnız kaybolan veriyi taşıyan akışları doğrudan durdurur.

İnternet standardı RFC 9250, DoQ'yu yalnız istemci ile recursive resolver (özyinelemeli DNS çözümleyicisi) arasında değil; recursive resolver ile yetkili DNS sunucusu arasındaki sorgular ve DNS kayıtlarının sunucular arasında toplu kopyalandığı bölge aktarımları için de tanımlar.

DoQ Nasıl Çalışır?

DoQ istemcisi ile recursive resolver önce bir QUIC bağlantısı kurar. Bağlantı hazır olduğunda istemci sorguları tek bir sıralı veri kanalı içinde art arda göndermez; her DNS işlemini kendine ait çift yönlü akışta taşır.

DoQ Bağlantısının Kurulması

İstemci ve sunucu, bağlantıda kullanılacak uygulama protokolünü ALPN (Application-Layer Protocol Negotiation) mekanizmasıyla belirler: istemci doq tanımlayıcısını sunar, sunucu bu protokolü seçer. DoQ hizmetlerinin varsayılan UDP portu 853’tür. Sunucu bu portta QUIC bağlantısı kabul eder. İki uç başka bir port üzerinde anlaşabilir; ancak DoQ için 53/UDP kullanılmaz.

QUIC, bağlantı kurulurken TLS 1.3 güvenliğini devreye alır. Şifreli kanal kurulması tek başına yeterli değildir: İstemci, uygun sertifika ve sunucu kimliği denetimleriyle doğru recursive resolver’a bağlandığını da doğrulamalıdır.

Her Sorgu İçin Ayrı Akış

İstemci, her yeni DNS sorgusu için yeni bir çift yönlü QUIC akışı açar. Recursive resolver sorguya ait yanıtı aynı akışta gönderir; taraflar veri aktarımı bittiğinde akışta başka veri göndermeyeceklerini işaretler. Böylece her DNS işlemi, istemci tarafından başlatılan tek bir çift yönlü akışı kullanır.

Akış sorgu ile yanıtı doğrudan eşleştirdiği için DoQ sorgu ve yanıtlarındaki Message ID (DNS işlem kimliği) sıfır olmalıdır. Aynı QUIC bağlantısında çok sayıda akış bulunabilir. Recursive resolver sorguları eş zamanlı işleyebilir ve daha erken tamamlanan yanıtı, önce gönderilmiş başka bir sorgunun bitmesini beklemeden iletebilir.

DoQ Bağlantısının Yeniden Kullanılması

İstemcinin her sorgudan sonra DoQ bağlantısını kapatması gerekmez. Kalıcı bağlantı üzerinden yeni akışlar açmak, bağlantı görüşmesinin maliyetini birden fazla DNS işlemine dağıtır. İstemci yeni sorgu göndermeden önce bağlantının boşta kalma süresini denetler; süre dolmak üzereyse mevcut bağlantı yerine yenisini kurabilir.

QUIC, oturum sürdürmeyi ve sunucu destekliyorsa 0-RTT (zero round-trip time) verisini destekler. 0-RTT, istemcinin önceki oturum bilgilerini kullanarak sunucudan ilk yanıtı beklemeden veri göndermesine olanak tanır. Bu özellik yeniden bağlantı gecikmesini azaltabilir. DoQ'da 0-RTT yalnız DNS işlem kodu QUERY (sorgu) veya NOTIFY (bildirim) olan isteklerde kullanılabilir; diğer DNS işlemleri bağlantı görüşmesi tamamlanmadan gönderilemez.

0-RTT verisini ele geçiren bir saldırgan aynı veriyi yeniden gönderebilir; oturum sürdürme bilgileri de farklı bağlantıların aynı istemciye ait olduğunun anlaşılmasını kolaylaştırabilir. İstemciler oturum sürdürme biletini yalnız bir kez kullanmalı ve bağlantı koşulları değiştiğinde varsayılan olarak eski oturumu sürdürmemelidir.

QUIC Akışları Sorgu Gecikmesini Nasıl Etkiler?

TCP tabanlı bir bağlantıda kaybolan veri, bağlantıdaki sonraki verilerin uygulamaya teslimini geciktirebilir. DoQ, bağımsız DNS işlemlerini ayrı QUIC akışlarına ayırdığı için bir akıştaki kayıp veya gecikme diğer akışların tamamlanmasını zorunlu olarak durdurmaz.

Ayrı akışlar özellikle aynı anda çok sayıda DNS sorgusu yapan istemcilerde yarar sağlayabilir. Ancak aynı QUIC paketinde birden fazla akışın verisi varsa paketin kaybı bu akışların tümünü etkiler. Ağ tıkanıklığı nedeniyle gönderim hızının düşmesi de aynı bağlantıdaki sorguları yavaşlatabilir. Her sorgunun daha kısa sürede tamamlanacağı yine de garanti edilemez; ağ yolu, paket kaybı oranı, recursive resolver’ın işlem süresi, QUIC akış ve bağlantı sınırları ile bağlantının önceden açık olup olmaması toplam süreyi belirler.

UDP tabanlı QUIC trafiğinin engellendiği, yoğun biçimde sınırlandığı veya kararsız çalıştığı bir ağda DoQ bağlantısı gecikebilir ya da başarısız olabilir.

Şifreli DNS Taşıma Yöntemleri Nasıl Ayrılır?

DoT (DNS over TLS), TLS ile korunan TCP bağlantısını kullanır. Web iletişiminde kullanılan HTTP trafiğinin TLS ile şifrelendiği biçim HTTPS’tir. DoH (DNS over HTTPS), DNS iletilerini HTTPS isteklerine yerleştirir. DoQ ise DNS iletilerini HTTP katmanı olmadan doğrudan QUIC akışlarına eşler.

ProtokolTaşıma modeliEş zamanlı sorgularWeb protokolü kullanımı
DoQÖzel QUIC bağlantısıHer sorgu ayrı QUIC akışındaKullanmaz
DoTTLS ile korunan TCP bağlantısıSorgular eş zamanlı gönderilebilir; veri kaybı TCP bağlantısındaki teslimatı geciktirebilirKullanmaz
DoHHTTPS istek ve yanıtlarıKullanılan HTTP sürümünün akış modeline bağlıdırKullanır

DoQ, HTTP/3 ile aynı protokol değildir. DoH, HTTP/3 üzerinde çalıştırıldığında QUIC'in bazı taşıma özelliklerinden yararlanabilir; DoQ ise DNS iletilerini HTTP isteklerine dönüştürmeden doğrudan QUIC akışlarına eşler.

Bu ayrım ağ politikalarını da etkiler. DoQ trafiği şifreli olsa da protokol kendisini normal web trafiği gibi gizlemek için tasarlanmamıştır. Güvenlik duvarları veya ara ağ cihazları DoQ'yu ayırt ederek farklı kurallar uygulayabilir.

DoQ'nun Gizlilik ve Güvenlik Kapsamı

DoQ, istemci ile recursive resolver arasındaki sorgu ve yanıt içeriğini ağ yolundaki pasif gözlemcilerden korur. Bu koruma, recursive resolver’ın sorguları görmesini veya kendi kayıt tutma politikasını uygulamasını engellemez. Gizlilik düzeyi hem protokole hem de bağlanılan recursive resolver’ın kimliğine ve kayıt tutma politikasına bağlıdır.

Şifreleme trafik analizini tamamen ortadan kaldırmaz. Paket boyutları, zamanlama ve bağlantı uçları bazı çıkarımlara olanak verebilir; paket boyutlarını birbirine yaklaştırmak için ek veri kullanan padding (dolgu) mekanizmaları bu riski azaltmayı amaçlar. DoQ ayrıca DNSSEC yerine geçmez: DoQ taşıma kanalını korurken DNSSEC, dijital imzalarla DNS verisinin kaynağını ve bütünlüğünü denetler.

QUIC'in connection migration özelliği, istemcinin kablosuz ağdan mobil ağa geçmesi gibi bağlantı koşulları değiştiğinde mevcut bağlantıyı sürdürebilir. Bu davranış farklı IP adreslerini aynı oturumla ilişkilendirebilir. RFC 9250 bu nedenle istemcilerin varsayılan olarak gizliliğe öncelik vermesini ve bağlantı koşulları değiştiğinde yeni oturum başlatmasını önerir.

DoQ bağlantısı kurulamazsa izlenecek yol istemcinin yapılandırmasına bağlıdır. İstemci başka bir şifreli taşıma yöntemine geçebilir; şifresiz DNS’e dönüş ise ancak seçilen gizlilik profili buna izin veriyorsa yapılabilir. Şifreleme ve sunucu kimliği doğrulamasını zorunlu tutan Strict Privacy profilinde şifresiz sorgu gönderilmez.

DoQ bir VPN'in yerine geçmez. VPN, yapılandırmaya göre farklı uygulamaların trafiğini bir tünelden taşıyabilirken DoQ yalnız iki DoQ ucu arasındaki DNS taşımasını korur. İstemci ile recursive resolver arasında DoQ kullanılması, recursive resolver’ın yetkili DNS sunucularına göndereceği sorguları kendiliğinden şifrelemez.

DoQ Desteği Nasıl Kontrol Edilir?

DoQ'nun çalışması için hem istemci hem de recursive resolver protokolü desteklemeli ve bağlantı görüşmesinde doq uygulama protokolü seçilmelidir. İşletim sistemi, tarayıcı ve ağ uygulamalarındaki destek zamanla değişebildiği için yalnız ürün adına bakmak DoQ'nun kullanıldığını kanıtlamaz.

İstemci veya recursive resolver günlüklerinde doq protokolünün seçildiği, QUIC bağlantısının kurulduğu ve denenen DNS sorgusunun bu bağlantıda yanıtlandığı birlikte doğrulanır. Yalnız ayar menüsünde DoQ seçeneğinin bulunması veya QUIC bağlantısının kurulması, uygulamanın DNS sorgularını o bağlantıda tamamladığını kanıtlamaz.