2022년 6월 6일, IETF(인터넷 엔지니어링 태스크포스)는 HTTP/3용 RFC를 공식 발표했으며, 이는 하이퍼텍스트 전송 프로토콜(HTTP)의 세 번째 주요 버전입니다. HTTP/3는 항상 QUIC에서 실행되며(TCP/IP용 TCP가 아니라 QUIC가 대체), QUIC(Quick UDP Internet Connection)는 구글이 개발한 UDP 기반 저지연 인터넷 전송 계층 프로토콜입니다.
UDP 프로토콜
인터넷 프로토콜 세트는 사용자 데이터그램 프로토콜(UDP)이라 불리는 비연결 전송 프로토콜을 지원합니다. UDP는 애플리케이션을 연결을 구축하지 않고도 캡슐화된 IP 패킷을 전송할 수 있는 방법을 제공합니다. RFC 768은 UDP를 설명합니다.
인터넷의 전송 계층은 서로 보완하는 두 가지 주요 프로토콜을 가지고 있습니다. 연결된 것은 UDP로, 애플리케이션에 패킷 기능을 보내고 애플리케이션이 필요한 수준에서 자체 프로토콜을 설계할 수 있도록 하는 것 외에는 특별한 기능이 없습니다. 연결 지향은 TCP로, 거의 모든 것을 수행합니다.
UDP는 사용자 데이터그램 프로토콜(User Datagram Protocol)의 약자이며, 중국어 명칭은 사용자 데이터그램 프로토콜(User Datagram Protocol)입니다. 이 프로토콜은 OSI(Open System Interconnection) 참조 모델에서 무연결형 전송 계층 프로토콜로, 트랜잭션 지향적이고 단순하며 신뢰할 수 없는 정보 전송 서비스를 제공합니다. IETF RFC 768이 UDP의 공식 규격입니다. IP 패킷 내 UDP 프로토콜 수는 17입니다.
UDP 프로토콜은 TCP 프로토콜과 마찬가지로 패킷을 처리하는 데 사용되며, OSI 모델에서는 두 프로토콜 모두 IP 프로토콜 위의 전송 계층에 위치합니다. UDP는 패킷 패키징, 조립, 패킷 정렬을 제공하지 못한다는 단점이 있는데, 즉 패킷이 전송될 때 안전하고 완전하게 도착하는지 알 수 없습니다. UDP는 컴퓨터 간에 데이터를 전송해야 하는 웹 애플리케이션을 지원하는 데 사용됩니다. 많은 클라이언트/서버 모드 네트워크 애플리케이션, 특히 네트워크 영상 회의 시스템은 UDP 프로토콜의 사용을 요구합니다. UDP 프로토콜은 출시 이후 수년간 사용되어 왔으며, 초기 명성은 일부 유사 프로토콜에 가려졌지만, 오늘날에도 매우 실용적이고 실용적인 네트워크 전송 계층 프로토콜입니다.
많은 애플리케이션은 멀티미디어 데이터 스트리밍과 같은 UDP만 지원하며, 추가 데이터를 생성하지 않고, 패킷이 손상된 것을 알더라도 재전송하지 않습니다. 오디오 및 멀티미디어 애플리케이션과 같이 전송 무결성보다 전송 성능을 중시할 때는 UDP가 최선의 선택입니다. UDP는 데이터 전송 시간이 너무 짧아 이전 연결 프로세스가 전체 트래픽 체가 되는 경우에도 좋은 선택입니다.
UDP는 OSI 참조 모델의 연결성 전송 계층 프로토콜로, 주로 패킷 순서가 도착하지 않고, 패킷 전송 순서의 검사와 정렬은 애플리케이션 계층에서 수행하여 트랜잭션 지향의 단순하고 신뢰할 수 없는 정보 전송 서비스를 제공합니다. UDP 프로토콜은 기본적으로 IP 프로토콜과 부모 프로토콜 간의 인터페이스입니다. UDP 프로토콜은 동일한 장치에서 실행되는 여러 애플리케이션에 적용할 수 있습니다.
UDP는 연결 없는 통신을 제공하며 전송된 패킷의 신뢰성을 보장하지 않아 한 번에 소량의 데이터를 전송하는 데 적합하며, UDP 전송의 신뢰성은 애플리케이션 계층에 책임이 있습니다. 일반적으로 사용되는 UDP 포트 번호는 53(DNS), 69(TFTP), 161(SNMP)이며, UDP 프로토콜에는 TFTP, SNMP, NFS, DNS, BOOTP 등이 포함됩니다.
UDP 패킷은 신뢰성 보장, 순서 보장, 흐름 제어 필드가 없으며 신뢰할 수 없습니다. 하지만 UDP 프로토콜은 제어 옵션이 적고, 지연 시간이 낮으며, 데이터 전송 중 높은 데이터 전송 효율을 가지므로, 높은 신뢰성이 필요하지 않은 애플리케이션이나 DNS, TFTP, SNMP 등과 같이 신뢰성을 보장할 수 있는 애플리케이션에 적합합니다.
복습
먼저, 서비스가 UDP 리스너를 켭니다. 포트는 2017년입니다.클라이언트로부터 메시지를 받은 후, 메시지 앞에 "reply"라는 단어를 붙이고 클라이언트에게 답장을 달아요, 코드는 다음과 같습니다:
서버를 ECS에 배포한 후, 로컬 컴퓨터에서 UDP 클라이언트를 열고 다음 클라이언트 코드와 함께 서버에 메시지를 보냅니다:
(끝)
|