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?
quelle
Antworten:
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.
quelle
(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:
Aufeinanderfolgende Lookups werden zurückgegeben (konvertiert in den ursprünglichen TTL-Wert):
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:
Aufeinanderfolgende Lookups werden zurückgegeben (konvertiert in die volle TTL-Länge):
Von den bekanntesten / am besten vernetzten öffentlichen Auflösungsdiensten:
quelle
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.
quelle
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
,dnsmasq
und 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.
quelle
Alte Frage, aber neue Antworten (2017, 6 Jahre später):
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.
quelle