Wie lange dauert die Verbreitung von DNS-Einträgen?

68

Dies ist eine kanonische Frage zur DNS-Weitergabe

Wie lange dauert es, bis sich die verschiedenen Arten von Datensätzen verbreiten?
Breiten sich manche schneller aus als andere?
Warum dauert es eine Weile, bis sich DNS-Einträge verbreiten und wie funktioniert es?

Gemeinschaft
quelle
1
Hinweis: In der Vergangenheit gab es einen bemerkenswerten und signifikanten Unterschied in der Zeit, die zum Aktualisieren verschiedener Arten von Datensätzen benötigt wurde (abhängig davon, wer sie aufbewahrt hat und solche). Dies ist heute nicht mehr der Fall.
Chris S
4
Wenn ppl das Wort "propagate" für DNS verwendet, wird deutlich, dass sie nicht wissen, was DNS ist und wie es funktioniert. Hoffen wir, dass sich die Dokumentation schnell genug "verbreiten" würde (Daumen drücken).
Poige
3
@tonygil Siehe Poiges Kommentar. Es gibt keine DNS-Verbreitung. Außerdem kontrollieren ISPs die Root-Server nicht. Wenn die DNS-Server dieser ISPs länger als die TTL des Datensatzes zwischengespeichert werden, verstoßen sie gegen RFC. Sie scheinen mehrere Missverständnisse mit der Funktionsweise von DNS zu haben. Verstöße gegen RFCs stören jedoch normalerweise die Funktionsweise. Das hat nichts mit den USA oder Europa zu tun.
Chris S
1
@tonygil: Die "Cyberpolizei", um sie auf den neuesten Stand zu bringen, besteht aus allen Systemadministratoren, Netzwerkadministratoren usw., die sozialen Druck auf schlechte Schauspieler ausüben. Das Internet funktioniert, weil wir uns alle einig sind, dass es funktionieren sollte. Das beste Interesse unserer Benutzer, Netzwerke usw. liegt im offensichtlichen "besten Interesse" des Internets. re: "Benutzer sind keine Technogurus" - Dies ist eine Website für professionelle Systemadministratoren und nicht für Endbenutzer. Ehrlich gesagt erwarte ich, dass Sysadmins eine Art "Technoguru" sind (um Ihre Terminologie zu verwenden). Sysadmins sollen sich beruflich darum kümmern, wie das Zeug funktioniert.
Evan Anderson
@EvanAnderson Ich stimme voll und ganz zu, dass Druck für Veränderungen sorgt. Auf der anderen Seite ist die Realität, dass faule oder inkompetente Sysadmins in Horden da draußen sind. und je weiter Sie sich von uns und europa entfernen, desto häufiger werden sie. Ihre Erwartungen sind in den USA in Ordnung, aber in den meisten Teilen der realen Welt, in denen unvorbereitete Systemadministratoren die Regel sind, sind sie nicht realisierbar. Während Sie also erwarten, dass alles in Ordnung ist, sollten Sie sich mit der realen Welt auseinandersetzen, in der sie sich NICHT befinden. Wie auch immer, mein Punkt, du hast deinen gemacht. Lasst uns zustimmen, nicht zuzustimmen.
Tony Gil

Antworten:

71

"DNS-Verbreitung" ist an sich kein echtes Phänomen. Es ist vielmehr der offensichtliche Effekt der im DNS-Protokoll angegebenen Caching-Funktionalität. Zu behaupten, dass sich Änderungen zwischen DNS-Servern "verbreiten", ist eine bequeme Lüge, die für nicht-technische Benutzer wahrscheinlich einfacher zu erklären ist, als alle Details des DNS-Protokolls zu beschreiben. Es ist jedoch nicht wirklich so, wie das Protokoll funktioniert.

Rekursive DNS-Server stellen Abfragen im Namen von Clients. Rekursive DNS-Server, die normalerweise von ISPs oder IT-Abteilungen ausgeführt werden, werden von Clientcomputern zum Auflösen von Namen von Internetressourcen verwendet. Rekursive DNS-Server speichern die Ergebnisse von Abfragen im Cache, um die Effizienz zu verbessern. Abfragen für bereits zwischengespeicherte Informationen können ohne zusätzliche Abfragen beantwortet werden. Die Dauer in Sekunden, für die ein Ergebnis zwischengespeichert wird, soll auf einem konfigurierbaren Wert basieren, der als Time To Live (TTL) bezeichnet wird. Dieser Wert wird vom autorisierenden DNS-Server für den abgefragten Datensatz angegeben.

