Modulis 6 · 6.1
TTL un kešatmiņa
Modulis 6: Laiks, kešatmiņa un domēna pārsūtīšana · Lasīšanas laiks: 7 minūtes
Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet izskaidrot, kas ir ieraksta TTL, kā kešatmiņas to izmanto un kādu TTL izvēlēties katrā situācijā.
Pamatjēdzieni: TTL (Time To Live), kešatmiņa, rezolvera kešatmiņa, Jūsu datora un pārlūka kešatmiņa, samazinošs TTL, tipiskas TTL vērtības (300, 3600, 86400)
Kāpēc DNS atceras
1.4. nodarbībā Jūs redzējāt, kā rezolveris meklē atbildi: vispirms pie saknes servera, tad pie TLD servera un visbeidzot pie domēna autoritatīvā vārdu servera. Ja tas būtu jādara no jauna ik reizi, kad kāds noklikšķina uz vietnes, internets būtu daudz lēnāks, un vārdu serveri nespētu tikt galā ar visiem pieprasījumiem.
Tāpēc rezolveri katru atbildi kādu laiku atceras. Šo atmiņu sauc par kešatmiņu. Ja kāds cits pieprasa to pašu nosaukumu, rezolveris uzreiz sniedz atbildi no savas kešatmiņas, neveicot visu ceļu no jauna.
Tad rodas jautājums: cik ilgi rezolveris drīkst atcerēties atbildi? To nosaka domēna īpašnieks ar katra ieraksta TTL.
Kas ir TTL
TTL apzīmē Time To Live: laiku, cik ilgi ieraksts drīkst palikt kešatmiņā, sekundēs. Katram ierakstam ir sava TTL. Zonā tas izskatās šādi:
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"Skaitlis aiz nosaukuma ir TTL. Šeit A un MX ierakstus drīkst atcerēties vienu stundu (3600 sekundes), bet DMARC ierakstu četras stundas (14400 sekundes).
Ierastās vērtības:
| TTL | Ir | Kad to izmantot? |
|---|---|---|
| 300 | 5 minūtes | Tieši pirms un pārsūtīšanas laikā, vai ja mainiet bieži |
| 3600 | 1 stunda | Laba noklusējuma vērtība lielākajai daļai ierakstu |
| 14400 | 4 stundas | Ieraksti, kas mainās reti |
| 86400 | 1 diena | Ieraksti, kas mainās gandrīz nekad, piemēram, NS ieraksti |
TTL ir skaitlis no 0 līdz 2.147.483.647 sekundēm (2^31 - 1, kā norādīts RFC 2181). Praksē reti sastopams kaut kas virs dienas vai divām. Daudzi rezolveri piemēro arī savu maksimālo ierobežojumu, bieži vien dienu vai nedēļu.
Atskaites gaita
TTL nav vienots pulkstenis visai pasaulei. Katrs rezolveris sāk skaitīt tikai brīdī, kad tas iegūst ierakstu.
Piemērs. example.com A ierakstam ir TTL 3600.
- Plkst. 10:00 interneta pakalpojuma sniedzēja A rezolveris pieprasa ierakstu. Tas saņem
192.0.2.10un drīkst to atcerēties līdz 11:00. - Plkst. 10:40 pakalpojuma sniedzēja B rezolveris to pieprasa. Tas atceras to līdz 11:40.
- Plkst. 10:45 Jūs mainiet ierakstu uz
198.51.100.10. - Pakalpojuma sniedzēja A lietotāji redz jauno adresi no 11:00, pakalpojuma sniedzēja B lietotāji tikai no 11:40.
Ja Jūs pieprasiet ierakstu no rezolvera, kuram tas jau ir kešatmiņā, izvadē redzēsiet TTL, kas pakāpeniski samazinās. Pie autoritatīvā vārdu servera vienmēr redzēsiet pilno vērtību:
; pie autoritatīvā vārdu servera
example.com. 3600 IN A 192.0.2.10
; pie rezolvera, 25 minūtes vēlāk
example.com. 2100 IN A 192.0.2.10Tas ir noderīgi zināt: ja Jūsu rezolverī redzat vēl 2100 sekundes, tas vēl 35 minūtes sniegs veco atbildi.
Kas visi atceras?
Kešatmiņa ir ne tikai Jūsu interneta pakalpojuma sniedzēja rezolverim. Ir vēl vairāki slāņi:
- Rezolveris, ko izmanto Jūsu pakalpojuma sniedzējs, uzņēmuma tīkls vai publisks rezolveris (piemēram, 1.1.1.1, 8.8.8.8 vai 9.9.9.9).
- Jūsu maršrutētājs mājās vai birojā, kas bieži pats darbojas kā neliels rezolveris.
- Jūsu datora vai tālruņa operētājsistēma.
- Jūsu pārlūks, kas dažkārt arī kādu laiku saglabā DNS atbildes.
Katrs slānis principā ievēro TTL, bet ne katrs to dara precīzi. Tāpēc Jums uz klēpjdatora tas var ilgt nedaudz ilgāk nekā kolēģim. Kā iztīrīt šīs kešatmiņas, Jūs varat lasīt 6.2. nodarbībā.
Pareizās TTL izvēle
Īss TTL šķiet ērts: izmaiņas tad ātri kļūst redzamas visur. Taču tam ir arī trūkums. Rezolveriem tad ieraksts jāpieprasa daudz biežāk no jauna. Tas Jūsu vietnes pirmo ielādi padara mazliet lēnāku, un, ja Jūsu vārdu serveri īslaicīgi nav sasniedzami, Jūsu domēns kļūst nesasniedzams ātrāk. Ar vienas stundas TTL rezolveri var pārvarēt īslaicīgu vārdu servera traucējumu, izmantojot savu kešatmiņu.
Daži pamatprincipi:
- Noklusējums: 3600 sekundes. Tas ir labs līdzsvars.
- Plānotai izmaiņai: īslaicīgi 300. Samaziniet TTL vismaz vienu veco TTL periodu pirms izmaiņas. Ja bija 3600, dariet to vismaz stundu iepriekš, drošāk dienu iepriekš. Ja bija 86400, tad vismaz dienu iepriekš. Pēc izmaiņas atjaunojiet iepriekšējo vērtību. Kā to darīt pārsūtīšanas gadījumā, Jūs varat lasīt 6.3. nodarbībā.
- Mazāk nekā 60 sekundes dod maz jēgas. Daži rezolveri ignorē ļoti īsus TTL un piemēro savu minimumu.
- TTL samazināšana darbojas tikai tad, kad vecais TTL ir beidzies. Ja samazināsiet TTL no 86400 uz 300 un uzreiz pēc tam mainīsiet adresi, rezolveriem, kas ierakstu tikko ieguva, vecā vērtība vēl saglabāsies veselu dienu.
Pēdējais punkts ir visbiežāk pieļautā kļūda ar TTL. Jaunajam, īsajam TTL vispirms pašam jānonāk visās kešatmiņās.
Praksē: kā tas izskatās panelī
Paraugpanelī DirectAdmin TTL ir atsevišķa kolonna sadaļā DNS Administration. Jūs varat mainīt viena ieraksta TTL ar zīmuļa ikonu aiz šī ieraksta. Ar pogu TTL WAARDE OVERSCHRIJVEN Jūs varat uzstādīt vienu TTL visiem domēna ierakstiem vienlaikus. Mans WebOké TTL redzams ierakstu sarakstā DNS cilnē, un Jūs to izvēlaties logā, kurā pievienojat vai rediģējat ierakstu.
Citi paneļi darbojas līdzīgi: cPanel, Plesk, Cloudflare un lielākajā daļā reģistratoru šo lauku arī sauc par TTL. Dažkārt Jūs izvēlaties no saraksta (piemēram, "5 minūtes", "1 stunda", "Auto") nevis ievadāt skaitli sekundēs. Cloudflare gadījumā "Auto" ierakstiem bez starpniekservera (proxy) nozīmē 300 sekundes.
Kopsavilkums
- TTL nosaka, cik sekundes DNS atbilde drīkst palikt kešatmiņā.
- Katrs rezolveris skaita no brīža, kad tas ieguva ierakstu; tāpēc ne visi redz izmaiņu vienlaikus.
- Pie autoritatīvā vārdu servera Jūs redzat pilno TTL, pie rezolvera samazinošu vērtību.
- 3600 ir laba noklusējuma vērtība; samaziniet uz 300 īslaicīgi pirms plānotas izmaiņas, un to dariet vismaz vienu veco TTL periodu iepriekš.
Tests
Uzdevums
Uzdevums Z6.1: TTL pie avota un pie rezolvera. Izmantojot tiešsaistes DNS rīku vai dig, atrodiet sidn.nl A ieraksta TTL tieši pie viena no sidn.nl pašu vārdu serveriem (piemēram, ns1.sidn.nl). Ievadiet TTL sekundēs. Pēc tam pieprasiet to pašu ierakstu no publiska rezolvera un ievadiet arī to TTL. Vienā teikumā izskaidrojiet, kāpēc šie divi skaitļi var atšķirties.
dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9Uzdevums O6.1: Pašu iestatīšana Jūsu vingrināšanās zonā. Jūsu vingrināšanās zonā jau ir A ieraksts <code>.dnspractice.euttl-test., kas norāda uz <code>.dnspractice.eu192.0.2.61, ar TTL 300 sekundes. Samaziniet TTL uz 60 sekundēm, tāpat kā Jūs darītu pirms pārsūtīšanas, un atstājiet adresi nemainītu. Pēc tam ar dig pārbaudiet vingrināšanās zonas vārdu serverī, vai jaunais TTL ir redzams. Iesniedziet, kad TTL ir 60.
Vingrināšanās zona izmanto īsus TTL (no 30 līdz 300 sekundēm), lai Jums nebūtu jāgaida; Jūsu īstajā domēnā Jūs izmantotu, piemēram, 3600 kā noklusējumu un 300 tieši pirms izmaiņas.
Uzdevums O6.1
Šo uzdevumu veicat savā vingrināšanās zonā: īstā DNS zonā uz WebOké vārdu serveriem, tikai Jums paredzētā. Pieteikšanās ar Jūsu e-pasta adresi. Jūs saņemsiet pieteikšanās saiti e-pastā un pēc tam atgriezīsieties šajā nodarbībā. Jūsu adresi izmantojam tikai šī kursa vajadzībām.
Papildu lasāmviela
Šajos rakstos aprakstītie soļi attiecas uz WebOké paneļiem; citos paneļos process ir līdzīgs.
- DirectAdmin rokasgrāmata 5.11: Kad izmaiņas sāk darboties? Gaidīšanas laiks un TTL
- DirectAdmin rokasgrāmata 5.2: DNS Administration atvēršana un ierakstu lasīšana
- Cik ilgi ilgst nameserver vai DNS izmaiņas un kas jādara, ja Jūs tās nesaskatāt?
- WebOké rokasgrāmata 5.4: DNS pārvaldīšana: ierakstu pievienošana, rediģēšana un dzēšana
