Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

TTL a cache

Modul 6: Čas, cache a prevod domény · Čas čítania: 7 min

Cieľ lekcie: Po tejto lekcii dokážete vysvetliť, čo je TTL záznamu, ako ho využívajú cache a akú hodnotu TTL zvoliť v akej situácii.

Kľúčové pojmy: TTL (Time To Live), cache, cache resolvera, cache vo vašom počítači a prehliadači, klesajúce TTL, typické hodnoty TTL (300, 3600, 86400)

Prečo si DNS niečo pamätá

V lekcii 1.4 ste videli, ako resolver vyhľadáva odpoveď: najprv na rootserveri, potom na serveri TLD a nakoniec na autoritatívnom mennom serveri domény. Keby sa to muselo opakovať pri každom kliknutí na webovú stránku, internet by bol oveľa pomalší a menné servery by sa pod náporom otázok zrútili.

Preto si resolvery každú odpoveď na chvíľu zapamätajú. Táto pamäť sa nazýva cache. Ak sa niekto iný opýta na rovnaký názov, resolver mu odpovie rovno zo svojej cache, bez toho, aby prešiel celú cestu znova.

Otázka znie: ako dlho smie resolver odpoveď uchovávať? To určuje vlastník domény pomocou TTL každého záznamu.

Čo je TTL

TTL znamená Time To Live: čas, počas ktorého smie záznam zostať v cache, v sekundách. Každý záznam má svoje vlastné TTL. V zóne to vyzerá takto:

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"

Číslo za názvom je TTL. Tu smú byť záznamy A a MX uchované hodinu (3600 sekúnd) a záznam DMARC štyri hodiny (14400 sekúnd).

Bežné hodnoty:

TTLJeKedy ho použiť?
3005 minútTesne pred a počas prevodu domény, alebo ak často meníte hodnoty
36001 hodinaDobrý štandard pre väčšinu záznamov
144004 hodinyZáznamy, ktoré sa menia zriedka
864001 deňZáznamy, ktoré sa menia takmer nikdy, napríklad záznamy NS

TTL je číslo medzi 0 a 2 147 483 647 sekundami (2^31 - 1, ako uvádza RFC 2181). V praxi sa zriedka stretnete s hodnotou vyššou ako jeden až dva dni. Mnohé resolvery uplatňujú aj vlastné maximum, často jeden deň alebo týždeň.

Odpočítavanie

TTL nie je jedny spoločné hodiny pre celý svet. Každý resolver začína počítať až vo chvíli, keď záznam získa.

Príklad. Záznam A pre example.com má TTL 3600.

  • O 10:00 si resolver poskytovateľa A vyžiada záznam. Dostane 192.0.2.10 a smie si ho uchovať do 11:00.
  • O 10:40 si ho vyžiada resolver poskytovateľa B. Ten si ho uchová do 11:40.
  • O 10:45 zmeníte záznam na 198.51.100.10.
  • Používatelia poskytovateľa A vidia novú adresu od 11:00, používatelia poskytovateľa B až od 11:40.

Ak si záznam vyžiadate od resolvera, ktorý ho má už v cache, vo výstupe uvidíte TTL, ktoré sa postupne znižuje. Na autoritatívnom mennom serveri vidíte vždy plnú hodnotu:

; na autoritatívnom mennom serveri
example.com.   3600   IN  A  192.0.2.10

; na resolveri, 25 minút neskôr
example.com.   2100   IN  A  192.0.2.10

To je užitočné vedieť: ak vidíte na svojom resolveri ešte 2100 sekúnd, znamená to, že ešte 35 minút dostáva starú odpoveď.

Kto všetko si to pamätá?

Nielen resolver vášho poskytovateľa internetu má cache. Existuje viacero vrstiev:

  1. Resolver vášho poskytovateľa, firemnej siete alebo verejného resolvera (napríklad 1.1.1.1, 8.8.8.8 alebo 9.9.9.9).
  2. Váš router doma alebo v kancelárii, ktorý často sám funguje ako malý resolver.
  3. Operačný systém vášho počítača alebo telefónu.
  4. Váš prehliadač, ktorý si DNS odpovede niekedy tiež na chvíľu uchová.

Každá vrstva sa v princípe drží TTL, ale nie každá to robí úplne presne. Preto to môže na vašom notebooku trvať o niečo dlhšie ako u kolegu. Ako tieto cache vyprázdniť, si prečítate v lekcii 6.2.

Ako zvoliť správne TTL

Krátke TTL sa zdá výhodné: zmeny sú potom rýchlo viditeľné všade. Má to však nevýhodu. Resolvery musia potom záznam oveľa častejšie znova vyžiadať. To mierne spomalí prvé načítanie vášho webu, a ak sú vaše menné servery krátko nedostupné, vaša doména bude rýchlejšie nedostupná. Pri TTL jedna hodina dokážu resolvery krátky výpadok menného servera preklenúť pomocou svojej cache.

