Computer Science

[CS] TCP 3-way handshake

jyc_ 2025. 1. 21. 14:46

정의

  • TCP/IP 네트워크에서 안정적이고 연결 지향적인 통신을 설정하기 위해 사용되는 절차.
  • 클라이언트와 서버 간 신뢰할 수 있는 연결을 설정하기 위해 세 개의 세그먼트를 교환하는 과정

과정

  1. 클라이언트가 서버에 연결을 요청하는 SYN 세그먼트를 모낸다. 이 세그먼트에는 Sequence Number와 Window Size 정보가 포함되어 있다.
  2. 서버는 클라이언트의 요충을 수락하고, SYN과 ACK 플래그가 설정된 세그먼트를 클라이언트에 보낸다. 이 세그먼트는 서버의 초기 순번과 클라이언트의 초기 순번에 대한 응답(ACK = 클라이언트의 초기 순번 + 1)을 포함한다.
  3. 클라이언트는 서버의 응답을 확인하고, ACK 플래그가 설정된 세그먼트를 서버에 보낸다. 이 세그먼트는 서버의 순번에 대한 응답(ACK = 서버의 초기 순번 + 1)을 포함한다.

위 절차를 통해 클라이언트와 서버 간 신뢰할 수 있는 연결이 설정되고, 데이터 전송이 시작될 수 있다.