Czas żyć - Time to live

Limit czasu życia ( TTL ) lub hop limit to mechanizm, który ogranicza żywotność lub żywotność danych w komputerze lub sieci. TTL może być zaimplementowany jako licznik lub znacznik czasu dołączony do danych lub osadzony w danych. Po upływie wyznaczonej liczby zdarzeń lub okresu czasu dane są odrzucane lub ponownie sprawdzane. W sieciach komputerowych TTL zapobiega krążeniu pakietu danych w nieskończoność. W aplikacjach komputerowych TTL jest powszechnie używany do poprawy wydajności i zarządzania buforowaniem danych.

Pakiety IP

W protokole internetowym TTL jest polem 8-bitowym. W nagłówku IPv4 TTL to 9. oktet z 20. W nagłówku IPv6 jest to 8. oktet z 40. Maksymalna wartość TTL to 255, maksymalna wartość pojedynczego oktetu. Zalecana wartość początkowa to 64.

Wartość czasu życia można traktować jako górną granicę czasu, w którym datagram IP może istnieć w systemie internetowym. Pole TTL jest ustawiane przez nadawcę datagramu i zmniejszane przez każdy router na trasie do miejsca przeznaczenia. Jeśli pole TTL osiągnie zero, zanim datagram dotrze do miejsca docelowego, to datagram jest odrzucany, a do nadawcy wysyłany jest z powrotem datagram błędu protokołu ICMP ( ang. Internet Control Message Protocol ) ( 11 – Przekroczony czas ). Celem pola TTL jest uniknięcie sytuacji, w której niemożliwy do dostarczenia datagram krąży w systemie internetowym, a taki system w końcu zostanie zalany przez takich „nieśmiertelnych”.

Teoretycznie w IPv4 czas życia jest mierzony w sekundach, chociaż każdy host, który przekazuje datagram, musi zmniejszyć TTL o co najmniej jedną jednostkę. W praktyce pole TTL jest zmniejszane o jeden przy każdym przeskoku . Aby odzwierciedlić tę praktykę, nazwa pola została zmieniona na limit przeskoków w IPv6 .

Rekordy DNS

TTL odpowiedzi DNS dla google.com, widocznej w Wireshark

Czasy TTL występują również w systemie nazw domen (DNS), gdzie są ustawiane przez autorytatywny serwer nazw dla konkretnego rekordu zasobu. Gdy buforujący (rekursywny) serwer nazw wysyła zapytanie do autorytatywnego serwera nazw o rekord zasobu, buforuje ten rekord przez czas (w sekundach) określony przez TTL. Jeśli moduł przeliczania kodu pośredniczącego zapyta buforujący serwer nazw o ten sam rekord przed wygaśnięciem czasu TTL, serwer buforujący po prostu odpowie już buforowanym rekordem zasobu, zamiast ponownie pobrać go z autorytatywnego serwera nazw. TTL dla odpowiedzi NXDOMAIN (nieistniejąca domena) jest ustawiany od minimum pola MINIMUM rekordu SOA i TTL samego SOA i wskazuje, jak długo przelicznik może buforować negatywną odpowiedź.

Krótsze czasy TTL mogą powodować większe obciążenia na autorytatywnym serwerze nazw, ale mogą być przydatne podczas zmiany adresu krytycznych usług, takich jak serwery internetowe lub rekordy MX , i dlatego często są obniżane przez administratora DNS przed przeniesieniem usługi w celu zmniejszenia możliwe zakłócenia.

Używane jednostki to sekundy. Starsza popularna wartość TTL dla DNS wynosiła 86400 sekund, czyli 24 godziny. Wartość TTL wynosząca 86400 oznaczałaby, że jeśli rekord DNS zostałby zmieniony na autorytatywnym serwerze nazw, serwery DNS na całym świecie mogą nadal wyświetlać starą wartość ze swojej pamięci podręcznej do 24 godzin od ostatniej aktualizacji przez klienta.

Nowsze metody DNS, które są częścią systemu odzyskiwania po awarii (DR), mogą mieć celowo ustawione bardzo niskie wartości TTL. Na przykład 300-sekundowy czas TTL pomógłby kluczowym rekordom wygasnąć w ciągu 5 minut, aby zapewnić szybkie usuwanie tych rekordów na całym świecie. Daje to administratorom możliwość edytowania i aktualizowania rekordów w odpowiednim czasie. Wartości TTL to „na rekord”, a ustawienie tej wartości w określonych rekordach jest czasami honorowane automatycznie przez wszystkie standardowe systemy DNS na całym świecie. Jednak nadal występuje problem polegający na tym, że niektóre buforujące serwery nazw DNS ustawiają własne wartości TTL niezależnie od autorytatywnych rekordów, dlatego nie można zagwarantować, że wszystkie podrzędne serwery DNS mają nowe rekordy po wygaśnięciu czasu TTL.

HTTP

Czas życia może być również wyrażony jako data i godzina wygaśnięcia rekordu. Expires:Nagłówka HTTP w odpowiedzi The Cache-Control: max-agepole nagłówka w obu żądań i odpowiedzi i expirespola w HTTP ciasteczka wyrazić czas do zamieszkania w ten sposób.

Zobacz też

Bibliografia

Linki zewnętrzne