본문 바로가기
정보보안기사&CISSP관련/Network Security

[Day 118] TCP 연결 종료과정(4-Way Handshake)

by minimalist_2022 2020. 12. 6.

TCP 4-Way Handshake

 

1단계 

  • 클라이언트가 서버에서 FIN+ACK를 보내고 대기(<FIN_WAIT_1>)


2단계 

  • 서버는 FIN+ACK에 대한 ACK를 보낸 후, 해당 어플리케이션에서 TCP 연결 종료를 할 때까지 대기(<CLOSE_WAIT>)
  • 클라이언트는 ACK를 받고 FIN ACK를 받을 때까지 대기(<FIN_WAIT_2>)

 

3단계 

  • 서버는 해당 애플리케이션에서 TCP 연결 종료되면 클라이언트에게 FIN+ACK를 보냄(<LAST_ACK>)

 

4단계 

  • 클라이언트는 FIN ACK 수신 후 마지막 ACK를 보내고 2MSL시간동안 대기(<TIME_WAIT>)
  • 서버는 마지막 ACK 수신 후, 연결 종료(<CLOSED>)
  • 클라이언트는 2 MSL(Maximum Segment Lifetime) 경과 후 연결 종료(<CLOSED>)
    • 만약 서버가 마지막 ACK를 수신 못했다면 FIN+ACK 재전송이 발생할거고 이를 처리해줘야 하니까 대기하는 것
    • 1~4분 정도