UDP(User Datagram Protocol)

shjk·2025년 4월 2일

개요

1. 정의

UDP(User Datagram Protocol)비연결형(connectionless) 전송 계층 프로토콜로, 데이터를 데이터그램(datagram) 단위로 전송한다. 이는 TCP(Transmission Control Protocol)와는 달리 연결을 설정하지 않고 데이터를 송수신하는 방식이다.


2. 특징

  • 비연결형 (Connectionless)
    통신 전에 연결을 설정하지 않으며, 수신자의 응답 여부를 확인하지 않는다.

  • 비신뢰성 (Unreliable)
    패킷의 손실(loss), 중복(duplication), 순서 뒤바뀜(out-of-order)에 대한 보장을 하지 않는다.

  • 빠른 속도 (Low Latency)
    연결 설정 및 오류 제어 과정이 없으므로 전송 지연(latency)이 매우 낮다.

  • 헤더가 작음 (Lightweight)
    UDP 헤더는 8바이트로 TCP보다 훨씬 작아 오버헤드가 적다.


3. UDP 헤더 구조

UDP 헤더는 다음과 같은 필드들로 구성되며, 총 8바이트의 고정 크기를 가진다.

필드명크기(Bytes)설명
Source Port2송신자의 포트 번호
Destination Port2수신자의 포트 번호
Length2헤더 + 데이터 전체 길이
Checksum2오류 검출용 체크섬 (선택적 사용)

4. 사용 예시

UDP는 다음과 같은 실시간성이 중요한 응용에서 널리 사용된다.

  • VoIP (Voice over IP): 실시간 음성 통신
  • 실시간 스트리밍: 영상이나 오디오의 라이브 전송
  • 온라인 게임: 빠른 반응이 요구되는 게임 환경
  • DNS (Domain Name System): 빠른 질의 응답이 중요한 시스템

5. 비교: TCP vs UDP

항목TCPUDP
연결 방식연결형 (Connection-Oriented)비연결형 (Connectionless)
신뢰성보장 (재전송, 순서, 흐름 제어 포함)비보장 (손실, 순서 뒤바뀔 수 있음)
속도느림빠름
헤더 크기최소 20바이트8바이트
사용 예시웹, 이메일, 파일 전송스트리밍, 게임, DNS 등

6. 수식적 표현

UDP에서는 다음과 같이 데이터그램 단위로 전송이 이루어진다.

UDP Datagram=UDP Header+Data Payload\text{UDP Datagram} = \text{UDP Header} + \text{Data Payload}
Total Length=8bytes+Data Length\text{Total Length} = 8\,\text{bytes} + \text{Data Length}

7. 정리

UDP는 신뢰성을 포기하고 속도와 단순성을 추구하는 프로토콜로, 오류 복구보다 빠른 전송이 중요한 경우에 적합하다. 응용 수준에서 신뢰성을 자체적으로 구현할 수 있으며, 네트워크 부하를 최소화하면서도 빠른 데이터 전달이 가능하다는 장점이 있다.

profile
백엔드 개발자

0개의 댓글