TCP 3-way Handshake
TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미
SYN(Synchronize): 접속 요청
ACK: 요청 수락
연결 과정
- 클라이언트에서 SYN(클라이언트의 연결 요청) 이라는 메시지를 보냄
- 서버에서 SYN을 받고 ACK라는 메시지 + SYN(서버의 연결 요청) 를 보냄
- 클라이언트에서 ACK를 서버로 보냄
-> 연결 수립
이런 연결 과정을 거치는 3-way handshaking을 하면 클라이언트도 서버를 믿을 수 있고, 서버도 클라이언트를 믿을 수 있다
이때 연결은 물리적인 진짜 연결이 아니라 논리적인 가상 연결이다
그러니까, 실제 연결이 보장되는 것은 아니라서 데이터 전달이 보증되지 않음