Network - TCP 3-way Handshake, 4-Way Handshake

choko's avatar
Jun 29, 2024
Network - TCP 3-way Handshake, 4-Way Handshake
TCP 3-way handshake는 TCP의 접속, 4-way handshake는 TCP의 접속 해제 과정이다.
  • SYN: synchronize sequence number
  • ACK: acknowledgement
 

연결(3-way)

notion image
 
  1. 클라이언트는 서버에 접속을 요청하는 SYN 패킷(M)을 보낸다
  1. 서버는 클라이언트의 요청인 SYN(M)을 받고 클라이언트에게 요청을 수락한다는 ACK(M+1)과 SYN(N)이 설정된 패킷을 발송한다.
  1. 클라이언트는 서버의 수락 응답인 ACK(M+1)과 SYN(N)을 받고 ACK(N+1)을 서버에 보내면 연결이 성립된다.
 
 

해제(4-way)

notion image
 
  1. 클라이언트가 연결을 종료하겠다는 FIN 플래그를 전송
  1. 서버는 FIN을 받고, 알았다는 확인 메세지로 ACK를 보냄
    1. 서버는 통신을 끝내기 전 데이터를 모두 보낼 때까지 Time out이 됨
  1. 서버는 데이터를 모두 보내고 통신이 끝났으면 FIN 플래그를 전송
  1. 클라이언트는 FIN를 확인했다는 ACK를 보냄
  1. 클라이언트의 ACK 메세지를 받은 서버는 소켓 연결을 close 한다.
⇒ 해제는 서버가 아직 보낼 데이터가 남아있을 수 있기 때문에, 4(3+1) way이다.
Share article

Tom의 TIL 정리방