http-web-basic-2

인터넷 네트워크

  • TCP
  • UDP

인터넷 프로토콜 스택의 4계층

인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 모음

  • 어플리케이션 계층 : 프로세스간 통신을 담당. 예) HTTP, FTP, TLS/SSL
  • 전송 계층 : 송신자와 수신자를 연결하는 서비스에 대한 정보를 담당
  • 인터넷 계층 : 패킷을 목적지로 전송하기 위한 정보를 담당
  • 네트워크 인터페이스 계층 : LAN드라이버, LAN 장비등을 통해 물리적 전송을 담당

internet-protocol-4

프로토콜 계층

Protocol Layer

TCP

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

  • 연결지향 - TCP 3 way handshake (가상 연결) 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜 현재는 대부분 TCP 사용

TCP 3 way handshake

Tcp 3 Way Handshake

Data Transfer

tcp-1

Data Order

tcp-2

UDP

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

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

HTTP/3

퀵(QUIC; Quick UDP Internet Connection)로 UDP를 사용하여 인터넷 연결을 하는 프로토콜이다.

HTTP(Hyper Text Transfer Protocol)의 3번째 프로토콜이다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. 클라이언트인 웹 브라우저가 이 프로토콜을 통해 서버로부터 웹 페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 되고, 이 정보가 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP/3은 처음에는 HTTP-over-QUIC 이라는 이름을 가지고 있었다. 즉, QUIC 프로토콜 위에서 돌아가는 HTTP이다.

TCP vs UDP

  • TCP는 Connection 지향이며, UDP는 Connectionless 프로토콜이다.
  • TCP는 전송 된 정보의 확인을 위해 유용한 데이터를 전송할 때 높은 신뢰성을 제공한다. 그리고 손실 패킷이있는 경우이를 다시 보낸다. UDP의 경우 패킷이 손실되면 재전송을 요구하지 않고 대상 컴퓨터가 손상된 데이터를 수신한다. 따라서 UDP는 신뢰할 수 없는 프로토콜이다.
  • TCP는 데이터를 전송하기 전에 TCP가 연결을 설정하고 패킷의 적절한 전달을 보장하므로 UDP와 비교할 때 속도가 느리다. 반면에 UDP는 전송 된 데이터가 수신되었는지 여부를 확인하지 않는다.
  • UDP의 헤더 크기는 8 바이트이며 TCP의 헤더 크기는 두 배 이상이다. TCP 헤더 크기는 20 바이트이므로 TCP 헤더에는 옵션, 채우기, 체크섬, 플래그, 데이터 오프셋, 확인 번호, 시퀀스 번호, 원본 및 대상 포트 등이 포함된다.
  • TCP와 UDP는 모두 오류를 검사 할 수 있지만 TCP만이 정체와 흐름 제어를 모두 가지고 있으므로 오류를 수정할 수 있다.
비교 TCP UDP
의미 TCP는 데이터를 전송하기 전에 컴퓨터간에 연결을 설정합니다. UDP는 시스템이 수신 준비가되었는지 여부를 확인하지 않고 대상 컴퓨터에 직접 데이터를 보냅니다.
확장 대상 전송 제어 프로토콜 사용자 데이터 그램 프로토콜
연결 타입 연결 지향 연결이 적음
속도 느린 빠른
신뢰할 수 있음 높은 신뢰성 신뢰할 수 없는
헤더 크기 20 바이트 8 바이트
승인 사용자의 요청이있을 경우 데이터 확인 및 전송 재전송 기능이 있습니다. 수신 확인도 걸리지도 않고 손실 된 데이터를 다시 전송하지도 않습니다.

참고자료