Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

TTL i pamięć podręczna

Moduł 6: Czas, pamięć podręczna i transfer domeny · Czas czytania: 7 min

Cel lekcji: Po tej lekcji będą Państwo potrafili wyjaśnić, czym jest TTL rekordu, jak korzystają z niego pamięci podręczne (cache) i jaką wartość TTL wybrać w danej sytuacji.

Kluczowe pojęcia: TTL (Time To Live), pamięć podręczna (cache), pamięć podręczna resolvera, pamięć podręczna komputera i przeglądarki, malejący TTL, typowe wartości TTL (300, 3600, 86400)

Dlaczego DNS zapamiętuje odpowiedzi

W lekcji 1.4 widzieli Państwo, jak resolver wyszukuje odpowiedź: najpierw u serwera głównego (root), potem u serwera TLD, a na końcu u autorytatywnego serwera nazw danej domeny. Gdyby to musiało się powtarzać przy każdym kliknięciu na stronę internetową, internet działałby znacznie wolniej, a serwery nazw nie wytrzymałyby takiej liczby zapytań.

Dlatego resolwery zapamiętują każdą odpowiedź na jakiś czas. Ta pamięć nazywa się pamięcią podręczną (cache). Gdy ktoś inny zapyta o tę samą nazwę, resolver od razu udzieli odpowiedzi z pamięci podręcznej, bez ponownego przechodzenia całej drogi.

Powstaje pytanie: jak długo resolver może pamiętać odpowiedź? Decyduje o tym właściciel domeny, poprzez TTL każdego rekordu.

Czym jest TTL

TTL oznacza Time To Live: czas, przez jaki rekord może pozostać w pamięci podręcznej, wyrażony w sekundach. Każdy rekord ma własny TTL. W strefie wygląda to tak:

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"

Liczba po nazwie to TTL. W tym przykładzie rekordy A i MX mogą być zapamiętane przez godzinę (3600 sekund), a rekord DMARC przez cztery godziny (14400 sekund).

Typowe wartości:

TTLToKiedy go stosować?
3005 minutTuż przed transferem domeny i w jego trakcie, lub gdy zmiany są częste
36001 godzinaDobra wartość domyślna dla większości rekordów
144004 godzinyRekordy, które rzadko się zmieniają
864001 dzieńRekordy, które niemal nigdy się nie zmieniają, na przykład rekordy NS

TTL to liczba z zakresu od 0 do 2.147.483.647 sekund (2^31 - 1, zgodnie z RFC 2181). W praktyce rzadko spotyka się wartości wyższe niż dzień lub dwa. Wiele resolwerów stosuje też własne ograniczenie maksymalne, często dzień lub tydzień.

Odliczanie

TTL nie jest jednym, wspólnym zegarem dla całego świata. Każdy resolver zaczyna liczyć dopiero w momencie, gdy pobiera dany rekord.

Przykład. Rekord A domeny example.com ma TTL 3600.

  • O godzinie 10:00 resolver dostawcy A pobiera rekord. Otrzymuje 192.0.2.10 i może go pamiętać do 11:00.
  • O godzinie 10:40 resolver dostawcy B pobiera ten sam rekord. Pamięta go do 11:40.
  • O godzinie 10:45 zmieniają Państwo rekord na 198.51.100.10.
  • Użytkownicy dostawcy A zobaczą nowy adres od 11:00, użytkownicy dostawcy B dopiero od 11:40.

Jeśli zapytają Państwo o rekord resolwer, który ma go już w pamięci podręcznej, w wyniku zobaczą Państwo TTL, który stopniowo maleje. Przy autorytatywnym serwerze nazw zawsze widać pełną wartość:

; u autorytatywnego serwera nazw
example.com.   3600   IN  A  192.0.2.10

; u resolvera, 25 minut później
example.com.   2100   IN  A  192.0.2.10

Warto o tym wiedzieć: jeśli u swojego resolvera widzą Państwo jeszcze 2100 sekund, oznacza to, że przez kolejne 35 minut będzie on nadal podawał starą odpowiedź.

Kto jeszcze zapamiętuje odpowiedzi

Nie tylko resolver dostawcy internetu ma pamięć podręczną. Jest więcej warstw:

  1. Resolver dostawcy internetu, sieci firmowej lub resolwer publiczny (na przykład 1.1.1.1, 8.8.8.8 lub 9.9.9.9).
  2. Router w domu lub w biurze, który często sam działa jako mały resolver.
  3. System operacyjny komputera lub telefonu.
  4. Przeglądarka, która również czasem przez chwilę przechowuje odpowiedzi DNS.

Każda warstwa w zasadzie przestrzega TTL, ale nie każda robi to dokładnie. Dlatego na swoim laptopie mogą Państwo zauważyć zmianę nieco później niż kolega z pracy. Jak czyścić te pamięci podręczne, dowiedzą się Państwo w lekcji 6.2.

Wybór właściwego TTL

Krótki TTL wydaje się wygodny: zmiany są wtedy szybko widoczne wszędzie. Ma to jednak wadę. Resolwery muszą wtedy znacznie częściej na nowo pytać o rekord. To sprawia, że pierwsze wczytanie strony internetowej trwa odrobinę dłużej, a jeśli Państwa serwery nazw są przez chwilę niedostępne, domena szybciej staje się nieosiągalna. Przy TTL wynoszącym godzinę resolwery mogą przetrwać krótką awarię serwera nazw dzięki danym z pamięci podręcznej.

