본문 바로가기
카테고리 없음

[ComputerScience] UDP 통신 방법 및 특징

by 마라민초닭발로제 2024. 2. 26.

UDP는 어떻게 작동할까요?

모든 네트워킹 프로토콜과 마찬가지로 UDP는 네트워크의 두 컴퓨터 간에 데이터를 전송하기 위한 표준화된 방법입니다. 다른 프로토콜과 비교하여 UDP는 먼저 연결을 설정하거나, 해당 패킷의 순서를 표시하거나, 의도한 대로 도착했는지 여부를 확인하지 않고 패킷(데이터 전송 단위)을 대상 컴퓨터로 직접 보내는 간단한 방식으로 이 프로세스를 수행합니다. (UDP 패킷을 '데이터그램'이라고 합니다.)

 

UDP 특징

 

 전송되는 데이터와 시기를 애플리케이션 수준에서 보다 세밀하게 제어할 수 있습니다.( Finer application-level control over what data is sent, and when.) UDP에서는 애플리케이션 프로세스가 데이터를 UDP로 전달하는 즉시 UDP 세그먼트 내부에 데이터를 패키징하고 즉시 네트워크 계층으로 세그먼트를 전달합니다. 반면 TCP에는 소스 호스트와 대상 호스트 사이의 하나 이상의 링크가 과도하게 혼잡해지면 전송 계층 TCP 발신자를 스로틀하는 혼잡 제어 메커니즘이 있습니다. 또한 TCP는 안정적인 전송에 걸리는 시간에 관계없이 대상에서 세그먼트의 수신을 확인할 때까지 세그먼트를 계속 재전송합니다. 실시간 애플리케이션은 최소 전송 속도가 필요하고, 세그먼트 전송을 지나치게 지연시키고 싶지 않으며, 약간의 데이터 손실을 용인할 수 있는 경우가 많으므로 TCP의 서비스 모델은 이러한 애플리케이션의 요구사항에 특별히 잘 맞지 않습니다. 아래에서 설명하는 것처럼 이러한 애플리케이션은 UDP를 사용할 수 있으며, 애플리케이션의 일부로 UDP의 간편한 세그먼트 전송 서비스 외에 필요한 추가 기능을 구현할 수 있습니다.

 

(No connection establishment) 연결 설정이 없습니다. 나중에 설명하겠지만, TCP는 데이터 전송을 시작하기 전에 3자 핸드셰이크를 사용합니다. UDP는 공식적인 사전 준비 과정 없이 바로 전송합니다. 따라서 UDP는 연결을 설정하는 데 지연이 발생하지 않습니다. 이것이 아마도 DNS가 TCP를 통해 실행되는 것보다 DNS가 TCP를 통해 실행되면 훨씬 느려질 것입니다. 따라서 UDP는 연결 설정에 지연이 발생하지 않습니다. 텍스트가 포함된 웹 페이지의 경우 안정성이 중요하기 때문에 DNS가 TCP-DNS가 아닌 UDP를 통해 실행되는 주된 이유는 HTTP가 UDP가 아닌 TCP를 사용하기 때문일 것입니다. 그러나 2.2절에서 간략하게 설명한 것처럼 HTTP의 TCP 연결 설정 지연은 웹 문서 다운로드와 관련된 지연의 중요한 원인입니다. 실제로 Google의 Chrome 브라우저에서 사용되는 QUIC 프로토콜(빠른 UDP 인터넷 연결, [Iyengar 2015])은 기본 전송 프로토콜로 UDP를 사용하며, UDP 위에 애플리케이션 계층 프로토콜에서 안정성을 구현합니다.TCP를 통해 실행되는 경우 훨씬 느립니다.

 

( No connection state.) TCP는 최종 시스템에서 연결 상태를 유지합니다. 이 연결 상태에는 수신 및 전송 버퍼, 혼잡 제어 매개변수, 시퀀스 및 승인 번호 매개변수가 포함됩니다. 이러한 상태 정보는 TCP의 안정적인 데이터 전송 서비스를 구현하고 혼잡 제어를 제공하기 위해 필요하다는 것을 섹션 3.5에서 살펴보겠습니다. 반면 UDP는 연결 상태를 유지하지 않으며 이러한 파라미터를 추적하지 않습니다. 이러한 이유로 특정 애플리케이션 전용 서버는 일반적으로 애플리케이션이 TCP가 아닌 UDP를 통해 실행될 때 더 많은 활성 클라이언트를 지원할 수 있습니다.

 

(Small packet header overhead.) The TCP segment has 20 bytes of header overhead in every segment, whereas UDP has only 8 bytes of overhead

 

 

참고 자료

DeepL

https://www.cloudflare.com/ko-kr/learning/ddos/glossary/user-datagram-protocol-udp/

Computer Networking A Top-Down Approach 7th