QNAME minimization, DNS çözümlemesi sırasında ara sunucularla paylaşılan alan adı bilgisini azaltan yöntemdir. Kök, üst düzey alan ve diğer yetkili DNS sunucularına ilk sorgudaki tam ad yerine, o aşamada gerekli ad bölümü gönderilir. RFC 9156, bu işlemin yanı sıra ara sorgularda asıl sorgu türünün gizlenmesini de tanımlar.

DNS iletisindeki QNAME (Query Name) alanı, o sorguda bilgi istenen adı belirtir. Örneğin kullanıcı www.magaza.example.com adresine erişmek istediğinde recursive resolver (özyinelemeli DNS çözümleyicisi) bu tam adı alır ve gereken DNS kayıtlarını istemci adına bulur. QNAME minimization kullanıldığında sonraki ara sorguların QNAME alanında, ilk adın tamamı yerine daha kısa bölümleri bulunabilir.

QNAME minimization DNS trafiğini şifrelemez ve alan adını bütün taraflardan gizlemez. Yöntem, recursive resolver ile yetkili DNS sunucuları arasındaki sorgularda gereksiz ad ve sorgu türü paylaşımını azaltır.

Sorgu Adı Nasıl Daraltılır?

Alan adındaki noktayla ayrılmış her bölüme label (etiket) denir. DNS Zone, belirli yetkili DNS sunucularının sorumlu olduğu ad alanıdır; bir alt alanın başka sunuculara bırakılması yetki devri oluşturur. Recursive resolver yanıtı önbelleğinde bulamazsa, sorgu adına en çok uyan ve yetkili sunucularını bildiği en yakın bölgeyi belirler. Ardından bu bilinen bölgenin başına asıl sorgu adından gereken bir sonraki etiketi ekler. Yetki devri bulunduğunda yeni yetkili DNS sunucusuna geçer. Adın bulunduğu, ancak yeni bir yetki devrinin olmadığı yanıtlanırsa bir sonraki etiketi ekleyerek aynı bölgede aramayı sürdürür.

Ara sorgularda kullanılan QTYPE (Query Type) alanı, istenen DNS kaydının türünü belirtir; ara sorgular için bu tür, istemcinin istediği asıl sorgu türünden bağımsız seçilir. Yürürlükten kaldırılan RFC 7816, ara aşamalarda yetkili DNS sunucularını belirten NS kayıt türünü öneriyordu. Onun yerini alan RFC 9156, NS türünü zorunlu tutmaz; IPv4 adresini belirten A veya IPv6 adresini belirten AAAA kayıt türlerini de uygun adaylar olarak gösterir.

Aşağıdaki basitleştirilmiş örnekte example.com ile magaza.example.com ayrı yetki bölgeleridir; www.magaza.example.com ayrıca devredilmemiştir. İstemci www.magaza.example.com için AAAA kaydı ister; recursive resolver ara sorgular için A türünü seçer ve ilgili yetki bilgisi önbelleğinde bulunmaz. Son etikette yetki devri aranması, asıl AAAA sorgusundan önce ek bir A sorgusu oluşturur. Ara tür de AAAA seçilseydi bu son ek sorgu gerekmeyebilirdi. Gerçek çözümleme, var olan yetki devirlerine ve önbellekteki bilgilere göre değişebilir.

Çözümleme aşamasıGönderilen sorgu adıGönderilen sorgu türüSunucunun gördüğü bilgi
Kök DNS sunucusucomAYalnız .com üst düzey alanı için yönlendirme istendiğini görür.
.com üst düzey alan sunucusuexample.comAYalnız example.com bölgesinin yetkili sunucularının arandığını görür.
example.com yetkili DNS sunucusumagaza.example.comAmagaza.example.com için yetki devri bulunup bulunmadığını görür.
magaza.example.com yetkili DNS sunucusuwww.magaza.example.comASon etikette ayrıca yetki devri olup olmadığı araştırılır.
magaza.example.com yetkili DNS sunucusuwww.magaza.example.comAAAAİstenen kaydı yanıtlamak için gereken tam sorgu adını ve türünü görür.

Önbellek bu akışı doğrudan etkiler. Recursive resolver ilgili yetki devrini daha önce öğrendiyse ve bilginin yaşam süresi dolmadıysa kök veya üst düzey alan sunucusuna yeniden başvurmayabilir. Çözümleme bu durumda daha ileri bir aşamadan başlar.

Başka bir alan adını hedef gösteren CNAME kaydı ya da yeni bir yetki devri ek çözümleme işlemi oluşturabilir. Recursive resolver yeni hedef için önbellekteki en yakın yetki noktasını yeniden belirler ve desteklediği QNAME minimization yöntemini bu yeni işlemde de uygular.

QNAME Minimization DNS Gizliliğini Nasıl Etkiler?

DNS hiyerarşisindeki sunucular kendilerine ulaşan sorgu adlarını günlüklerine kaydedebilir; QNAME minimization kayıt tutulmasını engellemez. Tam adın her aşamaya gönderilmesi, kök sunucunun yalnız üst düzey alanı bilmesi yeterliyken sorgulanan alt alan adını da görmesine yol açabilir.

