Zusammenfassung

  • NXDOMAIN erklärt den Namen für nicht existent; NODATA verneint nur den angefragten Typ an einem möglicherweise vorhandenen Namen. Deshalb haben beide unterschiedliche Cache-Schlüssel.
  • RFC 2308 bindet eine autoritative Negativantwort an den SOA der Zone. Der kleinere Wert aus SOA-TTL und MINIMUM nimmt im Cache ab; bei null darf das Nein nicht mehr verwendet werden.
  • Ohne SOA sollte eine Negativantwort nicht gespeichert werden. In einer Forwarder-Schleife könnte jeder Server eine kurze Frist neu starten und den Fehler endlos am Leben halten.
  • DNSSEC ermöglichte später mit NSEC/NSEC3 verifizierte Abwesenheit und die Synthese weiterer Antworten aus einem belegten Bereich. Die Signatur beweist DNS-Herkunft und Integrität, nicht Eigentum oder institutionelle Wahrheit.

Das wiederholte Nichts belastet das Netz

Eine positive Antwort bringt Resource Records mit, die ein Resolver speichern kann. Tippfehler, Suchsuffixe und noch nicht eingerichtete Dienste erzeugen dagegen dieselbe erfolglose Anfrage immer wieder. Ohne negative Erinnerung wandert jeder Versuch erneut zur Autorität.

Der bloße Misserfolg reicht nicht. Ein Timeout kann Paketverlust sein, SERVFAIL eine vorübergehende Verarbeitungsstörung und eine leere Answer-Sektion eine Delegation. Wiederverwendbare Abwesenheit braucht einen für die Zone zuständigen Aussteller, ein genau bezeichnetes Objekt und ein Ende.

RFC 1034 beschrieb negatives Caching 1987 bereits als optionale Funktion. Eine autoritative Namensfehlermeldung konnte eine TTL erhalten. Das passte zum Grundgeschäft des DNS: lokale Kopien senken globale Beschaffungskosten, während Zeitgrenzen die Alterung beherrschbar machen.

Die erste Regelung war nicht transportfähig genug. RFC 2308 erklärte später, dass ein Server seine gespeicherte Negativantwort nicht mit derselben nützlichen Evidenz an einen anderen Resolver weitergeben konnte. Das Nein war lokal merkbar, sein Alter aber nicht zuverlässig übertragbar.

Zwei Arten von Abwesenheit

NXDOMAIN ist der Name-Error-RCODE. Er sagt, dass der wirksame Query-Name nicht existiert. Bei einer CNAME-Kette kann das letzte kanonische Ziel verneint sein, obwohl der ursprüngliche Alias vorhanden ist. Gespeichert wird nach Name und Klasse.

NODATA besitzt keinen eigenen RCODE. Es wird aus NOERROR, der fehlenden Antwort des angefragten Typs und der Authority-Sektion abgeleitet. Der Name kann MX oder TXT besitzen und lediglich keinen A-Record.

Darum gehört der Typ in den NODATA-Schlüssel: Name, Typ und Klasse. Würde „kein A“ zu „kein Name“, verschwände auch ein echter MX. Die genaue Schlüsselung ist eine Schutzregel gegen Informationsverlust.

Der SOA trägt eine gemeinsame Restlaufzeit

RFC 2308 erschien im März 1998 und wurde von Mark Andrews während seiner Zugehörigkeit zum CSIRO verfasst. Damit steht eine öffentliche australische Forschungseinrichtung nachweisbar in der dokumentarischen Entwicklungslinie dieser betrieblichen DNS-Regel. Die IETF stellte das Standardisierungsforum bereit, in dem der Vertrag und spätere DNSSEC-Erweiterungen zu gemeinsamen Spezifikationen wurden. Die institutionellen Rollen sind verschieden: Das CSIRO ist hier wegen der in der entscheidenden Spezifikation vermerkten Autorenzugehörigkeit verknüpft; der IETF-Prozess machte den Text zu einem gemeinsamen Vertrag des Internets.

Bei NXDOMAIN oder NODATA muss der autoritative Server den SOA der umgebenden Zone in die Authority-Sektion legen. Der Record benennt den Zuständigkeitsrahmen und liefert die Laufzeit. Negativ-TTL ist das Minimum aus SOA-TTL und SOA-MINIMUM.

Der Resolver speichert SOA und Verneinung zusammen. Bei einer Antwort aus dem Cache zieht er die bereits verstrichene Zeit ab. Erreicht die TTL null, darf das Ergebnis nicht erneut verwendet werden. Aus einem zeitlosen Urteil wird ein befristeter Beleg: Die Zone sagte für diesen Bereich kürzlich Nein; danach muss neu gefragt werden.

Auch die überladenen Bedeutungen von MINIMUM wurden geordnet. RFC 1035 hatte es als Untergrenze exportierter TTLs definiert; Software nutzte es zusätzlich als Standardwert und Negativdauer. RFC 2308 verwarf die allgemeine Untergrenze, führte $TTL für fehlende Zonendatei-Werte ein und behielt MINIMUM als Teil der Negativdauer.

