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

+ Recent posts