Kilka zasad praktycznych:

  • Wartość domyślna: 3600 sekund. To dobra równowaga.
  • Przed zaplanowaną zmianą: tymczasowo 300. Obniżą Państwo TTL co najmniej na czas trwania poprzedniego TTL przed zmianą. Jeśli było ustawione 3600, robią to Państwo co najmniej godzinę wcześniej, bezpieczniej dzień wcześniej. Jeśli było ustawione 86400, to co najmniej dzień wcześniej. Po zmianie przywracają Państwo poprzednią wartość. Jak to zrobić przy transferze domeny, dowiedzą się Państwo w lekcji 6.3.
  • Wartość niższa niż 60 sekund niewiele daje. Niektóre resolwery ignorują bardzo krótkie wartości TTL i stosują własne minimum.
  • Obniżenie TTL działa dopiero, gdy minie poprzedni TTL. Jeśli obniżą Państwo TTL z 86400 na 300 i od razu po tym zmienią adres, resolwery, które właśnie pobrały rekord, będą jeszcze przez cały dzień stosować starą wartość.

Ten ostatni punkt to najczęstszy błąd popełniany przy TTL. Nowy, krótki TTL musi najpierw sam trafić do wszystkich pamięci podręcznych.

W praktyce: jak to wygląda w panelu

W przykładowym panelu DirectAdmin TTL znajduje się jako osobna kolumna w Administracja DNS. TTL pojedynczego rekordu zmieniają Państwo za pomocą ikony ołówka przy tym rekordzie. Za pomocą przycisku TTL WAARDE OVERSCHRIJVEN ustawiają Państwo jeden TTL dla wszystkich rekordów domeny jednocześnie. W Moje WebOké TTL widoczny jest na liście rekordów na karcie DNS, a wybierają go Państwo w oknie dodawania lub edycji rekordu.

Inne panele działają podobnie: w cPanel, Plesk, Cloudflare i u większości rejestratorów pole to również nazywa się TTL. Czasem wybiera się wartość z listy (na przykład "5 minut", "1 godzina", "Auto") zamiast wpisywać liczbę sekund. W Cloudflare "Auto" dla rekordów bez proxy oznacza 300 sekund.

Podsumowanie

  • TTL określa, przez ile sekund odpowiedź DNS może pozostać w pamięci podręcznej.
  • Każdy resolver liczy od momentu, w którym pobrał rekord; dlatego nie każdy widzi zmianę w tym samym czasie.
  • Przy autorytatywnym serwerze nazw widać pełny TTL, u resolvera wartość malejącą.
  • 3600 to dobra wartość domyślna; przed zaplanowaną zmianą obniżają Państwo tymczasowo do 300, i to co najmniej na czas trwania poprzedniego TTL wcześniej.

Quiz

1. Rekord ma TTL 300. Co to oznacza?



2. Sprawdzają Państwo rekord A domeny u resolvera swojego dostawcy internetu i widzą TTL 1250. U autorytatywnego serwera nazw jest 3600. Co to oznacza?



3. Chcą Państwo jutro o godzinie 9:00 przełączyć swoją stronę internetową na inny serwer. Rekord A ma obecnie TTL 86400. Co jest rozsądnym rozwiązaniem?



4. Dlaczego bardzo krótki TTL (na przykład 30 sekund) dla wszystkich rekordów to zły pomysł?



Zadanie

Zadanie Z6.1: TTL u źródła i u resolvera. Za pomocą internetowego narzędzia DNS lub polecenia dig sprawdź TTL rekordu A domeny sidn.nl bezpośrednio u jednego z serwerów nazw sidn.nl (na przykład ns1.sidn.nl). Wpisz TTL w sekundach. Następnie sprawdź ten sam rekord u publicznego resolvera i wpisz również ten TTL. Wyjaśnij w jednym zdaniu, dlaczego te dwie liczby mogą się różnić.

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

Zadanie Z6.1: TTL u źródła i u resolvera




To, co Państwo wpisują i co sprawdzamy na żywo, nie jest przez nas zapisywane. Przeglądarka zapamiętuje Państwa odpowiedzi oraz informację, czy zadanie zostało zaliczone. Jeśli są Państwo zalogowani, zapisujemy jedynie informację, że zadanie zostało (prawie) wykonane poprawnie w Moich kursach; tam też można to usunąć.

Zadanie O6.1: Samodzielne ustawienie w strefie ćwiczeniowej. W Państwa strefie ćwiczeniowej <code>.dnspractice.eu znajduje się już rekord A ttl-test.<code>.dnspractice.eu, który wskazuje na 192.0.2.61, z TTL wynoszącym 300 sekund. Obniżą Państwo TTL do 60 sekund, tak jak zrobiliby Państwo przed transferem domeny, pozostawiając adres bez zmian. Następnie sprawdzą Państwo za pomocą dig u serwera nazw strefy ćwiczeniowej, czy nowy TTL jest widoczny. Prześlą Państwo zadanie, gdy TTL wynosi 60.

Strefa ćwiczeniowa korzysta z krótkich wartości TTL (od 30 do 300 sekund), aby nie trzeba było czekać; w swojej prawdziwej domenie stosują Państwo na przykład 3600 jako wartość domyślną i 300 tuż przed zmianą.

Zadanie O6.1

To zadanie wykonują Państwo we własnej strefie ćwiczeniowej: prawdziwej strefie DNS na serwerach nazw WebOké, przeznaczonej tylko dla Państwa. Proszę zalogować się za pomocą adresu e-mail. Otrzymają Państwo link logujący e-mailem i wrócą następnie do tej lekcji. Adres e-mail wykorzystujemy wyłącznie na potrzeby kursu.

Więcej informacji

Kroki w tych artykułach dotyczą paneli WebOké; w innych panelach działanie jest podobne.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…