Maksymalna żywotność segmentu

Maksymalny czas życia segmentu lub MSL to czas, przez jaki segment TCP może istnieć w systemie międzysieciowym . W 1981 roku zdefiniowano go na 2 minuty .

Dla tej specyfikacji przyjmuje się, że MSL wynosi 2 minuty. Jest to wybór techniczny i może zostać zmieniony, jeśli doświadczenie wskazuje, że jest to pożądane.

Specyfikacja wymaga użycia tej wartości dla interwału „czasu oczekiwania”, czyli minimalnego czasu, przez jaki system musi utrzymywać gniazdo w stanie CZAS_OCZEKIWANIA przed oznaczeniem gniazda jako zamkniętego, zapobiegając w ten sposób ponownemu użyciu gniazda przed upływem tego interwału.

Wartości w różnych systemach operacyjnych

Polecenie, którego można użyć w systemach Solaris (przed wersją 11) w celu określenia odstępu czasu oczekiwania, to:

ndd -get /dev/tcp tcp_time_wait_interval

Powszechną wartością jest 60000 (60 sekund).

W systemach FreeBSD ten opis i wartość można sprawdzić poleceniem sysctl :

sysctl -d net.inet.tcp.msl sysctl net.inet.tcp.msl

co daje wynik:

net.inet.tcp.msl: Maksymalny okres istnienia segmentu net.inet.tcp.msl: 30000

W Linuksie interwał czasu oczekiwania jest zdefiniowany przez TCP_TIMEWAIT_LEN , zakodowany na stałe jako 60 sekund. Linux implementuje kilka możliwych optymalizacji, aby skrócić TIME_WAIT poprzez recykling do minimum 3,5 s w najnowszych jądrach.

  1. Bibliografia _ _ Protokół kontroli transmisji . Źródło 5 grudnia 2006 .
  2. ^ „Dostrajanie FreeBSD do obsługi 100-200 tysięcy połączeń” .
  3. ^ „Implementacja gniazda jądra Linuksa” .
  4. ^ „Nagłówki jądra Linuksa dla TCP” .