← 질문 목록
#348깊이 0

TCP TIME_WAIT 상태의 유지 시간은 어떻게 결정되는가?

네트워크

TCP TIME_WAIT 상태의 유지 시간은 네트워크 패킷의 최대 수명인 MSL의 두 배로 결정된다. MSL은 패킷 하나가 네트워크에 살아있을 수 있는 최대 시간이다.

  1. 1. 능동적 종료자에서 수동적 종료자로: 마지막 ACK 전송 후 TIME_WAIT 진입
  2. 2. 수동적 종료자에서 능동적 종료자로: ACK 유실 시 FIN 재전송 (최대 1 MSL)
  3. 3. 능동적 종료자에서 수동적 종료자로: 재전송받고 ACK 재전송 (최대 1 MSL)

도식처럼 네트워크에서 왕복 패킷이 완전히 소멸하는 데 최대 2MSL이 걸린다. 그래야 마지막 ACK가 사라지거나 상대가 재전송한 FIN에 응답한다.

표준 규격인 RFC 793은 MSL을 2분으로 정의하여 4분을 권장한다. 그러나 실제 현대 OS는 이 시간을 훨씬 짧게 조정하여 사용한다.

리눅스는 2MSL을 60초로 고정하여 구현했다. 윈도우는 설정값을 변경하여 30초에서 240초 사이로 지정하게 만든다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

TCP TIME_WAIT 상태의 유지 시간은 어떻게 결정되는가?