Wie viel Prozent der Nameserver ehren TTL heutzutage?

29

Vor einigen Jahren musste ich im Laufe einiger Wochen einige DNS-Änderungen vornehmen, als ich Ausrüstungsgegenstände von einem Rechenzentrum in das andere verlagerte. Zu der Zeit, als ich das tat, schienen 95% der Nameserver auf der Welt den TTL-Wert zu respektieren, und 5% ignorierten unseren und schufen ihren eigenen. Mit anderen Worten, 95% des Verkehrs bewegten sich innerhalb der von uns definierten 15-minütigen TTL. Weitere 3% schafften es in der ersten Stunde, 1% am ersten Tag, und einige Nachzügler brauchten bis zu drei Tage.

(Ja, OK, ich verwechsle den Prozentsatz des Datenverkehrs mit dem Prozentsatz der Nameserver. Bitte Handwinken einfügen.)

Dies geschah jedoch ungefähr im Jahr 2001, und wir verwendeten Dinosaurier, um Pakete durch die Röhren zu senden. Ich vermute, dass die heutigen Nameserver sich besser benehmen und es weniger Probleme mit Nachzüglern geben wird. Hat jemand ein Gefühl dafür, wie viel Prozent des Verkehrs in diesen Tagen innerhalb der festgelegten TTL wechseln wird? Gibt es noch viele Nameserver, die TTL ignorieren?

user10501
quelle
4
Ich habe keine Ahnung, aber mein Bauchgefühl ist, dass es heute noch schlimmer sein wird als früher.
Zoredache
Ich hätte sie gerne alle in 3 Tagen erledigt! Ich habe zu dieser Zeit eine wesentliche Änderung vorgenommen (möglicherweise 2002), und nach zwei Wochen haben wir festgestellt, dass 1/3 der Root-Nameserver einige DNS-Entwicklungsserver untersuchten, die einer der anderen Sysadmins offengelegt hatte nach außen. (Ich habe immer noch keine Ahnung, wie die Root-Server von ihnen wussten).
Joe H.
Hierbei ist Folgendes zu beachten: Es sind nicht nur Edge-DNS-Rekursoren, die Datensätze zwischenspeichern. Manchmal verketten Leute Rekursoren und das verlängert die Zeit. Einige Betriebssysteme speichern außerdem Einträge im Cache. Einige Browser speichern auch Datensätze im Cache. Java und andere Apps speichern auch DNS im Cache. Dies kann eine 15-minütige TTL leicht in mehr als 60 Minuten verwandeln.
Aaron

Antworten:

15

Wir sind kürzlich umgezogen und hatten alle möglichen Probleme mit DNS.

Als wir den Umschwung machten, begannen die meisten Kunden, die neuen IPs sofort zu treffen. Aber einige trafen noch wochenlang die alten IPs. Wir haben einen Server für ungefähr einen Monat stehen lassen. Schließlich gingen wir die IIS-Protokolle auf dem alten Computer durch und forderten die Kunden auf, DNS auf den DNS-Servern des Unternehmens oder des Internetdienstanbieters zu leeren. Das hat den letzten von ihnen umgezogen.

Es war eine kleine Anzahl von Leuten, die die alten IPs einhielten. Von 20.000 Kunden hatten 50 nach dem ersten Tag Probleme.

mrdenny
quelle
1
Vielen Dank! Das ist ungefähr das, was ich erwartet hatte. Ein Viertelprozent ist nicht schlecht für einige Arten von Verkehr, obwohl es für andere sicherlich sehr schlecht ist.
user10501
1
Neuere Schätzung: 13 Stunden nach dem Wechsel eines DNS-Servers haben 17/500 (3,4%) der Kunden Kontakt mit uns aufgenommen, weil sie immer noch die alte statt der neuen Website erhalten haben. WhatsMyDNS ist nützlich, um den Status der Weitergabe zu überprüfen (in unserem Fall verwenden 4/140 = 2,85% der Server in ihrem Beispiel immer noch die alte / falsche IP - ich wünschte, ich hätte dies früher verwendet, um besser mit Kunden und Kunden zu kommunizieren Verfolgen Sie die DNS-Verbreitung.)
Fabien Snauwaert
Wenn ich eine DNS-Änderung erneut durchführen würde, würde ich im Voraus einen Sicherungsdomänennamen einrichten, um die neue Site zu bedienen, während die alte Site noch weitergegeben wird.
Fabien Snauwaert
8

(Sehr) lange TTL-Werte von Wochen werden im Mai 2011 von den meisten DNS-auflösenden Nameservern mit einer Laufzeit von bis zu 2 Wochen gewürdigt.

