DNS için Uzantı Mekanizmalarını Kullanma (EDNS0)

DNS için Uzantı Mekanizmalarını Kullanma (EDNS0)

DNS için Uzantı Mekanizmaları (RFC 2671’de tanımlandığı gibi EDNS0), DNS isteyicilerinin UDP paketlerinin boyutunu bildirmelerine olanak verir ve UDP paket boyutu için özgün DNS kısıtlaması (RFC 1035) olan 512 sekizliden daha büyük paketlerin aktarılmasını kolaylaştırır. DNS sunucusu UDP Aktarım Katmanı üzerinden bir istek aldığında, OPT kaynak kaydından (RR) isteyicinin UDP paket boyutunu belirler ve yanıtını, isteyicinin belirlediği en büyük UDP paket boyutunda izin verilen en çok kaynak kaydını içerecek şekilde ölçeklendirir. Kaynak kayıtları hakkında daha fazla bilgi için

ENDS0 UDP yanıtları

DNS sunucusu isteyicinin EDNS0’ı desteklediğini kabul etmeden önce, DNS sunucusunun OPT kaynak kaydı içeren bir sorgu alması gerekir. OPT kaydı gerçek bir DNS verisi içermez; içeriği yalnızca UDP Aktarım Katmanı iletisi ile ilgilidir. OPT kaydı, göndericinin UDP yükü boyutunu kendi CLASS alanında depolar ve isteyicinin, kendi ağında alabileceği en büyük UDP yükündeki sekizlilerin sayısını listeler.

DNS sunucusu, en büyük UDP paket boyutunu bildiren OPT kaydını içeren bir sorgu aldığında, UDP boyutunun, OPT kaydında belirtilen sınırdan daha büyük olan boyutunu keser.

Varsayılan olarak, DNS sunucusu, OPT kaynak kayıtlarını içeren sorgulara verilen yanıtlarda en büyük UDP boyutunu belirten OPT kaynak kayıtlarını içerir. OPT yanıt ayarının değiştirilmesi hakkında bilgi için,

DNS sunucusu, OPT kaynak kaydı içermeyen bir sorgu alırsa, isteyicinin sunucusunun EDNS0’ı desteklemediğini varsayar ve isteyiciye, sunucunun 512 sekizliden büyük UDP paketlerini kabul etmediğini varsayarak yanıt verir. Bu durumda, DNS sunucusu UDP yanıt boyutunun 512 sekizliyi aşan kısmını keser.

EDNS0 UDP sorguları

İstekte bulunan DNS sunucusu bir sorgu göndermeden önce, yanıt veren DNS sunucusunun EDNS0’ı destekleyip desteklemediğini anlamak için önbelleğini denetler. Yanıt veren DNS sunucusu EDNS0’ı destekliyorsa, istekte bulunan DNS sunucusu, gönderdiği sorgunun ek bölümüne bir ODP kaynak kaydı ekler. (Tüm sorguların beş bölümü vardır: üstbilgi, soru, yanıt, yetki ve ek.) İstekte bulunan DNS sunucusunun önbelleğine göre, yanıt veren DNS sunucusu EDNS0’ı desteklemiyorsa, istekte bulunan DNS sunucu, sorguyu göndermeden önce bir OPT kaynak kaydı eklemez.

EDNS0 desteğini tanımlama ve önbelleğe alma

DNS sunucusu, ana bilgisayardan OPT kaydı içeren bir istek veya yanıt aldığında, DNS sunucusu ana bilgisayarın desteklediği EDNS sürümünü (EDNS0 gibi) önbelleğe alır. Ana bilgisayardan gelen istekte veya yanıtta bir OPT kaydı yoksa, DNS sunucusunun önbelleği ana bilgisayarın EDNS0’ı desteklemediğini belirtir. Önbellek ana bilgisayarın EDNS0’ı desteklemediğini belirtmekte ise, önbellek değiştirilmez.

Ana bilgisayarın EDNS0 destek bilgilerinin önbellekte tutulma süresi için varsayılan değer 86400’dür (bir gün, saniye cinsinden). Bu değer, aşağıdaki kayıt defteri alt anahtarındaki EDNSCacheTimeout kayıt defteri girdisinden değiştirilebilir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dns\Parameters

İzin verilen değer aralığı 3600 (1 saat) ile 15724800 (182 gün) arasındadır..

DNS sunucusu, OPT kaynak kaydı istediğinde ve üstbilgide aşağıdaki RCODE değerlerinden birini içeren bir yanıt aldığında, ana bilgisayarın EDNS0’ı desteklemediğine karar verir:

Ad Değer Açıklama
FORMERR 1 Biçim Hatası. Ad sunucusu, OPT kaynak kaydını yorumlamadı.
SERVFAIL 2 Sunucu Hatası. Ad sunucusu, ad sunucusuyla ilgili bir sorun nedeniyle sorguyu işlemedi.
NOTIMPL 4 Gerçekleştirilmedi. Ad sunucusu, istenen sorgu türünü desteklemiyor.

(RCODE alanı veya yanıt kodu alanı, yanıtların bir parçası olarak üstbilgi bölümünde 4 bitlik bir alan kümesidir.) Bu durumda (isteyici olarak) DNS sunucusu, sunucunun EDNS0’ı desteklemediğini belirler ve bu bilgiyi önbelleğe alır.

Dikkat

  • Paket boyutlarını ele alırken, ağ iletim yolunun keşfedilen En Büyük İletim Birimini (MTU) (bu bilgi varsa) göz önünde bulundurmalısınız. UDP paketlerini 512 sekizliden büyük olacak şekilde yapılandırırken, UDP paketlerinin UDP ana bilgisayarları dışındaki aygıtlar (örneğin, yönlendiriciler) üzerinden taşınmaları gerektiğine ve bu cihazların 512 sekizliden büyük UDP paketlerini desteklemeyebileceğine dikkat edin. En büyük UDP paket boyutu her zaman MTU ile karşılaştırılmalıdır (MTU bazı durumlarda daha küçük olabilir). Tüm aygıtlar için en büyük UDP paket uzunluğu desteğini belirlemeniz ve UDP ana bilgisayarlarınızı bu en büyük değere göre yapılandırmanız önerilir.