내 잡다한 노트
TIME_WAIT 상태 본문
TIME_WAIT 상태는 TCP 연결이 정상적으로 종료되는 과정에서 나타나는 상태로, 특정 측에서 연결을 종료한 뒤 발생합니다.
TIME_WAIT 상태의 역할
- TCP 연결 종료 과정 (4-Way Handshake)
TCP 연결 종료는 4단계로 이루어집니다:- 한쪽(주로 클라이언트)이 FIN 패킷을 전송해 연결을 닫으려 요청합니다.
- 다른 쪽(주로 서버)이 ACK로 응답합니다.
- 다른 쪽이 FIN을 보내고, 원래 요청자가 이를 ACK로 확인합니다.
- 이 과정이 완료되면 연결이 닫힙니다.
- TIME_WAIT 상태 발생 조건
- TIME_WAIT는 FIN을 먼저 보낸 쪽에서 발생합니다.
- 이는 클라이언트나 서버 어느 쪽이든 될 수 있습니다.
- TIME_WAIT 상태의 목적
- 유실된 패킷 방지: FIN 또는 최종 ACK 패킷이 손실되었을 경우를 대비하여, 연결 상태를 잠시 유지해 재전송이 가능하도록 합니다.
- 포트 재사용 방지: 동일한 포트 번호로 새로운 연결을 시작할 때 충돌을 방지합니다.
클라이언트와 서버에서의 TIME_WAIT
- 클라이언트에서의 TIME_WAIT
- 클라이언트는 일반적으로 연결을 닫는 주체이므로 TIME_WAIT 상태가 자주 나타납니다.
- 예: 웹 브라우저가 서버에 HTTP 요청을 보내고, 응답을 받은 후 연결을 종료할 때.
- 서버에서의 TIME_WAIT
- 서버에서도 특정 상황에서 TIME_WAIT 상태가 발생할 수 있습니다:
- 서버가 먼저 연결을 닫는 경우.
- 클라이언트가 비정상적으로 연결을 닫아 서버가 닫기를 처리하는 경우.
- 서버에서도 특정 상황에서 TIME_WAIT 상태가 발생할 수 있습니다:
'네트워크' 카테고리의 다른 글
DMZ 란? (0) | 2025.01.14 |
---|---|
Subnet Mask 란? (0) | 2025.01.13 |
WAN 이중화 하는 방법 (0) | 2025.01.04 |
Bypass 기능이란? (0) | 2025.01.04 |
Overlay의 정의 (0) | 2025.01.02 |