QNAME minimization, her sunucunun gördüğü ad bölümünü ve ara aşamalarda açığa çıkan sorgu türünü sınırlar. Kök sunucu üst düzey alanı, üst düzey alan sunucusu yetki devri için gereken alanı, son yetkili DNS sunucusu ise yanıtlayacağı tam adı ve asıl sorgu türünü görür. Böylece ara sunucular çözümleme için gerekmeyen ayrıntıları almaz.

Bu sınırlama anonimlik sağlamaz. İstemcinin kullandığı recursive resolver tam sorgu adını bilir. İstenen kaydı barındıran son yetkili DNS sunucusu da yanıt verebilmek için tam adı görür. Şifreleme kullanılmayan bağlantılarda ağ üzerindeki gözlemciler sorguları okuyabilir.

QNAME Minimization Yöntemini Hangi DNS Bileşeni Uygular?

QNAME minimization genellikle, yanıt bulmak için DNS hiyerarşisinde sunucudan sunucuya ilerleyen iterative DNS sorgularını (yinelemeli DNS sorguları) gönderen recursive resolver tarafından uygulanır. Uygulamaların sorgularını seçili DNS sunucusuna ileten stub resolver ise çoğu yapılandırmada tam sorgu adını bu sunucuya gönderir.

Bir DNS forwarder (DNS yönlendirici), sorguları başka bir DNS hizmetine aktarır. RFC 9156, DNS forwarder ve stub resolver bileşenlerinin de QNAME minimization uygulamasına izin verir. Ancak bu bileşenler yetki devri noktalarını bulup önbelleğe alamıyorsa sorgu sayısı çok artabilir. Üstteki recursive resolver sonuçta bütün ad bilgisini alır; bu kullanım tam adı ondan gizlemez, onun yetkili DNS sunucularıyla paylaştığı bilgiyi azaltmaya yardımcı olabilir.

Yerel ağdaki modem veya kurumsal DNS forwarder sorguyu değiştirmeden başka bir recursive resolver'a aktarıyorsa QNAME minimization yöntemini kök ve yetkili DNS sunucularıyla iletişim kuran son recursive resolver uygular. Bir hizmetin özelliği kullanıp kullanmadığı ürün belgelerinden, yapılandırma seçeneklerinden ve sürüm notlarından doğrulanmalıdır.

Uyumluluk, Yeniden Deneme ve Sorgu Sayısı

Yetkili DNS sunucularının büyük bölümü daraltılmış sorgulara uygun yanıt verir. Hatalı veya alışılmadık biçimde yapılandırılmış bazı sunucular ise yetki devrini bulmaya yönelik sorguya beklenen yönlendirmeyi vermeyebilir ya da bazı sorgu türlerini standart dışı biçimde işleyebilir.

Adın bulunduğu ancak yeni bir yetki devrinin olmadığı yanıtlanırsa recursive resolver bir sonraki etiketi ekleyebilir. Adın bulunmadığını gösteren ve kabul edilen bir yanıt ise aramayı sonlandırabilir; her olumsuz yanıt yeni etiket eklemek anlamına gelmez. Zaman aşımı veya beklenmedik yanıt durumunda başka bir yetkili DNS sunucusu denenebilir. BIND ve Unbound gibi yazılımlar, uyumluluk ayarına bağlı olarak ilgili sorguyu tam ad ve asıl türle yeniden de gönderebilir. Bu yeniden denemede ara sunucu tam adı görebilir; QNAME minimization ayarının açık olması her sorgunun mutlaka daraltılacağını garanti etmez.

Çok sayıda etiketi olan adlar, ilgili yetki bilgisi henüz önbellekte yokken ek ara sorgular oluşturabilir. RFC 9156 bu nedenle her kullanıcı isteği için gönderilebilecek sorgu sayısını sınırlayan bir mekanizmayı zorunlu tutar; tek etiketli ilk adımlardan sonra daha fazla etiketi birlikte ekleyen yöntem için önerilen üst sınır 10 QNAME minimization yinelemesidir. Bu sayı, yeniden denemeler dahil bütün DNS iletileri için evrensel bir 10 sorgu sınırı değildir.

Bir çözümleme adımında birden fazla etiket gönderilmesi, yöntemin bütünüyle devre dışı olduğu anlamına gelmez. Recursive resolver diğer alanlarda ad paylaşımını azaltmayı sürdürürken yalnız ilgili çözümleme yolunda daha fazla etiketi birlikte gönderebilir.

QNAME Minimization ve Diğer DNS Koruma Yöntemleri

QNAME minimization ile DoH (DNS over HTTPS), DoT (DNS over TLS) ve DNSSEC farklı görevler üstlenir ve birlikte kullanılabilir.

  • QNAME minimization: Recursive resolver'ın ara yetkili DNS sunucularına hangi ad bölümünü ve sorgu türünü gönderdiğini sınırlar.
  • DoH ve DoT: Kullanıldıkları bağlantıdaki DNS iletilerini şifreler; yaygın kullanıcı senaryosunda istemci ile recursive resolver arasındaki yolu korur. DoH, web trafiğinde de kullanılan HTTPS üzerinden; DoT ise DNS için ayrılmış bir TLS bağlantısı üzerinden çalışır. TLS, bağlantıyı şifreleyen bir protokoldür; HTTPS de HTTP iletişiminin TLS ile korunan biçimidir.
  • DNSSEC: Dijital imzaları doğrulayarak DNS verisinin kaynağını ve bütünlüğünü denetler; taşıma kanalını şifrelemez.