6 modulis · 6.1
TTL ir talpykla
6 modulis: Laikas, talpykla ir domeno perkėlimas · Skaitymo trukmė: 7 min.
Mokymosi tikslas: Po šios pamokos galėsite paaiškinti, kas yra įrašo TTL, kaip talpyklos ją naudoja ir kokią TTL reikšmę rinktis kiekvienoje situacijoje.
Pagrindinės sąvokos: TTL (Time To Live), talpykla, resolverio talpykla, Jūsų kompiuterio ir naršyklės talpykla, mažėjanti TTL, būdingos TTL reikšmės (300, 3600, 86400)
Kodėl DNS prisimena
1.4 pamokoje matėte, kaip resolveris ieško atsakymo: pirmiausia pas šakninį serverį, paskui pas TLD serverį ir galiausiai pas domeno autoritetinį vardų serverį. Jei tai tektų kartoti kiekvieną kartą paspaudus svetainės nuorodą, internetas būtų gerokai lėtesnis, o vardų serveriai nebeatlaikytų visų užklausų.
Todėl resolveriai kurį laiką prisimena kiekvieną atsakymą. Ši atmintis vadinama talpykla. Jei tą patį pavadinimą paklausia kas nors kitas, resolveris iš karto pateikia atsakymą iš savo talpyklos, nebekartodamas visos kelionės.
Tada kyla klausimas: kiek laiko resolveris gali prisiminti atsakymą? Tai nustato domeno savininkas, kiekvieno įrašo TTL reikšme.
Kas yra TTL
TTL reiškia Time To Live: laiką, kurį įrašas gali būti saugomas talpykloje, nurodomą sekundėmis. Kiekvienas įrašas turi savo TTL. Zonoje tai atrodo taip:
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"Skaičius po pavadinimo yra TTL. Čia A ir MX įrašus galima prisiminti valandą (3600 sekundžių), o DMARC įrašą keturias valandas (14400 sekundžių).
Įprastos reikšmės:
| TTL | Tai | Kada naudoti? |
|---|---|---|
| 300 | 5 minutės | Prieš ir perkėlimo metu, arba jei dažnai keičiate reikšmes |
| 3600 | 1 valanda | Gera numatytoji reikšmė daugumai įrašų |
| 14400 | 4 valandos | Įrašai, kurie keičiami retai |
| 86400 | 1 diena | Įrašai, kurie keičiami beveik niekada, pavyzdžiui, NS įrašai |
TTL yra skaičius tarp 0 ir 2.147.483.647 sekundžių (2^31 - 1, taip nurodyta RFC 2181). Praktikoje retai pasitaiko didesnė reikšmė nei diena ar dvi. Daugelis resolverių taiko ir savo maksimalią ribą, dažnai dieną arba savaitę.
Atgalinis skaičiavimas
TTL nėra bendras pasaulinis laikrodis. Kiekvienas resolveris pradeda skaičiuoti tik nuo to momento, kai gauna įrašą.
Pavyzdys. example.com A įrašo TTL yra 3600.
- 10:00 val. A tiekėjo resolveris paklausia įrašo. Jis gauna
192.0.2.10ir gali jį prisiminti iki 11:00. - 10:40 val. B tiekėjo resolveris paklausia to paties. Jis prisimena jį iki 11:40.
- 10:45 val. Jūs pakeičiate įrašą į
198.51.100.10. - A tiekėjo naudotojai naują adresą pamato nuo 11:00, B tiekėjo naudotojai tik nuo 11:40.
Jei paklausite įrašo pas resolverį, kuris jį jau turi savo talpykloje, išvestyje matysite nuolat mažėjančią TTL. Pas autoritetinį vardų serverį visada matysite pilną reikšmę:
; pas autoritetinį vardų serverį
example.com. 3600 IN A 192.0.2.10
; pas resolverį, 25 minutes vėliau
example.com. 2100 IN A 192.0.2.10Tai naudinga žinoti: jei pas Jūsų resolverį matote dar 2100 sekundžių, jis dar 35 minutes duos seną atsakymą.
Kas viską prisimena
Talpyklą turi ne tik Jūsų interneto tiekėjo resolveris. Yra ir daugiau sluoksnių:
- Resolveris, priklausantis Jūsų tiekėjui, įmonės tinklui arba viešas resolveris (pavyzdžiui, 1.1.1.1, 8.8.8.8 arba 9.9.9.9).
- Jūsų maršrutizatorius namuose ar biure, kuris dažnai pats veikia kaip mažas resolveris.
- Jūsų kompiuterio ar telefono operacinė sistema.
- Jūsų naršyklė, kuri kartais DNS atsakymus taip pat trumpai išsaugo.
Kiekvienas sluoksnis iš principo laikosi TTL, bet ne kiekvienas tai daro tiksliai. Todėl Jūsų nešiojamajame kompiuteryje tai gali užtrukti šiek tiek ilgiau nei pas kolegą. Kaip išvalyti šias talpyklas, sužinosite 6.2 pamokoje.
Teisingos TTL pasirinkimas
Trumpa TTL atrodo patogi: pakeitimai tuomet greitai matomi visur. Tačiau tai turi trūkumą. Resolveriai tuomet turi įrašo klausti kur kas dažniau. Dėl to pirmasis svetainės įkėlimas vyksta šiek tiek lėčiau, o jei Jūsų vardų serveriai trumpam nepasiekiami, domenas tampa nepasiekiamas greičiau. Esant valandos TTL, resolveriai gali trumpą vardų serverio sutrikimą „perlaukti“ naudodami savo talpyklą.
Keletas praktinių taisyklių:
- Numatytoji reikšmė: 3600 sekundės. Tai geras balansas.
- Planuojamam pakeitimui: laikinai 300. Sumažinkite TTL bent viena senąja TTL verte prieš pakeitimą. Jei buvo 3600, tai darykite bent valandą anksčiau, saugiau dieną anksčiau. Jei buvo 86400, tai bent dieną anksčiau. Po pakeitimo grąžinkite ją atgal. Kaip tai daroma perkeliant domeną, sužinosite 6.3 pamokoje.
- Mažesnė nei 60 sekundžių reikšmė beveik neturi prasmės. Kai kurie resolveriai ignoruoja labai trumpas TTL ir taiko savo minimumą.
- TTL sumažinimas pradeda veikti tik tada, kai pasibaigia senoji TTL. Jei sumažinate TTL nuo 86400 iki 300 ir iškart po to pakeičiate adresą, resolveriai, kurie įrašą ką tik gavo, dar visą dieną turės seną reikšmę.
Pastaroji klaida yra dažniausiai pasitaikanti su TTL susijusi klaida. Nauja, trumpa TTL reikšmė pirmiausia turi pati patekti į visas talpyklas.
Praktikoje: kaip tai atrodo valdymo skydelyje
Pavyzdiniame skydelyje DirectAdmin TTL rodoma kaip atskiras stulpelis skiltyje DNS administravimas. Vieno įrašo TTL pakeičiate paspaudę pieštuko ikoną prie to įrašo. Mygtuku TTL WAARDE OVERSCHRIJVEN galite vienu metu nustatyti vieną TTL reikšmę visiems domeno įrašams. Mano WebOké TTL matote įrašų sąraše skirtuke DNS ir ją pasirenkate lange, kuriame pridedate ar redaguojate įrašą.
Kiti valdymo skydeliai veikia panašiai: cPanel, Plesk, Cloudflare ir daugumoje registratorių sistemų šis laukas taip pat vadinamas TTL. Kartais renkatės iš sąrašo (pavyzdžiui, „5 minutės“, „1 valanda“, „Auto“), o ne įvedate skaičių sekundėmis. Cloudflare atveju „Auto“ įrašams be proxy reiškia 300 sekundžių.
Santrauka
- TTL nustato, kiek sekundžių DNS atsakymas gali likti talpykloje.
- Kiekvienas resolveris skaičiuoja nuo to momento, kai gavo įrašą; todėl ne visi pakeitimą pamato vienu metu.
- Pas autoritetinį vardų serverį matote pilną TTL, pas resolverį mažėjančią reikšmę.
- 3600 yra gera numatytoji reikšmė; prieš planuojamą pakeitimą laikinai sumažinkite iki 300, bent viena senąja TTL verte iš anksto.
Testas
Užduotis
Užduotis Z6.1: TTL pas šaltinį ir pas resolverį. Naudodami internetinį DNS įrankį arba dig komandą, raskite sidn.nl A įrašo TTL tiesiogiai iš vieno iš paties sidn.nl vardų serverių (pavyzdžiui, ns1.sidn.nl). Įveskite TTL sekundėmis. Tada paklauskite to paties įrašo iš viešo resolverio ir įveskite ir tą TTL. Vienu sakiniu paaiškinkite, kodėl šie du skaičiai gali skirtis.
dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9Užduotis O6.1: Nustatymas savo pratybų zonoje. Jūsų pratybų zonoje jau yra A įrašas <code>.dnspractice.euttl-test., nukreipiantis į <code>.dnspractice.eu192.0.2.61, kurio TTL yra 300 sekundžių. Sumažinkite TTL iki 60 sekundžių, taip kaip darytumėte prieš perkėlimą, o adresą palikite nepakeistą. Tada su dig komanda patikrinkite pratybų zonos vardų serveryje, ar nauja TTL jau nustatyta. Pateikite, kai TTL yra 60.
Pratybų zonoje naudojamos trumpos TTL reikšmės (nuo 30 iki 300 sekundžių), kad Jums nereikėtų laukti; savo tikrame domene, pavyzdžiui, naudotumėte 3600 kaip numatytąją reikšmę ir 300 prieš pat pakeitimą.
Užduotis O6.1
Šią užduotį atliksite savo pratybų zonoje: tikroje DNS zonoje WebOké vardų serveriuose, skirtoje tik Jums. Prisiregistruokite savo el. pašto adresu. Gausite prisijungimo nuorodą el. paštu ir po to grįšite į šią pamoką. Jūsų adresą naudosime tik kursui.
Skaitykite daugiau
Šiuose straipsniuose aprašyti žingsniai skirti WebOké valdymo skydeliams; kituose skydeliuose viskas veikia panašiai.
- DirectAdmin vadovas 5.11: Kada pasikeitimas pradeda veikti? Laukimo laikas ir TTL
- DirectAdmin vadovas 5.2: DNS administravimo atidarymas ir įrašų peržiūra
- Kiek laiko užtrunka nameserver arba DNS pakeitimas ir ką daryti, jei jo nematote?
- WebOké vadovas 5.4: DNS valdymas: įrašų pridėjimas, keitimas ir šalinimas
