Windows 시스템에서 시스템 전체 TCP 연결 유지 활성화

Windows 시스템에서 시스템 전체 TCP 연결 유지 활성화

KeepAliveTimeWindows 시스템이 유휴 연결에서 TCP 연결 유지 패킷을 보내도록 관련 레지스트리 변수를 변경/추가할 수 있습니까 ?

누구든지 이 작업을 성공적으로 수행했는지 알고 싶습니다. 특히 TCP 연결에서 유휴 상태인 애플리케이션이 연결을 유지하기 위해 특별한 작업(setsockopt)을 수행하지 않는 경우입니다.

이 Microsoft TechNet에서는 다음에 대해 자세히 설명합니다.시스템 전체의 Keep-Alive 구성와 더불어KeepAlive시간및 관련 레지스트리 변수.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime

그것은 것 같다연결 유지를 사용하기 위한 Linux 시스템 전체 구성. 그러나 이를 위해서는 프로그램이 연결 유지를
사용하고 요청해야 합니다 (맞습니까?).setsockopt()

커널에 구성되어 있더라도 Keepalive 지원은 Linux의 기본 동작이 아닙니다. 프로그램은 setockopt 인터페이스를 사용하여 소켓에 대한 연결 유지 제어를 요청해야 합니다. Keepalive를 구현하는 프로그램은 상대적으로 적습니다.

답변1

Linux와 유사한 Windows의 TCP keepalive 기능에 대한 평가는 정확합니다.

TCP 킵얼라이브와 관련된 레지스트리 매개변수를 원하는 대로 조작할 수 있지만 애플리케이션이 setsockopt()킵얼라이브를 요청하는 데 사용하지 않는 한 기본적으로 아무 것도 전송되지 않습니다.

Windows에서 실제로 Keepalive가 작동하는 모습을 보고 싶지만 코드를 작성하고 싶지 않다면퍼티SSH/TELNET/etc 클라이언트에서 연결을 시작하고 유휴 상태로 유지한 후 트래픽을 스니핑합니다. (SO_KEEPALIVE를 사용하도록 의식적으로 구성할 수 있다고 생각한 최초의 앱입니다...)

관련 정보