RFC 2671 – Extension Mechanisms for DNS (EDNS0)
Überholt: ersetzt durch RFC 6891.
| Status | Proposed Standard |
|---|---|
| Veröffentlicht | August 1999 |
| Volltext | rfc-editor.org/rfc/rfc2671 |
RFC 2671 spezifiziert Erweiterungsmechanismen für das Domain Name System (DNS), die als EDNS0 bekannt sind. Diese Mechanismen adressieren die begrenzten Kapazitäten des ursprünglichen DNS-Protokolls, wie die maximale Größe von UDP-Nachrichten (512 Oktette), die Beschränkung auf 16 Antwortcodes (RCODE) und die fehlende Möglichkeit für Clients, ihre Fähigkeiten gegenüber Servern zu bewerben. EDNS0 führt einen neuen, optionalen Pseudo-Ressourceneintrag (OPT-RR) im zusätzlichen Datenbereich einer DNS-Nachricht ein, der niemals zwischengespeichert oder weitergeleitet wird.
Der OPT-RR besteht aus einem festen Teil und einer variablen Menge von Optionen als Attribut-Wert-Paare. Der feste Teil enthält Metadaten: die maximale UDP-Payload-Größe des Absenders (im CLASS-Feld), den erweiterten RCODE und eine Versionsnummer (im TTL-Feld) sowie Flags. Die erweiterte RCODE von 12 Bit setzt sich aus den ursprünglichen 4 Bit und 8 zusätzlichen Bit im OPT-RR zusammen. Die variable RDATA des OPT-RR erlaubt die Definition neuer Optionen durch IANA. Zudem definiert RFC 2671 erweiterte Label-Typen, bei denen die Bitfolge "01" einen erweiterten Label-Typ kennzeichnet, dessen Wert in den unteren sechs Bit des ersten Oktetts kodiert wird.
Historisch ist RFC 2671 ein grundlegender Meilenstein für die DNS-Entwicklung, da es die drängendsten Einschränkungen des Basisprotokolls aus RFC 1035 löste, ohne die Abwärtskompatibilität zu brechen. Es ebnete den Weg für größere DNS-Nachrichten über UDP, neue Antwortcodes und eine flexible Architektur für zukünftige Erweiterungen. EDNS0 ist bis heute die Grundlage fast aller modernen DNS-Erweiterungen, wie DNSSEC (RFC 4033-4035) oder die Unterstützung für IPv6-Transport, und wird von allen relevanten DNS-Implementierungen und Resolvern unterstützt.