콘텐츠로 이동

Windows 11 25H2의 TCP 연결 수명 주기

목차

이 매개변수들은 TCP 연결의 수명 주기를 관리합니다: 프로토콜 확장, TIME_WAIT, keep-alive, 그리고 Path MTU 문제 감지입니다. 이들은 ping을 설정하지 않으며 이미 설정된 연결을 가속하지도 않습니다.

tcpipreg.sys와 NSI가 TCP 수명 주기 매개변수를 어떻게 읽는지, 기본값과 범위는 무엇인지, 그리고 재부팅 없이 구성이 갱신되는지를 확인했습니다.

Windows 11 25H2 build 26200.9168, tcpipreg.sys 및 NSI. 다양한 네트워크와 애플리케이션에서의 통제된 네트워크 트레이스 수집은 수행되지 않았습니다.

시스템 구성 요소의 정적 분석, bootlog 분석, 그리고 구성의 live 갱신 관찰.

Registry path Value Type Default/일반적인 상태 역할
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Tcp1323Opts REG_DWORD 3, 없는 경우 legacy extensions policy
동일한 경로 TcpTimedWaitDelay REG_DWORD 120초, 30..300 TIME_WAIT duration
동일한 경로 KeepAliveTime REG_DWORD 7200000 ms idle keep-alive interval
동일한 경로 EnablePMTUBHDetect REG_DWORD 0 PMTU black-hole detection

구식 TCP 매개변수는 tcpipreg.sys가 읽고 NSI를 통해 tcpip.sys 구성 요소로 전달합니다. 일부 값에는 ZwNotifyChangeKey가 사용되어 네트워크 스택을 완전히 재부팅하지 않고도 구성을 다시 읽을 수 있습니다.

Tcp1323Opts는 호환성을 위해 유지되었습니다. 그 값 0..3는 역사적으로 TCP 창 크기 조정과 타임스탬프를 설명했습니다. Windows 11 25H2에서 이 매개변수는 tcpipreg.sys가 읽으며, 값 1는 NSI로 전달되기 전에 변환됩니다. 현대적인 수신 창 자동 조정은 별도의 정책으로 관리됩니다. 따라서 오래된 비트 테이블은 각 연결의 실제 상태를 결정하지 않습니다.

TcpTimedWaitDelay는 연결이 닫힌 후 TCP 제어 블록이 TIME_WAIT에 유지되는 시간을 설정합니다. 문서화된 범위는 30..300초이며, 기본값은 120입니다. 대기를 줄이면 임시 포트가 더 일찍 해제되지만, 이전 연결의 지연된 세그먼트로부터 보호할 시간이 줄어듭니다.

KeepAliveTime는 유휴 연결에 대한 keep-alive 확인 패킷까지의 간격을 설정합니다. 기본적으로 7 200 000 ms입니다. 애플리케이션이 소켓에 대해 keep-alive를 별도로 활성화해야 하므로, 전역 간격을 줄여도 모든 연결의 백그라운드 확인이 시작되지는 않습니다.

EnablePMTUBHDetect=1는 ICMP 단편화 필요 알림이 송신자에게 도달하지 않을 때 Path MTU “블랙홀” 감지를 활성화합니다. 이 메커니즘은 그러한 문제 경로에서 작동하는 데 도움이 되며 재전송 횟수를 늘릴 수 있습니다. 정상적인 네트워크를 가속하지는 않습니다.

이 매개변수들은 짧은 TCP 연결이 많거나 MTU가 불안정한 서버와 클라이언트에 유용합니다. 단일 값을 변경하여 일반 애플리케이션의 범용적인 가속을 기대해서는 안 됩니다. 결과는 연결의 상대방, NAT, 라우터, 네트워크 카드 드라이버, VPN, 그리고 혼잡 제어에 따라 달라집니다.

이 연구는 Windows 11 25H2 build 26200.9168에 관한 것입니다. 다양한 네트워크와 애플리케이션에서의 통제된 네트워크 트레이스 수집은 수행되지 않았습니다.

tcpipreg.sys는 키의 변경을 추적하며 재부팅 없이 일부 구식 설정을 갱신할 수 있습니다. 이미 열린 TCP 연결은 이때 반드시 자신의 매개변수를 재협상하지는 않습니다. 원래 상태와 변경된 상태를 올바르게 비교하려면 새 연결을 만드십시오.

  • 연구된 빌드에서의 매개변수 경로, 유형, 기본값 및 범위.
  • tcpipreg.sys 및 NSI를 통한 읽기; 일부 값은 스택을 완전히 재부팅하지 않고 갱신됩니다.
  • Tcp1323Opts의 경우 값 1가 NSI로 전달되기 전에 변환됩니다.
  • Keep-alive는 소켓에 대해 별도로 활성화해야 합니다.
  • 개별 값 변경으로 인한 애플리케이션 가속.
  • 특정 네트워크, NAT, VPN 및 패킷 손실 상황에서의 동작.
  • 이미 열린 연결에 의한 매개변수 재협상.

기본값을 그대로 두십시오. 짧은 연결이 많거나 MTU가 불안정한 서버와 클라이언트에만 매개변수를 변경하고, 새 연결에서 결과를 비교하십시오.

기본값을 되돌리거나 선택적 항목을 삭제하십시오. 새 연결에서 결과를 확인하십시오: 이미 열린 연결은 이전 매개변수를 유지할 수 있습니다.

관찰의 동적 부분을 재현하는 방법은 직접 확인하는 방법을 참조하십시오.

연구와 사용된 도구는 BoosterX 개발자에게 속하므로, 개발자는 결과에 직접적인 이해관계가 있습니다. 방법론과 적용 범위는 위에 설명되어 있으며, 결론은 공개 데이터와 나열된 공개 출처를 통해 확인할 수 있습니다.

공개 출처 확인: 2026-09-02.

  • 2026-09-20: 이해충돌 면책 조항과 방법론에서 동적 관찰의 독립적 확인 링크가 추가되었습니다.
  • 2026-09-02: 최초 게시; readers, defaults 및 live reload가 확인되었고, 실용적 효과의 경계가 추가되었습니다.