Tech Juny

TCP 3 Way Handshake 란? 본문

네트워크

TCP 3 Way Handshake 란?

태크주니 2024. 1. 22. 23:24

TCP 3 Way Handshake


01. 3 Way Handshake 

TCP 프로토콜로 통신하기 위해 데이터 전송 전 상호 연결을 수립하는 과정이다.

상대방과 논리적 세션을 맺는 시작점으로 해당 과정을 거친 후에 데이터들을 정상적으로 송수신하는 절차를 가진다.

즉, 데이터를 전송할 준비가 되었다는 것을 보장 및 데이터 전송 준비 확인하는 과정이며

3-Way Handshake 과정에서 정상적으로 세션이 맺어 지지 않으면 통신을 중단한다.

 

02. 3 Way Handshake 과정

3 Way Handshack

  1. Closed 
    • 아직 연결 시도 전 Client, Server의 상태
    • TCP 포트가 닫혀진 상태
  2. Listen
    • TCP 포트가 열려 있고 연결 요청 대기하는 상태
  3. Syn-Sent (Client)
    • Client가 Server에게 연결을 요청하는 SYN 패킷을 전송
    • 임의의 값 seq(100) 넘버를 함께 전송
  4. Syn-Receved (Server)
    • SYN 패킷을 받은 Server는 요청을 수락하게 되면 SYN+ACK 패킷을 전송하며 응답
    • 임의의 값 seq(200) 넘버 전달
    • 해당 패킷의 응답이라는 표시로 Client로부터 전달 받은 seq(100)+1을 한 ack(101) 넘버 전달
  5. Established (Client)
    • Server로부터 SYN+ACK 응답을 받아 Client는 연결이 수립된 상태
    • 다시 Server에게 ACK로 수립 완료 패킷 전달
    • 이전에 보낸 seq(100)+1을 하여 새로운 seq(101) 넘버 전달
    • 해당 패킷의 응답이라는 표시로 Server로부터 받은 seq(200)+1을 하여 ack(201) 넘버 전달
  6. Established (Server)
    • Client로부터 연결 수립이 되었다는 ACK 패킷을 전달받아 Server도 연결 수립 상태로 전환
    • Server와 Client가 Established 모드가 된 후 데이터 송수신이 이루어짐

 

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

TCP 프로토콜 이란?  (0) 2023.01.22
Ping / Traceroute / Tracert 란?  (0) 2023.01.08
ICMP 란?  (0) 2023.01.07
라우팅 이란?  (0) 2022.12.23
Unicast / Multicast / Broadcast 통신 방식 이란?  (0) 2022.12.21
Comments