Es gibt keine Antwort auf alle gestellten Fragen, da DNS ein verteiltes Protokoll ist. Das Verhalten von DNS hängt von der Konfiguration des autorisierenden DNS-Servers für einen bestimmten Datensatz, der Konfiguration rekursiver DNS-Server, die Abfragen für Clientcomputer durchführen, und der in die Betriebssysteme der Clientcomputer integrierten DNS-Caching-Funktionalität ab.

Es ist empfehlenswert, einen TTL-Wert anzugeben, der kurz genug ist, um die täglichen Änderungen an DNS-Einträgen zu berücksichtigen, aber lang genug, um einen "Gewinn" beim Zwischenspeichern zu erzielen (dh nicht zu kurz, um den Cache zu schnell zu veralten) Verbesserung der Effizienz). Die Anwendung einer ausgewogenen Strategie mit TTL-Werten führt zu einem "Gewinn" für alle. Dies reduziert sowohl die Auslastung als auch die Bandbreitennutzung für die autorisierenden DNS-Server für eine bestimmte Domäne, die Stammserver und die TLD-Server. Dies verringert die Auslastung der Upstream-Bandbreite für den Betreiber des rekursiven DNS-Servers. Dies führt zu schnelleren Abfrageantworten für Clientcomputer.

Wenn die TTL eines DNS-Eintrags festgelegt ist, steigt die Auslastung und die Bandbreitennutzung auf den autorisierenden DNS-Servern, da rekursive DNS-Server das Ergebnis über einen längeren Zeitraum nicht zwischenspeichern können. Da die TTL eines Datensatzes höher ist, werden Änderungen an Datensätzen nicht schnell "wirksam", da Clientcomputer weiterhin zwischengespeicherte Ergebnisse empfangen, die auf ihren rekursiven DNS-Servern gespeichert sind. Das Einstellen der optimalen TTL ist ein Spagat zwischen Auslastung und der Fähigkeit, Datensätze schnell zu ändern und diese Änderungen auf den Clients zu sehen.

Es ist anzumerken, dass einige ISPs missbräuchlich sind und die von den autorisierenden DNS-Servern angegebenen TTL-Werte ignorieren (wobei sie ihre eigene administrative Überschreibung ersetzen, was eine Verletzung von RFC darstellt). In technischer Hinsicht gibt es nichts zu tun. Wenn die Betreiber missbräuchlicher DNS-Server ausfindig gemacht werden, führen Beschwerden bei ihren Systemadministratoren möglicherweise dazu, dass sie Best Practices implementieren (was für jeden mit DNS vertrauten Netzwerktechniker möglicherweise vernünftig ist). Diese Art von Missbrauch ist kein technisches Problem.

Wenn jeder „nach den Regeln spielt“ Änderungen an DNS - Einträge können „wirksam“ sehr schnell. Im Falle einer Änderung der IP-Adresse, die einem "A" -Datensatz zugewiesen ist, würde beispielsweise eine exponentielle Zurücksetzung des TTL-Werts durchgeführt, die zu dem Zeitpunkt führt, zu dem die Änderung vorgenommen wird. Die TTL kann beispielsweise an einem Tag beginnen und für einen Zeitraum von 24 Stunden auf 12 Stunden, dann für einen Zeitraum von 12 Stunden auf 6 Stunden, für einen Zeitraum von 6 Stunden auf 3 Stunden usw. bis zu einem angemessen kleinen Intervall verringert werden. Nach dem Zurücksetzen der TTL kann der Datensatz geändert und die TTL für den täglichen Betrieb wieder auf den gewünschten Wert gebracht werden. (Es ist nicht erforderlich, ein exponentielles Backoff zu verwenden. Diese Strategie minimiert jedoch die Zeit, in der der Datensatz eine niedrige TTL aufweist, und verringert die Belastung des autorisierenden DNS-Servers.)

Nach der Erstellung eines DNS-Eintrags sollten Änderungsprotokolle auf Zugriffsversuche aufgrund des alten DNS-Eintrags überwacht werden. In dem Beispiel, in dem ein "A" -Datensatz geändert wird, um auf eine neue IP-Adresse zu verweisen, sollte ein Server an der alten IP-Adresse vorhanden bleiben, um Zugriffsversuche zu verarbeiten, die von Clientcomputern ausgehen, die weiterhin den alten "A" -Datensatz verwenden. Sobald Zugriffsversuche, die auf dem alten Datensatz basieren, ein akzeptabel niedriges Niveau erreicht haben, kann die alte IP-Adresse nicht mehr verwendet werden. Wenn die Anforderungen in Bezug auf einen alten Datensatz nicht schnell nachlassen, ignoriert möglicherweise (wie oben beschrieben) ein rekursiver DNS-Server die autorisierende TTL. Die Kenntnis der Quell-IP-Adresse eines Zugriffsversuchs liefert jedoch keine direkten Informationen über den rekursiven DNS-Server, der für die Bereitstellung eines alten Datensatzes verantwortlich ist.

