프로그램이 종료 된 후 수신 TCP 포트를 정리하는 데 몇 분이 걸리는 이유는 무엇입니까?
27
TCP 포트에서 수신 대기중인 프로그램을 종료하면 시스템이 포트를 회수하여 다시 사용할 수있을 때까지 몇 분이 걸립니다. 나는이 현상에 대해 몇 가지 Q / A를 보았지만 설명은 없습니다. 왜 그런 일이 발생합니까, 왜 시스템이 포트를 바로 회수하지 않습니까? Windows 또는 Mac과 같은 다른 시스템에서도 발생합니까?
신뢰할 수있는 TCP 상태 다이어그램을 확인하면 TIME_WAIT가 소켓의 마지막 상태이며 일반적으로 최대 세그먼트 수명의 두 배인 2MSL 동안 지속됨을 알 수 있습니다. 스펙 (RFC793)은이를 2 분으로 표시하여 총 4 분을 제공합니다. 이를 통해 여전히 "비행 중"인 요청 및 응답을 처리하고 올바른 프로그램에 도달하거나 소켓이 TIME_WAIT에있는 경우 폐기 할 수있는 충분한 시간이 허용됩니다.