Network - TCP(3 way handshake & 4 way handshake)

김준영·2023년 2월 9일
0

CS공부

목록 보기
13/20

3 way handshake & 4 way handshake란?


  • TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3 way handshake를 사용
  • 4 way handshake는 세션을 종료하기 위해 수행되는 절차

즉, 연결을 성립하고 해제하는 과정을 말한다.

3 way handshake


  1. 클라이언트가 서버에게 SYN 패킷을 보냄
  2. 서버가 SYN(x)을 받고, 클라이언트로 받았다는 신호인 ACK와 SYN 패킷을 보냄
  3. 클라이언트는 서버의 응답은 ACK(x+1)와 SYN(y) 패킷을 받고, ACK(y+1)를 서버로 보냄

4 way handshake

  1. 클라이언트는 서버에게 연결을 종료한다는 FIN 플래그를 보낸다.
  2. 서버는 FIN을 받고, 확인했다는 ACK를 클라이언트에게 보낸다. (이때 모든 데이터를 보내기 위해 CLOSE_WAIT 상태가 된다)
  3. 데이터를 모두 보냈다면, 연결이 종료되었다는 FIN 플래그를 클라이언트에게 보낸다.
  4. 클라이언트는 FIN을 받고, 확인했다는 ACK를 서버에게 보낸다. (아직 서버로부터 받지 못한 데이터가 있을 수 있으므로 TIME_WAIT을 통해 기다린다.)
  • 서버는 ACK를 받은 이후 소켓을 닫는다 (Closed)
  • TIME_WAIT 시간이 끝나면 클라이언트도 닫는다 (Closed)

참조 : https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/TCP%203%20way%20handshake%20%26%204%20way%20handshake.md, https://bangu4.tistory.com/74

profile
ㅎㅎ

0개의 댓글