Persönlich habe ich gesehen, dass Änderungen sofort, in wenigen Stunden und in einigen Fällen bei einem bestimmten gehirngeschädigten ISP, nach mehreren Tagen "wirksam" werden. Wenn Sie Ihre TTL zurücknehmen und sich darüber im Klaren sind, wie der Prozess abläuft, werden sich Ihre Änderungen positiv auf den Erfolg auswirken. Sie können sich jedoch nicht sicher sein, was ein wohlmeinender Idiot mit seinen rekursiven DNS-Servern tun könnte.

Evan Anderson
quelle
9
Dies ist keine Antwort auf "OpenDNS" - es ist eine Antwort auf DNS. Jeder rekursive DNS-Anbieter kann alle Schnittstellen implementieren, die Cache-Bereinigungen usw. ermöglichen sollen. Wir sprechen von DNS - nicht von Hersteller-APIs. Soweit Ihre Änderungen: Ich stehe zu dem Ausdruck "Gehirn beschädigt", der in der Hacker-Kultur seit langem verwendet wird, und verwende ihn in diesem Zusammenhang (siehe Jargon-Datei, Steven Levys "Hacker" usw.). . Was "idiotisch" anbelangt, so ist meines Erachtens hinreichend erwiesen, dass dies außerhalb der gesetzlichen Vorschriften eine umgangssprachliche Bezeichnung für Handlungen ist, die inkompetenter Natur sind. Ich stehe auch dazu.
Evan Anderson
11
@tonygil - OpenDNS ist kein DNS. Es ist nur ein Service, den jemand anbietet. Was ist, wenn FooDNS morgen geöffnet wird und eine aufregende neue Cache-Lösch-API hat? Sollte meine Antwort auch das beinhalten? Wo hört es auf? Das degeneriert in Wahnsinn. Betreff: Bürgerrechte - Ich bin kein Arbeitgeber oder eine staatliche Einrichtung, die einem Angehörigen einer geschützten Klasse Bürgerrechte verweigert. Sicher - gehen Sie voran und sehen Sie nach, ob Sie jemanden finden, der mich verfolgen will. Sie erreichen mich per Post unter Postfach 852, Troy, OH. (866) 569-9799, x801 wird rund um die Uhr an mein Handy weitergeleitet. (Das ist eine gute Detektivarbeit in meinem Profil, übrigens.)
Evan Anderson
1
Ich verstehe, ich sagte, dass Gruppenzwang Veränderung bringt. das war was ich getan habe. machte uns darauf aufmerksam, dass ich mit unserer Verwendung von "idiot" und "brain-damaged" nicht einverstanden bin, weil sie anstößig und abfällig sind. Die Tatsache, dass jemand es ausgiebig benutzt (dh Hacker), macht es nicht richtig. das kkk benutzte das n-wort ausgiebig. Bitte respektieren Sie diejenigen von uns, die sich um geistig behinderte Menschen kümmern. Ich verstehe, dass Sie die Begriffe metaphorisch in Ihren farbenfrohen Stil integrieren, aber glauben Sie mir: Sie sind anstößig und unnötig.
Tony Gil
Über die TTL-Erkennung: Die TTL ist der Höchstwert, um Dinge im Cache zu halten. Ein Caching-Resolver kann die Daten davor freigeben. Sie können es also senken, wenn sie wollen. Es ist jedoch richtig, dass sie es nicht erhöhen sollten, das ist ein Verstoß gegen das Protokoll. Aber für die Leute, die gerne 1 Sekunde in die TTL setzen, verteidigen sich einige Caches, indem sie das einfach nicht einhalten und stattdessen auf 5 Minuten klemmen.
Patrick Mevzek
Rekursive DNS-Server, die normalerweise von ISPs oder IT-Abteilungen betrieben werden, sind heutzutage riesige Flotten (Anycast Cloud) von offenen rekursiven Nameservern wie 1.1.1.1oder 8.8.8.8oder 9.9.9.9oder 80.80.80.80. Es ist wichtig zu verstehen, dass es sich um Anycasts handelt: Die Antwort kann sich basierend auf der Quell-IP ändern, da sie möglicherweise eine völlig andere physische Instanz trifft, UND der Cache, den sie haben, kann für alle Instanzen global sein oder nicht.
Patrick Mevzek