
컴퓨터 네트워크
TCP Four-Way TerminationTCP 4-way 종료
TCP 4-way 종료(Four-Way Termination)는 TCP 연결을 정상적으로 닫기 위한 4단계 절차다. 3-way 핸드셰이크와 달리 4단계가 필요한 이유는 TCP가 반이중(half-duplex) 독립 종료를 지원하기 때문이다. 각 방향의 연결을 독립적으로 닫을 수 있다.
동작 과정
상태 전이
| 상태 | 의미 |
|---|---|
| FIN_WAIT_1 | 종료 요청 전송 후 ACK 대기 |
| FIN_WAIT_2 | ACK 수신, 서버의 FIN 대기 |
| CLOSE_WAIT | 클라이언트 FIN 수신, 서버 데이터 전송 마무리 |
| LAST_ACK | 서버 FIN 전송 후 마지막 ACK 대기 |
| TIME_WAIT | 마지막 ACK 전송 후 2×MSL 대기 |
TIME_WAIT 상태
클라이언트는 마지막 ACK 전송 후 즉시 닫지 않고 2×MSL(Maximum Segment Lifetime) 동안 TIME_WAIT 상태를 유지한다. 목적은 두 가지다:
- 1.마지막 ACK가 손실될 경우 서버가 FIN을 재전송할 때 응답할 수 있도록 한다.
- 2.이전 연결의 지연 패킷이 새 연결에 혼입되는 것을 방지한다.
MSL은 보통 30초~2분이므로 TIME_WAIT는 최대 4분 지속될 수 있다.
Half-Close
관련 개념
- •TCP 3-way 핸드셰이크
- •네트워크 프로토콜 스택