Moduuli 6 · 6.1
TTL ja välimuisti
Moduuli 6: Aika, välimuisti ja siirto · Lukuaika: 7 minuuttia
Oppimistavoite: Tämän oppitunnin jälkeen osaat selittää, mikä tietueen TTL on, miten välimuistit sitä käyttävät ja minkä TTL-arvon valitset missäkin tilanteessa.
Keskeiset käsitteet: TTL (Time To Live), välimuisti, resolverin välimuisti, tietokoneesi ja selaimesi välimuisti, pienenevä TTL, tyypilliset TTL-arvot (300, 3600, 86400)
Miksi DNS muistaa
Oppitunnilla 1.4 näit, miten resolveri hakee vastauksen: ensin juuripalvelimelta, sitten TLD-palvelimelta ja lopulta verkkotunnuksen autoritatiiviselta nimipalvelimelta. Jos tämä pitäisi tehdä joka kerta uudelleen verkkosivulla klikattaessa, internet olisi huomattavasti hitaampi ja nimipalvelimet kaatuisivat kaikkien kyselyjen alle.
Siksi resolverit muistavat jokaisen vastauksen jonkin aikaa. Tätä muistia kutsutaan välimuistiksi. Kun joku muu kysyy saman nimen, resolveri antaa vastauksen suoraan välimuististaan tekemättä koko matkaa uudelleen.
Kysymys kuuluukin: kuinka kauan resolveri saa muistaa vastauksen? Tämän määrittää verkkotunnuksen omistaja kunkin tietueen TTL:llä.
Mikä TTL on
TTL tulee sanoista Time To Live: aika, jonka tietue saa pysyä välimuistissa, sekunteina. Jokaisella tietueella on oma TTL:nsä. Vyöhykkeessä se näyttää tältä:
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"Nimen jälkeinen luku on TTL. Tässä A- ja MX-tietueet saa muistaa tunnin ajan (3600 sekuntia) ja DMARC-tietueen neljä tuntia (14400 sekuntia).
Yleiset arvot:
| TTL | On | Milloin käytät sitä? |
|---|---|---|
| 300 | 5 minuuttia | Juuri ennen siirtoa ja sen aikana, tai jos vaihdat usein |
| 3600 | 1 tunti | Hyvä oletusarvo useimmille tietueille |
| 14400 | 4 tuntia | Tietueet, jotka muuttuvat harvoin |
| 86400 | 1 vuorokausi | Tietueet, jotka muuttuvat lähes koskaan, kuten NS-tietueet |
TTL on luku väliltä 0 ja 2 147 483 647 sekuntia (2^31 - 1, näin se on määritelty RFC 2181:ssä). Käytännössä harvoin näet mitään yli vuorokauden tai kahden. Monet resolverit noudattavat myös omaa enimmäisarvoaan, usein vuorokauden tai viikon.
Ajan kuluminen
TTL ei ole kiinteä kello koko maailmalle. Jokainen resolveri alkaa laskea vasta siitä hetkestä, kun se hakee tietueen.
Esimerkki. Verkkotunnuksen example.com A-tietueella on TTL 3600.
- Klo 10:00 palveluntarjoaja A:n resolveri hakee tietueen. Se saa osoitteen
192.0.2.10ja saa muistaa sen klo 11:00 asti. - Klo 10:40 palveluntarjoaja B:n resolveri hakee sen. Se muistaa sen klo 11:40 asti.
- Klo 10:45 muutat tietueen osoitteeksi
198.51.100.10. - Palveluntarjoaja A:n käyttäjät näkevät uuden osoitteen klo 11:00 alkaen, palveluntarjoaja B:n käyttäjät vasta klo 11:40 alkaen.
Jos kysyt tietuetta resolverilta, jolla se on jo välimuistissa, näet tulosteessa TTL:n, joka jatkuvasti pienenee. Autoritatiivisella nimipalvelimella näet aina täyden arvon:
; autoritatiivisella nimipalvelimella
example.com. 3600 IN A 192.0.2.10
; resolverilla, 25 minuuttia myöhemmin
example.com. 2100 IN A 192.0.2.10Tämä on hyödyllistä tietää: jos resolverillasi lukee vielä 2100 sekuntia, se antaa vanhan vastauksen vielä noin 35 minuuttia.
Kuka kaikki muistaa?
Pelkästään internetpalveluntarjoajasi resolverilla ei ole välimuistia. Kerroksia on useampia:
- Resolveri, oli se palveluntarjoajasi, yrityksesi verkon tai julkinen resolveri (esimerkiksi 1.1.1.1, 8.8.8.8 tai 9.9.9.9).
- Reitittimesi kotona tai toimistolla, joka usein toimii myös pienenä resolverina.
- Tietokoneesi tai puhelimesi käyttöjärjestelmä.
- Selaimesi, joka säilyttää DNS-vastauksia joskus myös hetken aikaa.
Jokainen kerros noudattaa periaatteessa TTL:ää, mutta ei jokainen kerros tee sitä tarkalleen. Siksi sinulla kannettavalla tietokoneellasi saattaa kestää hieman kauemmin kuin kollegallasi. Miten tyhjennät nämä välimuistit, luet oppitunnilla 6.2.
Oikean TTL:n valinta
Lyhyt TTL vaikuttaa kätevältä: muutokset näkyvät silloin nopeasti kaikkialla. Siinä on kuitenkin haittapuoli. Resolverien on silloin kysyttävä tietue uudelleen paljon useammin. Tämä hidastaa sivustosi ensimmäistä latausta hieman, ja jos nimipalvelimesi eivät hetkeksi ole tavoitettavissa, verkkotunnuksesi on nopeammin tavoittamattomissa. Tunnin TTL:llä resolverit voivat selvitä nimipalvelimen lyhyestä häiriöstä välimuistinsa avulla.
Muutama peukalosääntö:
- Oletus: 3600 sekuntia. Se on hyvä tasapaino.
- Suunniteltua muutosta varten: tilapäisesti 300. Pienennä TTL vähintään yhden vanhan TTL:n verran etukäteen ennen muutosta. Jos arvona oli 3600, tee se vähintään tuntia aiemmin, turvallisemmin vuorokautta aiemmin. Jos arvona oli 86400, tee se vähintään vuorokautta aiemmin. Muutoksen jälkeen palautat sen takaisin. Miten teet tämän siirron yhteydessä, luet oppitunnilla 6.3.
- Alle 60 sekunnin arvosta on vähän hyötyä. Jotkin resolverit jättävät huomiotta hyvin lyhyet TTL-arvot ja noudattavat omaa vähimmäisarvoaan.
- TTL:n pienentäminen toimii vasta, kun vanha TTL on kulunut umpeen. Jos pienennät TTL:n 86400:sta 300:aan ja muutat osoitteen heti sen jälkeen, resolvereilla, jotka hakivat tietueen juuri äsken, on vanha arvo vielä koko vuorokauden.
Viimeinen kohta on yleisin TTL:iin liittyvä virhe. Uuden, lyhyen TTL:n on ensin itse levittävä kaikkiin välimuisteihin.
Käytännössä: näin se näkyy hallintapaneelissa
Esimerkkipaneelissa DirectAdmin TTL on oma sarakkeensa osiossa DNS Administration. Muutat yksittäisen tietueen TTL:n kynäkuvakkeella kyseisen tietueen kohdalla. Painikkeella TTL WAARDE OVERSCHRIJVEN asetat yhden TTL:n kerralla verkkotunnuksen kaikille tietueille. Oma WebOké:ssä näet TTL:n tietueluettelossa DNS-välilehdellä ja valitset sen ikkunassa, jossa lisäät tai muokkaat tietuetta.
Muut hallintapaneelit toimivat samantapaisesti: cPanelissa, Pleskissä, Cloudflaressa ja useimmilla verkkotunnusvälittäjillä kenttä on nimeltään myös TTL. Joskus valitset arvon listalta (esimerkiksi "5 minuuttia", "1 tunti", "Auto") sen sijaan, että kirjoittaisit luvun sekunteina. Cloudflarella "Auto" tarkoittaa proxyttomille tietueille 300 sekuntia.
Yhteenveto
- TTL määrittää, kuinka monta sekuntia DNS-vastaus saa pysyä välimuistissa.
- Jokainen resolveri laskee siitä hetkestä, kun se haki tietueen; siksi muutos ei näy kaikille samanaikaisesti.
- Autoritatiivisella nimipalvelimella näet täyden TTL:n, resolverilla pienenevän arvon.
- 3600 on hyvä oletusarvo; pienennä tilapäisesti arvoon 300 ennen suunniteltua muutosta, vähintään yhden vanhan TTL:n verran etukäteen.
Tietovisa
Tehtävä
Tehtävä Z6.1: TTL lähteessä ja resolverilla. Etsi verkossa olevalla DNS-työkalulla tai komennolla dig verkkotunnuksen sidn.nl A-tietueen TTL suoraan yhdeltä sidn.nl:n omista nimipalvelimista (esimerkiksi ns1.sidn.nl). Täytä TTL sekunteina. Kysy sen jälkeen sama tietue julkiselta resolverilta ja täytä myös tämä TTL. Selitä yhdellä lauseella, miksi kaksi lukua voivat poiketa toisistaan.
dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9Tehtävä O6.1: Asetus itse harjoitusvyöhykkeessäsi. Harjoitusvyöhykkeessäsi on jo A-tietue <code>.dnspractice.euttl-test., joka osoittaa osoitteeseen <code>.dnspractice.eu192.0.2.61 TTL-arvolla 300 sekuntia. Pienennä TTL arvoon 60 sekuntia, kuten tekisit ennen siirtoa, ja jätä osoite muuttamatta. Tarkista sen jälkeen komennolla dig harjoitusvyöhykkeen nimipalvelimelta, että uusi TTL näkyy siellä. Palauta tehtävä, kun TTL on 60.
Harjoitusvyöhyke käyttää lyhyitä TTL-arvoja (30 ja 300 sekunnin välillä), jotta sinun ei tarvitse odottaa; oikealla verkkotunnuksellasi käytät esimerkiksi arvoa 3600 oletuksena ja arvoa 300 juuri ennen muutosta.
Tehtävä O6.1
Teet tämän tehtävän omassa harjoitusvyöhykkeessäsi: aidossa DNS-vyöhykkeessä WebOkén nimipalvelimilla, vain sinua varten. Kirjaudu sähköpostiosoitteellasi. Saat kirjautumislinkin sähköpostiisi ja palaat sen jälkeen tälle oppitunnille. Käytämme osoitettasi vain tätä kurssia varten.
Lue lisää
Näiden artikkeleiden vaiheet koskevat WebOkén hallintapaneeleja; muissa paneeleissa toiminta on vastaavaa.
- DirectAdmin-ohje 5.11: Milloin muutos tulee voimaan? Odotusaika ja TTL
- DirectAdmin-ohje 5.2: DNS Administration avaaminen ja tietueiden lukeminen
- Kuinka kauan nameserver- tai DNS-muutos kestää, ja mitä teet, jos et näe sitä?
- WebOké-käyttöopas 5.4: DNS:n hallinta: tietueiden lisääminen, muokkaaminen ja poistaminen
