Unter dem Begriff EDNS (Extended DNS) werden verschiedene Erweiterungen des Domain Name System zusammengefasst, die den Transport von DNS-Daten in UDP-Paketen betreffen.
Da im DNS-Header kein Flag mehr zur Verfügung stand, um zwischem herkömmlichen und EDNS-Format zu unterscheiden, wurde ein sogenannter Pseudo-Record eingeführt, der sogenannte OPT Resource Record. Ein derartiger Pseudo-RR wird nur auf dem Transportweg zwischen Client und Server verwendet. Er erscheint niemals in Zonendateien oder in Caches. Ein DNS-Teilnehmer, der ein DNS-Paket als EDNS kennzeichnen möchte, fügt einen entsprechenden Pseudo-RR in die Additional Data Section der DNS-Anfrage oder -Antwort ein.
Neben der Aufgabe, ein Paket als EDNS-Paket zu markieren, hat ein OPT-Resource-Record folgende Funktionen:
Außerdem ist die Gesamtlänge des UDP-Pakets und die Versions-Nummer (zur Zeit 0) enthalten. In einem Datenfeld variabler Länge können zukünftig weitere Informationen eingetragen werden.
Eine weitere im RFC 2671 spezifizierte Erweiterung bezieht sich auf das Label-Format. Ursprünglich gab es in DNS-Paketen zwei Label-Typen, die durch die ersten beiden Bits definiert werden (RFC 1035):
Um eine größere Anzahl weiterer Label-Typen zu ermöglichen, wird der Typ 01 = "Extended Label" definiert. Aus den folgenden 6 Bits des ersten Bytes können damit insgesamt 63 Label-Untertypen gebildet werden.
In der Praxis treten bei Firewalls oft Schwierigkeiten auf, da ältere Firewalls von einer maximalen DNS-Paket-Länge von 512 Bytes ausgehen und längere Pakete abblocken.
Beispiel der Darstellung von OPT-Daten bei der Ausgabe des dig-Tools:
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096