Niekoľko základných pravidiel:

  • Štandard: 3600 sekúnd. To je dobrá rovnováha.
  • Pre plánovanú zmenu: dočasne 300. Znížte TTL aspoň o jedno staré TTL vopred. Ak bolo nastavené 3600, urobte to aspoň hodinu vopred, bezpečnejšie deň vopred. Ak bolo nastavené 86400, tak aspoň deň vopred. Po zmene ho vráťte späť. Ako to zvládnuť pri prevode domény, si prečítate v lekcii 6.3.
  • Hodnota nižšia ako 60 sekúnd nemá veľký zmysel. Niektoré resolvery veľmi krátke TTL ignorujú a uplatňujú vlastné minimum.
  • Zníženie TTL zaberie až po uplynutí starého TTL. Ak znížite TTL z 86400 na 300 a hneď potom zmeníte adresu, resolvery, ktoré si záznam práve stiahli, budú mať starú hodnotu ešte celý deň.

Posledný bod je najčastejšia chyba pri práci s TTL. Nové, krátke TTL sa musí najprv samo dostať do všetkých cache.

V praxi: ako to vyzerá v paneli

Vo vzorovom paneli DirectAdmin je TTL samostatný stĺpec v časti DNS správa. TTL jedného záznamu zmeníte pomocou ikony ceruzky pri danom zázname. Tlačidlom TTL WAARDE OVERSCHRIJVEN nastavíte jedno TTL pre všetky záznamy domény naraz. V Môj WebOké vidíte TTL v zozname záznamov na karte DNS a vyberáte ho v okne, kde záznam pridávate alebo upravujete.

Iné panely fungujú podobne: v cPanel, Plesk, Cloudflare a u väčšiny registrátorov sa pole tiež nazýva TTL. Niekedy vyberáte z ponuky (napríklad „5 minút“, „1 hodina“, „Auto“) namiesto zadávania čísla v sekundách. V Cloudflare znamená „Auto“ pre záznamy bez proxy 300 sekúnd.

Zhrnutie

  • TTL určuje, koľko sekúnd smie DNS odpoveď zostať v cache.
  • Každý resolver počíta od chvíle, keď si záznam stiahol, preto zmenu nevidia všetci naraz.
  • Na autoritatívnom mennom serveri vidíte plné TTL, na resolveri klesajúcu hodnotu.
  • 3600 je dobrý štandard; pred plánovanou zmenou dočasne znížte na 300, a to aspoň jedno staré TTL vopred.

Kvíz

1. Záznam má TTL 300. Čo to znamená?



2. Vyžiadate si záznam A domény na resolveri svojho poskytovateľa a vidíte TTL 1250. Na autoritatívnom mennom serveri je uvedené 3600. Čo to znamená?



3. Zajtra o 9:00 chcete presmerovať svoj web na iný server. Záznam A má teraz TTL 86400. Čo je rozumné?



4. Prečo nie je veľmi krátke TTL (napríklad 30 sekúnd) pre všetky vaše záznamy dobrý nápad?



Úloha

Úloha Z6.1: TTL pri zdroji a pri resolveri. Pomocou online nástroja DNS alebo pomocou dig zistite TTL záznamu A domény sidn.nl (webová stránka SIDN, registra domény .nl v Holandsku), priamo na jednom z menných serverov domény sidn.nl (napríklad ns1.sidn.nl). Zadajte TTL v sekundách. Potom si vyžiadajte ten istý záznam na verejnom resolveri a zadajte aj toto TTL. V jednej vete vysvetlite, prečo sa oba údaje môžu líšiť.

dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9

Úloha Z6.1: TTL pri zdroji a pri resolveri




Čo vyplníte a čo my zistíme naživo, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Ak ste prihlásení, uložíme len to, že ste úlohu mali (takmer) správne v Moje kurzy; aj tam to môžete odstrániť.

Úloha O6.1: Nastavte si to sami vo svojej cvičnej zóne. Vo vašej cvičnej zóne <code>.dnspractice.eu už existuje záznam A ttl-test.<code>.dnspractice.eu, ktorý smeruje na 192.0.2.61, s TTL 300 sekúnd. Znížte TTL na 60 sekúnd, ako by ste to urobili pred prevodom domény, a adresu ponechajte nezmenenú. Potom pomocou dig skontrolujte na mennom serveri cvičnej zóny, či je nastavené nové TTL. Odošlite, keď je TTL 60.

Cvičná zóna používa krátke TTL (medzi 30 a 300 sekundami), aby ste nemuseli čakať; pri svojej skutočnej doméne použite napríklad 3600 ako štandard a 300 tesne pred zmenou.

Úloha O6.1

Túto úlohu urobíte vo vlastnej cvičnej zóne: skutočnej DNS zóne na menných serveroch WebOké, určenej iba pre vás. Prihláste sa svojou e-mailovou adresou. Dostanete prihlasovací odkaz e-mailom a potom sa vrátite späť na túto lekciu. Vašu adresu používame iba pre účely kurzu.

Ďalšie čítanie

Kroky v týchto článkoch sa týkajú panelov WebOké; v iných paneloch to funguje podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…