<aside> 👌🏻 3 Way-Handshake 란, 전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식입니다.

</aside>

Untitled

Step 1.

최초에 클라이언트는 통신을 할 서버에게 SYN패킷을 보내고, 클라이언트는 응답을 기다리는 SYN_SENT상태가 됩니다.

Step 2.

SYN패킷을 받은 서버는 다시 클라이언트에게 SYN패킷을 받았으며 동기화를 인정한다는 의미로 ACK패킷과, 양방향 통신이기 때문에 서버측에서도 SYN을 보내고, 서버는 SYN_RECEIVED상태가 됩니다.

Step 3.

마지막으로 클라이언트는 서버의 동기화요청에대해 인정한다는 의미로 ACK패킷를 서버에게 보냅니다. 클라이언트는 ACK패킷을 받는 시점에서 (Connection)ESTABLISHED 상태가 되고, 서버는 클라이언트가 보낸 ACK를 받는 시점에 (Connection)ESTABLISHED 상태가 됩니다.

(SYN : synchronize sequence numbers, ACK : acknowledgment)