Global EDNS (Extension Mechanisms for DNS) Kontrol Aracı
Resmi olarak RFC 6891'de tanımlanan EDNS (Extension Mechanisms for DNS), geleneksel bir zone dosyası kaydı değildir. Aksine, çekirdek DNS protokolünün kendisinde yapılan yapısal bir değişikliktir. DNS orijinal olarak 1980'lerde tasarlandığında protokol, durumsuz (stateless) User Datagram Protocol (UDP) üzerinden yürütülen herhangi bir sorgunun maksimum 512 baytlık bir Payload ile kesinlikle sınırlandırılması gerektiğini dikte ediyordu. Onlarca yıl boyunca bu sınırlama, temel IP adreslerini iletmek için yeterliydi. Ancak internet geliştikçe, bu katı sınır (hardcap) devasa bir mimari darboğaz (bottleneck) haline geldi.
512 Byte UDP Bariyerini Aşmak
Modern altyapı gereksinimlerinin — özellikle 128-bit IPv6 adresleri ve DNSSEC tarafından oluşturulan devasa kriptografik imzaların — kullanıma sunulması, rutin olarak 1.500 baytı aşan DNS yanıtlarıyla sonuçlandı. EDNS olmadan, UDP üzerinden büyük bir Payload döndürmeye çalışan authoritative bir sunucu, paketi kesmeye (truncate), başlıkta (header) "TC" (Truncated) bitini ayarlamaya ve istemciyi sorguyu daha yavaş, durum bilgisi olan (stateful) bir TCP bağlantısı üzerinden tamamen yeniden başlatmaya zorlamak zorunda kalır. Bu TCP fallback (geri dönüş) işlemi, uygulama çözümlemesine ciddi, bileşik gecikmeler (latency) katar ve nameserver kaynaklarını zorlar. EDNS, DNS başlığına bir "OPT pseudo-kaydı" (pseudo-record) enjekte ederek bunu çözer.
OPT Pseudo-Kaydı ve Buffer Anlaşması (Negotiation)
OPT kaydı statik bir zone dosyasında bulunmaz. Aktif işlem (transaction) sırasında dinamik olarak oluşturulur. EDNS uyumlu bir resolver bir sunucuyu sorguladığında, kabul edilebilir maksimum UDP Payload boyutunu (genellikle 1232 veya 4096 bayt) duyurmak (advertise) için bu OPT kaydını ekler. Authoritative sunucu EDNS'yi destekliyorsa, bu üzerinde anlaşılan (negotiated) buffer boyutunu kullanarak devasa DNSSEC Payload'larını tek, ışık hızında bir UDP işleminde iletir ve yavaş TCP fallback'i tamamen atlar.
Ağ Kara Deliklerini (Blackholes) ve Güvenlik Duvarı Droplarını Teşhis Etmek
Bir EDNS uyumluluk denetleyicisi kullanmak, gelişmiş ağ hata ayıklaması (debugging) için zorunlu bir adımdır. Birçok eski kurumsal güvenlik duvarı (firewalls), modası geçmiş izinsiz giriş tespit sistemleri (IDS) ve kötü yapılandırılmış tüketici yönlendiricileri (routers), 512 bayttan büyük gelen UDP paketlerini hala agresif bir şekilde düşürür (drop) ve bunları buffer overflow (arabellek taşması) saldırıları veya UDP flood'ları (taşkınları) olarak yorumlar. Bu gerçekleştiğinde istemci, sitenin aralıklı olarak kullanılamamasına neden olan ciddi DNS zaman aşımları (timeouts) yaşar. Ayrıca EDNS, EDNS Client Subnet (ECS) gibi gelişmiş routing telemetrisi sunarak, özyinelemeli (recursive) resolver'ların kullanıcının IP adresinin bir parçasını authoritative sunucuya iletmesine olanak tanır, bu da CDN'lerin trafiği en yakın coğrafi veri merkezine aşırı hassasiyetle yönlendirmesini sağlar.