Bei einem Test mit just-dnslookup.com mit 50 global verteilten aktiven Messpunkten und einer auf 99,999,999 festgelegten A-Aufzeichnungs-TTL = 165 Wochen (genau: 165 Wochen, 2 Tage, 9 Stunden, 46 Minuten, 39 Sekunden) und einer Standard-TTL 2 Wochen (= SOA + NS TTL).

Der erste Lookup gibt Folgendes zurück:

  • eine TTL von 1 Woche für 3 von 50 Messpunkten
  • eine TTL von 165 Wochen für 47 von 50 Messpunkten

Aufeinanderfolgende Lookups werden zurückgegeben (konvertiert in den ursprünglichen TTL-Wert):

  • eine TTL von 1 Woche für 3 von 50 Messpunkten
  • eine TTL von 2 Wochen für 46 von 50 Messpunkten
  • eine TTL von 165 Wochen für 1 von 50 Messpunkten

Ein zweiter Test (unter Verwendung einer anderen Domäne), bei dem die Standard-TTL auf 4 Wochen (= SOA + NS TTL) festgelegt ist, enthält die folgenden Ergebnisse.

Der erste Lookup gibt Folgendes zurück:

  • eine TTL von 1 Woche für 3 von 50 Messpunkten
  • eine TTL von 2 Wochen für 1 von 50 Messpunkten
  • eine TTL von 165 Wochen für 46 von 50 Messpunkten

Aufeinanderfolgende Lookups werden zurückgegeben (konvertiert in die volle TTL-Länge):

  • eine TTL von 1 Woche für 3 von 50 Messpunkten
  • eine TTL von 2 Wochen für 47 von 50 Messpunkten
  • eine TTL von 165 Wochen für 0 von 50 Messpunkten

Von den bekanntesten / am besten vernetzten öffentlichen Auflösungsdiensten:

  • Das öffentliche DNS von Google [8.8.8.8 und 8.8.4.4] wird auf 1 Tag reduziert.
  • UltraDNS [rdns (1 | 2) .ultradns.net] ehren volle 165 Wochen.
  • Sprintlink [ns (1 | 2 | 3) .sprintlink.net] ehre volle 165 wochen.
Pro Backup
quelle
11
Persönlich würde ich mich viel mehr darum kümmern, ob kurze TTL-Einstellungen berücksichtigt werden. Haben Sie diesbezüglich ähnliche Untersuchungen durchgeführt? Wenn beispielsweise TTL auf 3600 Sekunden eingestellt ist, laufen die zwischengespeicherten Datensätze dann wirklich nach einer Stunde ab? Dies ist für eine Umstellungssituation von hoher Relevanz. Der Gedanke, dass eine 165-wöchige TTL geehrt wird, ist eigentlich ziemlich beängstigend, besonders wenn ich an Situationen denke, in denen ich nach den Fehlern eines anderen zur Bereinigung gerufen worden bin.
Skyhawk
Ich denke, 8.8.8.8 ignoriert TTL vollständig und verwendet nur 24h. Zumindest einige niedrigere TTLs werden nicht gewürdigt. Jetzt muss ich für 24h etwas zu tun finden.
Steven Parkes
3

Ich habe kürzlich DNS für einige Domains, die meine persönliche Website und Projektwebsites hosten, von GoDaddy auf Inhouse-DNS verschoben (ja, buchstäblich mein Haus ). Insgesamt respektierte jeder Standort, auf den ich Fernzugriff habe, die TTL und machte den Übergang gut. Das gleiche gaben alle Freunde an, die ich über Festnetz und Mobiltelefon überprüfen lassen wollte. Das einzige Problem waren ironischerweise die hauptsächlichen DNS-Cacheserver an der $ University, auf denen ich arbeite, die TTL für zwischengespeicherte Abfragen völlig außer Acht zu lassen schienen (und sogar den TTL-Wert außer Acht zu lassen, den sie dem zwischengespeicherten Ergebnis zugewiesen hatten).

Insgesamt scheint TTL zu respektieren. Auf 56% der für .com- und .net-Domains autorisierten Server wird BIND ausgeführt, was offensichtlich gut mit den Standards übereinstimmt. Cablevision / Optimum (zumindest in NJ) verwendet offenbar Nominum CNS, das auch TTLs berücksichtigt.

Jason Antman
quelle
0

Dies ist keine Antwort auf Ihre Frage. Sondern zusätzliche Dinge, die Sie beim Testen berücksichtigen sollten:

Verkettete DNS-Rekursoren und Caching-Daemons