Kurze Fristen können gemeinsam unendlich sein

Der Namensraum ist ein Baum, der Anfragegraph nicht. Zwei falsch konfigurierte Server können sich gegenseitig als Forwarder nennen; defekte Delegationen schaffen weitere Schleifen.

Speichert jeder Server eine negative Antwort ohne SOA zehn Minuten und gibt sie dann weiter, beginnt beim Empfänger eine neue Frist. Jede lokale Kopie lebt kurz, doch die verteilte Meldung altert nie.

Deshalb sollen Antworten ohne SOA nicht negativ gecached werden. Die mit dem SOA mitgeführte TTL behält verbrauchte Zeit über Verwaltungsgrenzen hinweg. Eine Beschränkung, die bei der Übertragung verloren geht, beschränkt das Gesamtsystem nicht.

Aus laufendem Code wurde ein gemeinsamer Vertrag

Der historische Anhang von RFC 2308 berichtet über CHIVES Ende 1987. Suchpfade erzeugten viele Fehlanfragen; während einer ARPANET-Überlastung verbesserten vermiedene Wiederholungen die Antwortzeiten der wenigen beobachteten Rechner deutlich. Das ist Implementierungsevidenz, keine Messung des gesamten Internets.

Für BIND 4.9.2 ALPHA nennt der Anhang 1993 eine zehnminütige Negativ-TTL, die Unterscheidung von NXDOMAIN und NOERROR_NODATA und spätere Speicherung des SOA. Der Standard bündelte solche Betriebserfahrungen in präzisen Schlüsseln, tragbarer Herkunft und nicht erneuerbarer Restlaufzeit.

Wer Abwesenheit beschleunigt, verzögert Entstehung

Negatives Caching senkt Latenz, Paketmenge und Last der Autorität. Legt der Betreiber danach einen Namen oder den zuvor fehlenden Typ an, antworten Resolver mit dem alten Nein weiter, bis ihre jeweilige TTL endet.

Caches erhielten die Meldung zu verschiedenen Zeiten und können kleinere lokale Obergrenzen setzen. Wiederherstellung geschieht nicht in einer globalen Sekunde. RFC 2308 nennt ein bis drei Stunden als sinnvolle Standardwerte und mehr als einen Tag als problematisch, obwohl das Zahlenfeld viel längere Zeiträume darstellen kann.

Die Anwendung bestimmt, ob der Schaden umkehrbar bleibt. Ein eingeschleustes NXDOMAIN kann eine Mail sofort zurückwerfen; eine falsche Adresse lässt sie womöglich lange genug in der Queue. Aus einem Ausfall fälschlich Nichtexistenz zu machen, kann eine temporäre Störung in eine dauerhafte Folge übersetzen.

Signierte Abwesenheit deckt einen Bereich

DNSSEC führte authentifizierte Verneinung ein. NSEC verbindet vorhandene Namen in kanonischer Reihenfolge und zählt Typen auf; mit RFC 4035 lässt sich beweisen, dass in einem Intervall ein Name fehlt oder ein bestehender Name einen Typ nicht besitzt.

NSEC erleichtert zugleich die Zonenenumeration. RFC 5155 führte NSEC3 mit gehashten Namen und Opt-Out ein. Ein Opt-Out-Bereich beweist nicht Existenz oder Nichtexistenz jeder unsignierten Delegation, die er überspannt. Diese Lücke darf nicht als Gewissheit ausgelegt werden.

RFC 8020 machte später den NXDOMAIN-Cut ausdrücklich: Existiert ein Knoten nicht, existieren im DNS-Baum auch seine Nachfahren nicht. NODATA bewirkt keinen solchen Schnitt, weil der Name andere Typen und Kinder haben kann.

RFC 8198 erlaubte validierenden Resolvern, aus ausreichenden NSEC/NSEC3-Belegen im Cache eine weitere Negativantwort zu synthetisieren. Das spart Autoritätsanfragen, Latenz und Offenlegung. Zugleich bleibt ein neu eingefügter Name im belegten Bereich möglicherweise bis zum Ablauf der Negativinformation unsichtbar.

DNSSEC bestätigt Ursprung und Integrität in der DNS-Kette. Auch eine falsche Löschung kann mit dem gültigen Schlüssel korrekt signiert sein. Die Prüfung belegt weder institutionelles Verschwinden noch ein Recht außerhalb des Protokolls.

Quellen und Beweisgrenzen

Die RFCs belegen Entwürfe, Regeln und eine begrenzte Implementierungsgeschichte, keine vollständige Einsatzstatistik. NSEC3, der NXDOMAIN-Subtree-Cut und aggressive Synthese sind spätere Stufen und gehören nicht in die Resolver von 1987 oder 1998.