본문 바로가기

CS지식💪

TCP 3way handshake

TCP(전송 제어 프로토콜) : 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜

**TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 사전에 수립하는 과정을 의미한다.

 

즉, 연결하고자하는 두 장치 간의 논리적 접속을 성립하기 위해 사용하는 연결 확인 방식, 3번의 확인 과정을 거친다고 해서

3 way handshake라고 부른다.

 

// 절차 과정
Client > Server : TCP SYN
Server > Client : TCP SYN ACK
Client > Server : TCP ACK

위와 같은 과정이 일어난다.(port헷갈리지 말 것)

 

그림을 간단히 해석하자면, 

#1. client가 SYN(난수)를 server 측에 요청

#2. server seq port에 +1을 해서 ack port로 보낸다.

#3. client는 server측의 seq port(client의 연결을 확인)를 확인하고 그 값을 +1해서 ack port로 보낸다.

 

**난수를 사용하는 이유

전에 사용했던 패킷과 혼동하지 않기 위해서 사용한다.

 

**패킷

인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 합니다.

'CS지식💪' 카테고리의 다른 글

TCP / UDP  (0) 2023.04.17
cookie MaxAge, Expire 옵션  (0) 2023.04.04
useRef는 어디에 쓰이나  (0) 2023.04.04
HTTP -> Ajax -> Websocket  (0) 2023.04.01
position은 어떻게 사용할까  (0) 2023.03.30