Modul 6 · 6.1
TTL und Cache
Modul 6: Zeit, Cache und Domain-Umzug · Lesezeit: 7 Minuten
Lernziel: Nach dieser Lektion können Sie erklären, was die TTL eines Eintrags ist, wie Caches diese verwenden und welche TTL Sie in welcher Situation wählen.
Kernbegriffe: TTL (Time To Live), Cache, Resolver-Cache, Cache Ihres Computers und Browsers, ablaufende TTL, typische TTL-Werte (300, 3600, 86400)
Warum DNS sich etwas merkt
In Lektion 1.4 haben Sie gesehen, wie ein Resolver eine Antwort nachschlägt: zuerst bei einem Root-Server, dann beim TLD-Server und schliesslich beim autoritativen Nameserver der Domain. Müsste das bei jedem Klick auf eine Website erneut geschehen, wäre das Internet deutlich langsamer, und Nameserver würden unter der Flut an Anfragen zusammenbrechen.
Deshalb merken sich Resolver jede Antwort eine Zeit lang. Dieses Gedächtnis nennt man Cache. Fragt jemand anderes denselben Namen ab, liefert der Resolver die Antwort sofort aus seinem Cache, ohne die ganze Reise erneut anzutreten.
Die Frage ist dann: Wie lange darf der Resolver eine Antwort behalten? Das bestimmt der Domaininhaber mit der TTL jedes Eintrags.
Was die TTL ist
TTL steht für Time To Live: die Zeit, die ein Eintrag in einem Cache verbleiben darf, in Sekunden. Jeder Eintrag hat eine eigene TTL. In einer Zone sieht das so aus:
example.com. 3600 IN A 192.0.2.10
www.example.com. 3600 IN A 192.0.2.10
example.com. 3600 IN MX 10 mail.example.com.
_dmarc.example.com. 14400 IN TXT "v=DMARC1; p=quarantine"Die Zahl nach dem Namen ist die TTL. Hier dürfen die A- und MX-Einträge eine Stunde lang gespeichert bleiben (3600 Sekunden) und der DMARC-Eintrag vier Stunden (14400 Sekunden).
Gängige Werte:
| TTL | Entspricht | Wann verwenden Sie das? |
|---|---|---|
| 300 | 5 Minuten | Kurz vor und während eines Umzugs, oder wenn Sie häufig wechseln |
| 3600 | 1 Stunde | Ein guter Standard für die meisten Einträge |
| 14400 | 4 Stunden | Einträge, die sich selten ändern |
| 86400 | 1 Tag | Einträge, die sich fast nie ändern, wie NS-Einträge |
Die TTL ist eine Zahl zwischen 0 und 2.147.483.647 Sekunden (2^31 - 1, so steht es in RFC 2181). In der Praxis kommt man selten über einen Tag oder zwei hinaus. Viele Resolver setzen auch ein eigenes Maximum, oft einen Tag oder eine Woche.
Der Countdown
Die TTL ist keine feste Uhr für die ganze Welt. Jeder Resolver beginnt erst zu zählen, sobald er den Eintrag abruft.
Ein Beispiel. Der A-Eintrag von example.com hat TTL 3600.
- Um 10:00 Uhr fragt der Resolver von Provider A den Eintrag ab. Er erhält
192.0.2.10und darf sich das bis 11:00 Uhr merken. - Um 10:40 Uhr fragt der Resolver von Provider B denselben Eintrag ab. Er merkt sich den Wert bis 11:40 Uhr.
- Um 10:45 Uhr ändern Sie den Eintrag auf
198.51.100.10. - Nutzer von Provider A sehen die neue Adresse ab 11:00 Uhr, Nutzer von Provider B erst ab 11:40 Uhr.
Fragen Sie den Eintrag bei einem Resolver ab, der ihn bereits in seinem Cache hat, sehen Sie in der Ausgabe eine TTL, die immer weiter sinkt. Beim autoritativen Nameserver sehen Sie immer den vollen Wert:
; beim autoritativen Nameserver
example.com. 3600 IN A 192.0.2.10
; bei einem Resolver, 25 Minuten später
example.com. 2100 IN A 192.0.2.10Das ist nützlich zu wissen: Steht bei Ihrem Resolver noch 2100 Sekunden, dann liefert er noch 35 Minuten lang die alte Antwort.
Wer sich das alles merkt
Nicht nur der Resolver Ihres Internetanbieters hat einen Cache. Es gibt mehrere Ebenen:
- Der Resolver Ihres Providers, Ihres Firmennetzwerks oder ein öffentlicher Resolver (zum Beispiel 1.1.1.1, 8.8.8.8 oder 9.9.9.9).
- Ihr Router zu Hause oder im Büro, der oft selbst als kleiner Resolver arbeitet.
- Das Betriebssystem Ihres Computers oder Telefons.
- Ihr Browser, der DNS-Antworten manchmal ebenfalls eine Weile aufbewahrt.
Jede Ebene hält sich im Prinzip an die TTL, aber nicht jede Ebene tut das exakt. Deshalb kann es bei Ihnen auf dem Laptop etwas länger dauern als bei Ihrem Kollegen. Wie Sie diese Caches leeren, lesen Sie in Lektion 6.2.
Die richtige TTL wählen
Eine kurze TTL erscheint praktisch: Änderungen sind dann schnell überall sichtbar. Doch das hat einen Nachteil. Resolver müssen den Eintrag dann viel häufiger erneut abfragen. Das macht das erste Laden Ihrer Website eine Spur langsamer, und ist Ihr Nameserver kurz nicht erreichbar, ist Ihre Domain schneller unerreichbar. Mit einer TTL von einer Stunde können Resolver eine kurze Störung des Nameservers mit ihrem Cache überbrücken.
Ein paar Faustregeln:
- Standard: 3600 Sekunden. Das ist eine gute Balance.
- Für eine geplante Änderung: vorübergehend 300. Senken Sie die TTL mindestens eine alte TTL lang vor der Änderung. Stand dort 3600, tun Sie das mindestens eine Stunde vorher, sicherer noch einen Tag. Stand dort 86400, dann mindestens einen Tag. Nach der Änderung setzen Sie sie zurück. Wie Sie das bei einem Umzug angehen, lesen Sie in Lektion 6.3.
- Weniger als 60 Sekunden bringt wenig. Manche Resolver ignorieren sehr kurze TTLs und wenden ein eigenes Minimum an.
- Eine TTL-Senkung wirkt erst, wenn die alte TTL abgelaufen ist. Senken Sie die TTL von 86400 auf 300 und ändern Sie unmittelbar danach die Adresse, behalten Resolver, die den Eintrag gerade erst abgerufen hatten, den alten Wert noch einen ganzen Tag.
Dieser letzte Punkt ist der häufigste Fehler bei TTLs. Die neue, kurze TTL muss zuerst selbst in allen Caches ankommen.
In der Praxis: So sieht es in einem Panel aus
Im Beispielpanel DirectAdmin steht die TTL als eigene Spalte in der DNS-Verwaltung. Sie ändern die TTL eines einzelnen Eintrags mit dem Stift hinter diesem Eintrag. Mit der Schaltfläche TTL-WERT ÜBERSCHREIBEN setzen Sie eine TTL für alle Einträge der Domain gleichzeitig. In Mein WebOké sehen Sie die TTL in der Eintragsliste im Reiter DNS und wählen sie im Fenster, in dem Sie einen Eintrag hinzufügen oder bearbeiten.
Andere Panels funktionieren ähnlich: Bei cPanel, Plesk, Cloudflare und den meisten Registraren heisst das Feld ebenfalls TTL. Manchmal wählen Sie aus einer Liste (zum Beispiel „5 Minuten“, „1 Stunde“, „Auto“), statt eine Zahl in Sekunden einzugeben. Bei Cloudflare bedeutet „Auto“ für Einträge ohne Proxy 300 Sekunden.
Zusammenfassung
- Die TTL bestimmt, wie viele Sekunden eine DNS-Antwort in einem Cache bleiben darf.
- Jeder Resolver zählt ab dem Moment, zu dem er den Eintrag abgerufen hat; deshalb sieht nicht jeder eine Änderung gleichzeitig.
- Beim autoritativen Nameserver sehen Sie die volle TTL, bei einem Resolver einen ablaufenden Wert.
- 3600 ist ein guter Standard; senken Sie vor einer geplanten Änderung vorübergehend auf 300, und zwar mindestens eine alte TTL im Voraus.
Quiz
Aufgabe
Aufgabe Z6.1: TTL an der Quelle und beim Resolver. Ermitteln Sie mit einem Online-DNS-Tool oder mit dig die TTL des A-Eintrags von sidn.nl, direkt bei einem der Nameserver von sidn.nl selbst (zum Beispiel ns1.sidn.nl). SIDN ist die Registry von .nl in den Niederlanden. Tragen Sie die TTL in Sekunden ein. Fragen Sie danach denselben Eintrag bei einem öffentlichen Resolver ab und tragen Sie auch diese TTL ein. Erklären Sie in einem Satz, warum die beiden Zahlen voneinander abweichen können.
dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9Aufgabe O6.1: Selbst einstellen in Ihrer Übungszone. In Ihrer Übungszone gibt es bereits einen A-Eintrag <code>.dnspractice.euttl-test., der auf <code>.dnspractice.eu192.0.2.61 verweist, mit einer TTL von 300 Sekunden. Senken Sie die TTL auf 60 Sekunden, wie Sie es vor einem Umzug tun würden, und lassen Sie die Adresse unverändert. Prüfen Sie anschliessend mit dig beim Nameserver der Übungszone, ob die neue TTL eingetragen ist. Reichen Sie ein, sobald die TTL 60 beträgt.
Die Übungszone verwendet kurze TTLs (zwischen 30 und 300 Sekunden), damit Sie nicht warten müssen; bei Ihrer echten Domain verwenden Sie zum Beispiel 3600 als Standard und 300 kurz vor einer Änderung.
Aufgabe O6.1
Diese Aufgabe erledigen Sie in Ihrer eigenen Übungszone: einer echten DNS-Zone auf den Nameservern von WebOké, nur für Sie. Melden Sie sich mit Ihrer E-Mail-Adresse an. Sie erhalten einen Login-Link per E-Mail und kehren anschliessend zu dieser Lektion zurück. Wir verwenden Ihre Adresse ausschliesslich für den Kurs.
Weiterführende Lektüre
Die Schritte in diesen Artikeln beziehen sich auf die Panels von WebOké; in anderen Panels funktioniert es ähnlich.
- DirectAdmin Anleitung 5.11: Wann wirkt eine Änderung? Wartezeit und TTL
- DirectAdmin Anleitung 5.2: DNS-Verwaltung öffnen und die Einträge lesen
- Wie lange dauert eine Nameserver- oder DNS-Änderung, und was ist, wenn Sie sie nicht sehen?
- WebOké Anleitung 5.4: DNS verwalten: Records hinzufügen, ändern und löschen
