Przejdź do głównej zawartości

Cykl życia połączenia TCP w Windows 11 25H2

Na tej stronie

Te parametry sterują cyklem życia połączenia TCP: rozszerzeniami protokołu, TIME_WAIT, keep-alive i wykrywaniem problemów Path MTU. Nie ustawiają pingu i nie przyspieszają już nawiązanego połączenia.

Sprawdzano, jak tcpipreg.sys i NSI odczytują parametry cyklu życia TCP, jakie wartości domyślne i zakresy obowiązują oraz czy konfiguracja jest aktualizowana bez ponownego uruchomienia.

Windows 11 25H2 build 26200.9168, tcpipreg.sys i NSI. Kontrolowany zbiór tras sieciowych w różnych sieciach i aplikacjach nie był prowadzony.

Statyczna analiza komponentów systemowych, analiza bootlog i obserwacja aktualizacji konfiguracji w czasie rzeczywistym.

Registry path Value Type Default/typowy stan Rola
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Tcp1323Opts REG_DWORD 3, jeśli brakuje legacy extensions policy
ta sama ścieżka TcpTimedWaitDelay REG_DWORD 120 sekund, 30..300 TIME_WAIT duration
ta sama ścieżka KeepAliveTime REG_DWORD 7200000 ms idle keep-alive interval
ta sama ścieżka EnablePMTUBHDetect REG_DWORD 0 PMTU black-hole detection

Przestarzałe parametry TCP odczytuje tcpipreg.sys i przekazuje przez NSI komponentowi tcpip.sys. Dla części wartości używany jest ZwNotifyChangeKey, co pozwala odczytywać konfigurację bez pełnego ponownego uruchomienia stosu sieciowego.

Tcp1323Opts zachowano dla zgodności. Jego wartości 0..3 historycznie opisywały skalowanie okna TCP i znaczniki czasu. W Windows 11 25H2 parametr odczytuje tcpipreg.sys, przy czym wartość 1 jest przekształcana przed przekazaniem do NSI. Nowoczesna automatyczna regulacja okna odbioru jest sterowana osobną polityką. Dlatego stara tabela bitów nie określa faktycznego stanu każdego połączenia.

TcpTimedWaitDelay określa czas utrzymywania bloku kontrolnego TCP w TIME_WAIT po zamknięciu połączenia. Udokumentowany zakres wynosi 30..300 sekund, wartość domyślna 120. Skrócenie oczekiwania wcześniej zwalnia tymczasowe porty, ale pozostawia mniej czasu na ochronę przed spóźnionymi segmentami starego połączenia.

KeepAliveTime określa interwał do pakietu kontrolnego keep-alive dla bezczynnego połączenia. Domyślnie wynosi 7 200 000 ms. Aplikacja musi osobno włączyć keep-alive dla gniazda, dlatego zmniejszenie globalnego interwału nie uruchamia kontroli w tle dla wszystkich połączeń.

EnablePMTUBHDetect=1 włącza wykrywanie „czarnych dziur” Path MTU, gdy powiadomienia ICMP o konieczności fragmentacji nie docierają do nadawcy. Mechanizm pomaga pracować z taką problematyczną trasą i może zwiększyć liczbę retransmisji. Sprawnej sieci nie przyspiesza.

Parametry są przydatne dla serwerów i klientów z dużą liczbą krótkich połączeń TCP lub niestabilnym MTU. Uniwersalnego przyspieszenia zwykłych aplikacji po zmianie jednej wartości nie należy oczekiwać. Wynik zależy od drugiej strony połączenia, NAT, routera, sterownika karty sieciowej, VPN i kontroli przeciążenia.

Badanie dotyczy Windows 11 25H2 build 26200.9168. Kontrolowany zbiór tras sieciowych w różnych sieciach i aplikacjach nie był prowadzony.

tcpipreg.sys śledzi zmiany klucza i może aktualizować część przestarzałych ustawień bez ponownego uruchomienia. Już otwarte połączenia TCP przy tym nie muszą ponownie negocjować swoich parametrów. Aby prawidłowo porównać stan początkowy i zmieniony, twórz nowe połączenia.

  • Ścieżki, typy, wartości domyślne i zakresy parametrów w badanym buildzie.
  • Odczyt przez tcpipreg.sys i NSI; część wartości jest aktualizowana bez pełnego ponownego uruchomienia stosu.
  • Dla Tcp1323Opts wartość 1 jest przekształcana przed przekazaniem do NSI.
  • Keep-alive wymaga osobnego włączenia dla gniazda.
  • Przyspieszenie aplikacji po zmianie poszczególnych wartości.
  • Zachowanie w konkretnych sieciach, za NAT, VPN i przy utracie pakietów.
  • Ponowna negocjacja parametrów przez już otwarte połączenia.

Pozostaw wartości domyślne. Zmieniaj parametry tylko dla serwerów i klientów z dużą liczbą krótkich połączeń lub niestabilnym MTU i porównuj wynik na nowych połączeniach.

Przywróć standardowe wartości lub usuń opcjonalne wpisy. Sprawdzaj wynik na nowych połączeniach: już otwarte mogą zachowywać poprzednie parametry.

Jak powtórzyć dynamiczną część obserwacji — zobacz Jak sprawdzić samodzielnie.

Badanie i użyte narzędzia należą do dewelopera BoosterX, dlatego deweloper ma bezpośredni interes w wynikach. Metodyka i granice stosowalności opisano powyżej, a wnioski można zweryfikować na podstawie otwartych danych i wymienionych publicznych źródeł.

Publiczne źródła sprawdzono: 2026-09-02.

  • 2026-09-20: dodano disclaimer o konflikcie interesów i link do samodzielnej weryfikacji dynamicznych obserwacji w metodyce.
  • 2026-09-02: pierwsza publikacja; potwierdzono readers, defaults i live reload, dodano granice praktycznego efektu.