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 |