Es sind nicht nur Edge-DNS-Rekursoren, die Datensätze zwischenspeichern. Manchmal verketten Leute Rekursoren und das verlängert die Zeit. Ob dies getan werden sollte oder nicht, könnte eine lange Diskussion sein, die darauf basiert, was die Leute zu lösen versuchten. Ich habe 3 Rekursionsebenen in einem Rechenzentrum gesehen. Das Mischen von Rekursoren kann zu gemischten Ergebnissen führen, da die TTL-Dekremente nicht immer beibehalten werden. Einige Betriebssysteme speichern Datensätze im Cache. Einige Systeme verwenden auch Dinge wie nscd, dnsmasqund andere Methoden Auswirkungen lokaler recursor Probleme zu minimieren und zu reduzieren Last auf ihrem recursors. Die Eigenschaften des Betriebssystems variieren je nach Release-Version, Caching-Daemons, Version der Caching-Daemons usw.

[Bearbeiten] Dies ist kein normales Verhalten eines Recursors oder Caching-Daemons. Ich werde die Buggys nicht beschämen, aber einer von ihnen gilt als nicht gewartet, obwohl er mit vielen Linux-Distributionen gebündelt ist.

Anwendungs-DNS-Cache

Einige Browser speichern auch Datensätze im Cache. Java und andere Apps speichern auch DNS im Cache. Sie können manchmal die maximale TTL innerhalb von Anwendungen begrenzen.

Endergebnisse können verzerrt sein

Mit den oben genannten Elementen kann eine 15-minütige TTL problemlos in über 60 Minuten oder sogar länger umgewandelt werden.

Aus diesem Grund empfehle ich häufig, dass Anwendungen oder Websites mehrere aktive Knoten in ihrem Fehlertoleranz-Design berücksichtigen sollten, damit der Client schneller feststellen kann, wann ein Einstiegspunkt in Ihre Site fehlgeschlagen ist, und das Problem automatisch in einer angemessenen und vorhersehbaren Weise behandeln kann , wenn machbar. Anycast ist eine Methode, mit der einige Unternehmen das Failover etwas transparenter gestalten und sich nicht so stark auf DNS-Änderungen verlassen. Es gibt auch einige clevere Methoden zum Lastenausgleich, die in Javascript unter Verwendung mehrerer DNS-Einträge durchgeführt werden können.

Aaron
quelle
Die TTL wird nicht zurückgesetzt, nur weil der Eintrag von einem DNS-Server zum nächsten gesendet wird. Eine 15-minütige TTL bedeutet 15 Minuten, egal wie viele Schichten von Caches durchlaufen werden. Die einzige Möglichkeit, mehr zu erreichen, besteht darin, dass ein Teil der Software fehlerhaft ist und DNS nicht richtig implementiert.
Kasperd
Genau. Ich bin auf ein paar fehlerhafte Rekursoren gestoßen.
Aaron
-1

Alte Frage, aber neue Antworten (2017, 6 Jahre später):

  1. Scheint, als würden fast alle weltweiten DNS-Server in 5 Minuten aktualisiert
  2. Mit Google und OpenDNS können Sie einen DNS-Eintrag manuell löschen und so die Aktualisierung der Verbreitung beschleunigen

Vor den folgenden Experimenten hatte ich meine TTL von 14400 (Sekunden = 4 Stunden) auf 300 (Sekunden = 5 Minuten) geändert, aber ich tat dies 2 Stunden vor den Experimenten und da die vorherige TTL 4 Stunden betrug, bin ich mir nicht sicher, ob ich meine Änderung vorgenommen habe wäre rausgekommen, wenn DNS-Server nicht ihre eigene minimale TTL hätten.

Meine Experimente:

Versuch 1:

Ich habe eine Name-zu-IP-Übersetzung (A-Datensatz) auf dem autorisierenden Server geändert und dann Folgendes überprüft:

Nach 5 Minuten (300 Sekunden) war ungefähr die Hälfte der von diesen Sites überprüften globalen Server udpated.

Nach 7 Minuten waren alle außer 1 aktualisiert worden.

Versuch 2:

Mit Google und OpenDNS können Sie den DNS-Cache für eine bestimmte Domain manuell leeren. Links:

Ich habe einen weiteren A-Datensatz aktualisiert und dann sofort den DNS-Cache von Google geleert. Sie haben ein Captcha, das mich veranlasste, dreimal auf alle Felder mit Zeichen zu klicken. Es dauerte also 1-2 Minuten, bis ich den Flush beenden konnte.

Nach 4 Minuten hatte nur 1 von diesen Sites überprüfter DNS-Server die alte IP-Adresse. Alle anderen wurden aktualisiert.

Das Löschen des DNS-Caches von Google und das Erzwingen einer erneuten Abfrage des autorisierenden Servers hat die globale DNS-Weitergabe möglicherweise beschleunigt, indem Cache-Aktualisierungen auf den Servern der Welt ausgelöst wurden.

Aber auch ohne den Google-Flush scheint die Weitergabe in Minuten und nicht in Stunden oder Tagen zu erfolgen.

john v kumpf
quelle