본문 바로가기
🗂 Study/네트워크

TCP 3, 4 way handshake

by 뿌맘 2021. 6. 30.
반응형

TCP 3-way Handshake

TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3-way handshake를 사용합니다.

TCP 3-way handshake는 TCP/IP프로토콜을 이용해서 통신하는 응용프로그램이 데이터를 전송하기 전에 

정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미합니다.

 

TCP 3-way Handshaking 과정

  1. 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보냅니다.
  2. 서버가 SYN 요청을 받으면 클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고, 클라이언트가 다시 ACK로 응답하기를 기다립니다.
  3. 클라이언트는 서버에 ACK를 보내면 연결이 이루어지고 데이터가 오가게 됩니다.

이러한 방식으로 통신하는 것이 신뢰성 있는 연결을 맺어준다는 TCP의 3-way handshake의 방식입니다.

 

 TCP 4-way Handshake

3-way handshake는 TCP의 연결을 초기화 할 때 사용한다면, 4-way handshake는 세션을 종료하기 위해 수행되는 절차입니다.

 

TCP 4-way Handshaking 과정

  1. 클라이언트가 연결을 종료하겠다는 FIN 플래그를 서버로 전송합니다.
    (FIN : 세션의 종료를 알리며 더 이상 보낸 데이터가 없음을 표시)
  2. 서버는 FIN플래그를 정상적으로 받았다는 ACK를 클라이언트에게 전송하고, 자신의 통신이 끝날 때 까지 기다립니다.
  3. 연결을 종료할 준비가 되면, 연결해지를 위한 준비가 되었음을 알리기 위해 클라이언트에게 FIN 플래그를 전송합니다.
  4. 클라이언트는 해지준비를 알리는 ACK를 서버로 전송한 후, 일정 시간동안 TIME-WAIT 상태에 빠집니다.
  5. 클라이언트에게 ACK를 받은 서버는 소켓을 close하고, 두 TCP간의 세션이 종료됩니다.

참고

반응형

'🗂 Study > 네트워크' 카테고리의 다른 글

쿠키🍪 와 세션  (0) 2021.07.09
HTTP 메서드와 역할  (0) 2021.07.09
GET 방식과 POST 방식  (0) 2021.07.08
HTTP와 HTTPS의 차이점 + SSL Handshake  (0) 2021.06.30
OSI7계층과 그 존재 이유  (0) 2021.06.18

댓글