HTTP

TCP, UDP

느리지만 꾸준하게 2022. 4. 6. 23:48

Ethernet frame - LAN 카드에 기록된 MAC주소

IP 계층밖에 TCP가 감싸고 있고 IP패킷이 그 다음으로 감싸고 있는 형태

패킷 = 패키지(수하물) + 버킷(덩어리) => 택배박스를 보내듯이 데이터를 보내는 방식

 

TCP 특징

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결지향 - TCP 3 way handshake(가상 연결) => 나랑 상대방이랑 연결을 한 후에 메세지를 보낸다.
  • 전송도중 패킷이 누락된 것을 감지 - 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 대부분 TCP 사용

 

 

1. SYN(Synchronous syn 메세지 전달)

2. SYN(서버도 클라이언트 한테 연결 요청) + ACK(응답)

3. 클라이언트도 서버에게 ACK(응답) - 서로간의 신뢰 => 데이터 전송도 같이 일어남

기본적으로 클라이언트에서 서버로 데이터가 잘못 전송되면 다시 보내라는 메세지를 전달한다. (순서가 보장이 된다.)

 

 

 

이 그림을 기억하고 UDP의 특징을 살펴보자.

 

 

 

 

 

UDP의 특징

사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 하얀 도화지에 비유 (기능이 거의 없다)
  • 연결지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 빠르고 단순함

정리

  • IP와 거의 비슷하다. + PORT(하나의 애플리케이션에서 여러 애플리케이션이 돌때 내 IP로 여러 패킷이 오는데 패킷을 구분할 때 쓰임)
  • +체크섬이 추가(데이터에 대해서 검증하는 역할)
  • 애플리케이션에서 추가 작업 필요

위 과정을 통해서 TCP 핸드쉐이크는 전송속도도 느릴 수 있고 진행과정에 시간이 많이 걸릴 수 있다고 생각할 수 있다.

 

 

 

 

UDP가 각광을 받는 이유

웹브라우저에서 http 통신을 할 때 http3가 syn /  syn+ack /  ack과정을 줄여보자 해서 UDP 프로토콜이 쓰이게 됨

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<출처 김영한: 모든 개발자를 위한 HTTP 웹 기본 지식 >

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/lecture/61354?tab=curriculum&volume=0.90&quality=1080&speed=1.5&q=190067 

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 학습 페이지

지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....

www.inflearn.com

 

'HTTP' 카테고리의 다른 글

HTTP 기본 & 클라이언트 서버 구조  (0) 2022.04.07
웹 브라우저 요청 흐름  (0) 2022.04.07
URI(Uniform Resource Identifier)  (0) 2022.04.07
PORT & DNS  (0) 2022.04.07
IP(인터넷 프로토콜)  (0) 2022.04.06