4 Way Handshake는 TCP 연결 종료 과정에서 사용되는 절차를 말한다.
TCP 연결을 종료할 때 양쪽이 각각 연결 종료를 확인해야 하기 때문에 4단계 절차가 필요하다.
📌 4 Way Handshake 과정
(1) FIN -> 연결 종료 요청 ( Client -> Server )
- 클라이언트가 더 이상 데이터를 보낼 필요가 없으면 FIN 플래그를 설정하여 서버에게 보낸다.
- 클라는 더 이상 데이터를 보내지 않고, 서버의 응답을 기다리고 있는 상태
(2) ACK -> 종료 요청 확인 ( Server -> Client )
- 서버는 클라이언트의 FIN을 받았다는 것을 확인한 후 ACK(응답) 패킷을 보낸다.
- 아직 서버는 데이터를 더 보낼 수 있는 상태
(3) FIN -> 서버도 연결 종료 요청 ( Server -> Client )
- 서버도 모든 데이터를 보낸 후, 클라이언트에게 FIN 패킷을 보내면서 연결 종료 요청을 한다.
- 이제 서버도 더 이상 데이터를 보낼 필요가 없으므로 종료 절차를 시작한다.
(4) ACK -> 연결 종료 확인 ( Client -> Server )
- 클라이언트는 서버의 FIN 패킷을 받으면 ACK(확인 응답)을 보낸다.
- 이제 연결이 완전히 종료되고, 서버와 클라 모두 더 이상 데이터 전송을 하지 않는다.
📌 4 Way Handshake가 필요한 이유
TCP는 양방향 통신을 지원하기 때문에 양쪽이 각각 연결을 종료해야 한다.
- 3 Way Handshake는 한쪽이 요청을 보내면 상대방이 바로 응답하는 방식
- 4 Way Handshake는 두 개의 독립적인 FIN + ACK 과정이 필요하다.
'IT' 카테고리의 다른 글
[IT] TIME_WAIT (0) | 2025.04.09 |
---|---|
[IT] Sliding Window ( 슬라이딩 윈도우 ) (0) | 2025.04.08 |
[IT] 3 Way Handshake (0) | 2025.04.08 |
[IT] 운영체제 명령어 삽입 ( OS Command Injection ) (0) | 2025.04.01 |
[IT] 크로스사이트 스크립트 (0) | 2025.04.01 |