Skip to main content

Keep Alive

Keep Alive (zwany również KA) to komunikat wysyłany z jednego urządzenia do drugiego w celu sprawdzenia, czy połączenie między nimi działa lub w celu zapobieżenia zerwaniu połączenia.

Opis programu Keep Alive

Sygnał Keep Alive jest wysyłany bardzo często w określonych odstępach czasu i odgrywa znaczącą rolę w Internecie. Jeśli po wysłaniu sygnału nie zostanie odebrana żadna odpowiedź, program zakłada, że jest to przerwanie połączenia. Dzięki temu wszystkie dalsze dane przesyłane są inną drogą. Trwa to do momentu ponownego nawiązania połączenia.

Ponieważ jedynym celem jest znalezienie uszkodzonych linków lub wskazanie połączeń, które powinny być utrzymywane, komunikaty Keep Alive są zazwyczaj krótkie i nie zajmują dużo pasma. Ich dokładny format i warunki użytkowania zależą jednak od protokołu komunikacyjnego.

TCP Keep Alives

Transmission Control Protocol (TCP) Keep Alives jest funkcją opcjonalną i jeśli jest włączona, musi być domyślnie wyłączona. Pakiet KA nie zawiera żadnych danych. W sieci Ethernet powoduje to powstanie ramek o minimalnym rozmiarze (64 bajty). Istnieją trzy parametry, które odnoszą się do KA:
[su_list icon=”icon: hand-o-right” icon_color=”#187bc0″ indent=”-5″]

  • Czas KA to czas pomiędzy dwoma bezczynnymi transmisjami KA. Okres retencji TCP musi być konfigurowalny i domyślnie wynosi co najmniej dwie godziny.
  • Interwał KA jest to czas pomiędzy dwoma kolejnymi retransmisjami KA, gdy nie otrzymano potwierdzenia dla poprzedniej transmisji KA.
  • KA retry to liczba retransmisji, które muszą być wykonane przed stwierdzeniem, że zdalny koniec jest niedostępny.
[/su_list] Pakiety TCP-KA mogą być również użyte do sprawdzenia, czy żądane połączenie jest nadal ważne. Tutaj jednak dwa hosty muszą być połączone przez TCP/IP (jedna sieć). Większość hostów, które obsługują TCP, obsługuje również TCP-Keep Alives. Każdy host (lub peer) okresowo wysyła pakiet TCP do swojego peera z prośbą o odpowiedź. Kiedy pewna liczba keep alives są wysyłane i nie ma odpowiedzi (ACK) jest odbierany, wysyłający host kończy połączenie z jego końca. Kiedy połączenie jest zakończone z powodu timeoutu TCP-KA i drugi host w końcu wysyła pakiet dla starego połączenia, host, który zakończył połączenie wysyła pakiet z ustawioną flagą RST, aby wskazać drugiemu hostowi, że stare połączenie nie jest już aktywne. To zmusza drugiego hosta do zakończenia końca połączenia, aby można było nawiązać nowe połączenie.

Zazwyczaj TCP Keep Alives są wysyłane co 45 lub 60 sekund na nieaktywnym połączeniu TCP. Połączenie jest rozłączane po trzech kolejnych nieodebranych ACK. Różni się to w zależności od hosta. Na przykład, komputery z systemem Windows wysyłają domyślnie pierwszy pakiet TCP Keep Alive po 7 200 000 ms (2 godziny), a następnie 5 pakietów Keep Alives w odstępach 1000 ms. Połączenie jest rozłączane, jeśli nie ma odpowiedzi na żaden z pakietów KA.

Utrzymanie Alives na wyższych warstwach

Ponieważ TCP-KA jest opcjonalny, kilka protokołów (np. SMB i TLS) implementuje swoje własne funkcje KA oprócz TCP. Często zdarza się również, że protokoły, które zarządzają sesją poprzez protokół bezpołączeniowy, np. OpenVPN poprzez UDP, implementują swoją własną funkcję KA.


Masz jeszcze jakieś pytania?

Prosimy o kontakt z nami


Dalsze treści