본문 바로가기
개발/브라우저와 네트워크

TCP UDP

by 안뇽! 2024. 5. 14.
반응형

https://velog.io/@jjo3ys/2.3.2-%EC%A0%84%EC%86%A1%EA%B3%84%EC%B8%B5-tcp-udp-zbxef4i1

 

IP 프로토콜의 한계

IP 프로토콜은 아래 한계들이 있다.

  1. 비연결성: 서버에서 못받는 상황이어도 그냥 계속 보냄 (상어가 해저 케이블을 뜯어먹어서 물리적인 연결고리가 끊어져도 알 수 없음)
  2. 순서 보장이 안됨: 대용량 데이터를 전송하다보면 분할하여 보내게 되는데 중간과정에서 순서가 변경되어도 이를 알 수 없음
  3. 구분안됨: 같은 IP에서 여러 어플리케이션을 사용할 경우 구분 못함(ex: 멜론켜놓고 게임할때)

위 문제들을 해결 할 수 있는 프로토콜이 TCP 프로토콜이다.

TCP 프로토콜

전송 제어 프로토콜이다. 말부터가 전송을 제어한다고 한다.

출발지와 도착지의 port 와 더불어 전송제어, 순서, 검증등의 정보를 담고 있다.

 

다음 특징이 있다.

  1. 연결지향: 3way handshake로 상호간의 연결을 논리적으로 확인한 후에 데이터 전송
  2. 데이터 전달이 되는 것을 확인한다.
  3. 데이터가 올바른 순서로 전달되는 것을 확인한다.

3 way handshake

인프런 강의자료: https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

상호간에 syn, ack 주고받으면서 논리적으로 연결된것을 확인. (100% 보장은 아님. 그냥 논리적인 확인임)

 

3 way handshake를 통해 연결을 확인하고 데이터의 누락이나 순서를 확인할 수 있다.

 

UDP

쉽게 이야기하면 IP + Port라고 생각하면 된다.

3 way handshake도 없고 그냥 별 기능이 없다.

한 IP에서 여러 어플리케이션을 사용할 경우 각 어플리케이션을 구분할 수 있게 Port만 갖고 있다.

그래서 빠르다. 

 

이젠 대부분의 웹에서 TCP 연결을 하고 있어서 TCP를 바꾸는 것은 거의 불가능하다.

만약 TCP보다 더 최적화를 하고 싶다면 UDP에서 하면된다.

 

HTTP3 에서는 UDP기반의 연결로 최적화를 했다. (참고)


광고아님

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 | 김영한 - 인프런

김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연

www.inflearn.com

 

 

반응형

'개발 > 브라우저와 네트워크' 카테고리의 다른 글

HTTP - Stateless, 비연결성  (0) 2024.05.18
HTTP 서론  (0) 2024.05.18
IP: Internet Protocol  (0) 2024.05.14
브라우저에 url 치고 엔터누르면  (0) 2024.01.10
내가 보려고 적어두는 크로스브라우징  (0) 2023.12.23