최근에 회사 방화벽 설정을 위반한 사람과 토론을 했습니다. 방화벽은 10분 이상 유휴 상태 테이블을 지웁니다. 안타깝게도 상태 테이블에 없는 연결세그먼트를 받을 때의 동작은 세그먼트를 자동으로 삭제하는 것입니다. 즉, STCP 응용 프로그램이 더 이상 끝점과 통신하고 연결을 다시 설정할 수 없다는 것을 깨닫는 데 8분 이상이 걸릴 수 있습니다. 이것은 그의 사용자를 성가시게했다.
이 시점에서 구성 가능한 응용 프로그램 계층 유지-살아 있는 메시지를 포함하도록 응용 프로그램을 수정할 것을 제안했습니다. 안타깝게도 응용 프로그램을 변경하는 것은 옵션이 아닙니다. 응용 프로그램은 또한 SO_KEEPALIVE 소켓 옵션을 설정하지 않으므로 시스템을 전체 상태로 유지 라이브 타이머를 2 시간 기본값에서 9 분으로 변경해도 문제를 해결하지 못합니다.
해결책은 타사 TCP 계층 유지-살아 세그먼트입니다. 이 세그먼트는 응용 프로그램에서 나온 것처럼 보이는 TCP 계층 유지-살아 세그먼트입니다(모듈의 IP 주소를 소스 주소로 사용하고 응용 프로그램의 TCP 포트를 소스 포트로 사용) 원격 호스트의 IP 주소 및 포트로 전송됩니다. 방화벽은 이를 활동으로 기록하고 상태를 유지합니다.
내 3rd_party_keep_alive 도구의 설명과 예는 이 블로그 게시물에 너무 길어서 여기에서세부 정보를 찾을 수 있습니다.