Modulul 6 · 6.1
TTL și cache
Modulul 6: Timp, cache și transferul domeniului · Timp de citire: 7 minute
Obiectiv de învățare: După această lecție veți putea explica ce este TTL-ul unei înregistrări, cum folosesc cache-urile această valoare și ce TTL alegeți în fiecare situație.
Concepte-cheie: TTL (Time To Live), cache, cache-ul resolverului, cache-ul computerului și browserului dumneavoastră, TTL care expiră, valori TTL tipice (300, 3600, 86400)
De ce DNS-ul reține informațiile
În lecția 1.4 ați văzut cum caută un resolver un răspuns: mai întâi la un server rădăcină, apoi la serverul TLD și în cele din urmă la serverul de nume autoritar al domeniului. Dacă acest lucru ar trebui repetat la fiecare clic pe un site web, internetul ar fi mult mai lent, iar serverele de nume ar ceda sub numărul de cereri.
De aceea, resolverele rețin fiecare răspuns pentru o perioadă. Această memorie se numește cache. Dacă altcineva solicită același nume, resolverul oferă imediat răspunsul din cache-ul său, fără a mai parcurge întregul traseu.
Întrebarea este: cât timp poate resolverul să rețină un răspuns? Acest lucru este stabilit de proprietarul domeniului, prin TTL-ul fiecărei înregistrări.
Ce este TTL-ul
TTL înseamnă Time To Live: timpul, exprimat în secunde, cât o înregistrare poate rămâne într-un cache. Fiecare înregistrare are propriul TTL. Într-o zonă, acest lucru arată astfel:
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"Numărul de după nume reprezintă TTL-ul. Aici, înregistrările A și MX pot fi reținute o oră (3600 de secunde), iar înregistrarea DMARC patru ore (14400 de secunde).
Valori uzuale:
| TTL | Reprezintă | Când se folosește? |
|---|---|---|
| 300 | 5 minute | Chiar înainte și în timpul unui transfer, sau dacă schimbați des |
| 3600 | 1 oră | O valoare standard bună pentru majoritatea înregistrărilor |
| 14400 | 4 ore | Înregistrări care se modifică rareori |
| 86400 | 1 zi | Înregistrări care aproape nu se modifică niciodată, cum ar fi înregistrările NS |
TTL-ul este un număr între 0 și 2.147.483.647 de secunde (2^31 - 1, așa cum este specificat în RFC 2181). În practică, rareori întâlniți valori de peste o zi sau două. Multe resolvere aplică și un maxim propriu, de obicei o zi sau o săptămână.
Numărătoarea inversă
TTL-ul nu este un ceas fix valabil pentru întreaga lume. Fiecare resolver începe să numere abia din momentul în care preia înregistrarea.
Un exemplu. Înregistrarea A a domeniului example.com are TTL 3600.
- La ora 10:00, resolverul furnizorului A solicită înregistrarea. Primește
192.0.2.10și o poate reține până la ora 11:00. - La ora 10:40, resolverul furnizorului B o solicită. Acesta o reține până la ora 11:40.
- La ora 10:45, modificați înregistrarea la
198.51.100.10. - Utilizatorii furnizorului A văd noua adresă începând cu ora 11:00, iar cei ai furnizorului B abia de la ora 11:40.
Dacă solicitați înregistrarea la un resolver care o are deja în cache, veți vedea în rezultat un TTL care scade constant. La serverul de nume autoritar vedeți întotdeauna valoarea completă:
; la serverul de nume autoritar
example.com. 3600 IN A 192.0.2.10
; la un resolver, 25 de minute mai târziu
example.com. 2100 IN A 192.0.2.10Este util de știut: dacă la resolverul dumneavoastră apare încă 2100 de secunde, acesta va mai oferi vechiul răspuns încă 35 de minute.
Cine reține informațiile
Nu doar resolverul furnizorului dumneavoastră de internet are un cache. Există mai multe niveluri:
- Resolverul furnizorului dumneavoastră, al rețelei companiei sau un resolver public (de exemplu 1.1.1.1, 8.8.8.8 sau 9.9.9.9).
- Routerul dumneavoastră de acasă sau de la birou, care adesea funcționează și el ca un mic resolver.
- Sistemul de operare al computerului sau telefonului dumneavoastră.
- Browserul dumneavoastră, care uneori păstrează și el pentru puțin timp răspunsurile DNS.
Fiecare nivel respectă în principiu TTL-ul, dar nu fiecare nivel face acest lucru cu exactitate. De aceea, pe laptopul dumneavoastră poate dura puțin mai mult decât la un coleg. Cum goliți aceste cache-uri, aflați în lecția 6.2.
Alegerea TTL-ului potrivit
Un TTL scurt pare practic: modificările devin atunci rapid vizibile pretutindeni. Dar are un dezavantaj. Resolverele trebuie să solicite înregistrarea din nou mult mai des. Acest lucru face ca prima încărcare a site-ului dumneavoastră să fie puțin mai lentă, iar dacă serverele dumneavoastră de nume devin temporar inaccesibile, domeniul dumneavoastră devine mai rapid inaccesibil. Cu un TTL de o oră, resolverele pot depăși o scurtă pană a serverului de nume folosind cache-ul lor.
Câteva reguli practice:
- Standard: 3600 de secunde. Acesta este un echilibru bun.
- Pentru o modificare planificată: temporar 300. Reduceți TTL-ul cu cel puțin un TTL vechi înainte de modificare. Dacă era 3600, faceți acest lucru cu cel puțin o oră înainte, mai sigur chiar cu o zi înainte. Dacă era 86400, faceți acest lucru cu cel puțin o zi înainte. După modificare, readuceți-l la valoarea inițială. Cum procedați în cazul unui transfer de domeniu, aflați în lecția 6.3.
- Sub 60 de secunde nu are prea mult rost. Unele resolvere ignoră TTL-urile foarte scurte și aplică un minim propriu.
- Reducerea unui TTL are efect abia după ce TTL-ul vechi a expirat. Dacă reduceți TTL-ul de la 86400 la 300 și modificați imediat după aceea adresa, resolverele care tocmai preluaseră înregistrarea vor mai păstra valoarea veche încă o zi întreagă.
Ultimul punct este cea mai frecventă greșeală legată de TTL-uri. Noul TTL, mai scurt, trebuie mai întâi să ajungă el însuși în toate cache-urile.
În practică: cum arată într-un panou
În panoul exemplu DirectAdmin, TTL-ul apare ca o coloană separată în DNS Administration. Modificați TTL-ul unei singure înregistrări cu creionul aflat în dreptul acelei înregistrări. Cu butonul TTL WAARDE OVERSCHRIJVEN setați un singur TTL pentru toate înregistrările domeniului simultan. În Contul meu WebOké, vedeți TTL-ul în lista de înregistrări din fila DNS și îl alegeți în fereastra în care adăugați sau editați o înregistrare.
Alte panouri funcționează similar: la cPanel, Plesk, Cloudflare și majoritatea registrarilor, câmpul se numește tot TTL. Uneori alegeți dintr-o listă (de exemplu „5 minute”, „1 oră”, „Auto”) în loc să introduceți un număr în secunde. La Cloudflare, „Auto” înseamnă pentru înregistrările fără proxy 300 de secunde.
Rezumat
- TTL-ul determină câte secunde poate rămâne un răspuns DNS într-un cache.
- Fiecare resolver numără din momentul în care a preluat înregistrarea; de aceea nu toată lumea vede o modificare în același timp.
- La serverul de nume autoritar vedeți TTL-ul complet, la un resolver o valoare care scade.
- 3600 este o valoare standard bună; reduceți temporar la 300 înainte de o modificare planificată, cu cel puțin un TTL vechi înainte.
Quiz
Exercițiu
Exercițiul Z6.1: TTL la sursă și la resolver. Căutați, folosind un instrument DNS online sau cu dig, TTL-ul înregistrării A a domeniului sidn.nl, direct de la unul dintre serverele de nume ale domeniului sidn.nl (de exemplu ns1.sidn.nl). Introduceți TTL-ul în secunde. Apoi solicitați aceeași înregistrare de la un resolver public și introduceți și acel TTL. Explicați într-o singură propoziție de ce cele două numere pot diferi.
dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9Exercițiul O6.1: Configurați singur în zona dumneavoastră de exersare. În zona dumneavoastră de exersare există deja o înregistrare A <code>.dnspractice.euttl-test. care indică spre <code>.dnspractice.eu192.0.2.61, cu un TTL de 300 de secunde. Reduceți TTL-ul la 60 de secunde, așa cum ați face înainte de un transfer de domeniu, și lăsați adresa neschimbată. Verificați apoi cu dig la serverul de nume al zonei de exersare dacă noul TTL apare. Predați exercițiul atunci când TTL-ul este 60.
Zona de exersare folosește TTL-uri scurte (între 30 și 300 de secunde), astfel încât să nu fie nevoie să așteptați; la domeniul dumneavoastră real folosiți, de exemplu, 3600 ca standard și 300 chiar înainte de o modificare.
Exercițiul O6.1
Acest exercițiu îl faceți în propria zonă de exersare: o zonă DNS reală pe serverele de nume ale WebOké, numai pentru dumneavoastră. Înregistrați-vă cu adresa dumneavoastră de e-mail. Veți primi un link de autentificare prin e-mail și reveniți apoi la această lecție. Folosim adresa dumneavoastră doar pentru curs.
Lecturi suplimentare
Pașii din aceste articole se referă la panourile WebOké; în alte panouri funcționează similar.
- Manual DirectAdmin 5.11: Când intră în vigoare o modificare? Timp de așteptare și TTL
- Manual DirectAdmin 5.2: Deschiderea DNS Administration și citirea înregistrărilor
- Cât durează o modificare de nameserver sau DNS și ce se întâmplă dacă nu o vedeți?
- Manual WebOké 5.4: Administrarea DNS-ului: adăugarea, modificarea și ștergerea înregistrărilor
