hanker

[Network] UDP(User Datagram Protocol)란? 본문

Network

[Network] UDP(User Datagram Protocol)란?

hanker 2025. 5. 14. 19:43
반응형

전송 계층에서 사용되는 프로토콜인 TCP에 대해서 알아보자.

 


1. UDP (User Datagram Protocol)

 

UDP는 인터넷 프로토콜 스위트의 전송 계층 프로토콜로, 단순하고 빠른 데이터그램 방식의 전송을 제공하는 비연결 지향 프로토콜이다.

 

 

특징

 

1-1. 비연결성 (Connectionless)

  • 사전 연결 설정 없이 바로 데이터 전송 가능
  • 3-way handshake와 같은 과정이 없다.
  • 각 데이터그램은 독립적으로 전송된다.

1-2. 비신뢰성 전송

  • 확인 응답 없음: 수신 여부를 확인하지 않는다.
  • 재전송 없음: 패킷 손실 시 재전송하지 않는다.
  • 순서 보장 없음: 도착 순서가 바뀔 수 있다.
  • 오류 검출만 제공: 체크섬으로 오류만 검출하고 수정은 하지 않는다.

1-3. 빠른 전송 속도

  • 연결 설정/해제 과정이 없어 지연 시간이 짧다.
  • 헤더가 작아 오버헤드가 적다.
  • 흐름 제어나 혼잡 제어가 없어 빠른 전송 가능

1-4. 단순한 프로토콜

  • TCP보다 훨씬 간단한 구조를 가진다.
  • 최소한의 프로토콜 메커니즘만 제공한다.
  • 구현이 쉽고 리소스 사용량이 적다.

1-5. 데이터그램 방식

  • 메시지 경계를 유지한다.
  • 전체 메시지가 하나의 데이터그램으로 전송된다.
  • 수신 측에서도 메시지 단위로 처리된다.

 

구분장점단점

구분 장점 단점
전송 속도 - 매우 빠른 전송 속도
- 최소한의 지연 시간
- 연결 설정/해제 시간 없음
- 신뢰성 없는 전송
- 패킷 손실 가능
- 전송 보장 없음
오버헤드 - 작은 헤더 크기 (8바이트)
- 낮은 프로토콜 오버헤드
- 최소한의 처리 필요
- 오류 수정 기능 없음
- 재전송 메커니즘 없음
- 애플리케이션 레벨 처리 필요
연결 관리 - 연결 상태 유지 불필요
- 리소스 효율적
- 즉시 데이터 전송 가능
- 연결 상태 확인 불가
- 수신자 준비 상태 알 수 없음
- 연결 종료 확인 없음
실시간성 - 실시간 통신에 최적
- 지연 변동성 낮음
- 즉각적인 데이터 전달
- 품질 보장 없음
- 지터 제어 없음
- 패킷 순서 보장 없음
멀티캐스트 - 브로드캐스트/멀티캐스트 지원
- 1:N 통신 효율적
- 네트워크 대역폭 절약
- 수신 확인 불가
- 개별 전송 제어 어려움
- 신뢰성 보장 없음
구현 복잡도 - 단순한 프로토콜 구조
- 쉬운 구현
- 적은 코드량
- 애플리케이션 복잡도 증가
- 신뢰성 직접 구현 필요
- 오류 처리 로직 필요
리소스 사용 - CPU 사용량 낮음
- 메모리 사용량 적음
- 시스템 부하 낮음
- 패킷 손실로 인한 재전송
- 중복 데이터 처리 필요
- 버퍼 관리 복잡
적용 분야 - 스트리밍 서비스 적합
- 온라인 게임에 최적
- IoT 센서 통신
- DNS, DHCP 등 단순 서비스
- 파일 전송에 부적합
- 중요 데이터 전송 위험
- 트랜잭션 처리 부적절
- 보안 통신 제한적

 

 

 


2. UDP 헤더 구조

 

UDP 헤더 구조

 

 

  • Source Port (0-1 바이트)
    • 16비트, 송신 프로세스의 포트 번호
    • 범위: 0-65535
  • Destination Port (2-3 바이트)
    • 16비트, 수신 프로세스의 포트 번호
    • 범위: 0-65535
  • Length (4-5 바이트)
    • 16비트, UDP 헤더와 데이터를 포함한 전체 길이
    • 최소값: 8바이트 (헤더만 있는 경우)
  • Checksum (6-7 바이트)
    • 16비트, 오류 검출용
    • IPv4에서는 선택적, IPv6에서는 필수

 

 

3. UDP 사용 예

 

3-1. 실시간 애플리케이션

  • 음성/영상 통화: VoIP, 화상 회의
  • 라이브 스트리밍: YouTube 라이브, Twitch 등
  • 온라인 게임: FPS, MOBA 게임 등

3-2. 단순 요청-응답 서비스

  • DNS: 도메인 이름 조회
  • DHCP: IP 주소 할당
  • SNMP: 네트워크 관리
  • TFTP: 간단한 파일 전송

3-3. 브로드캐스트/멀티캐스트

  • 네트워크 탐색: 로컬 네트워크의 장치 검색
  • 시간 동기화: NTP
  • 멀티미디어 배포: IPTV

3-4. IoT 및 센서 네트워크

  • 센서 데이터 전송: 온도, 습도 등의 주기적 데이터
  • 텔레메트리: 원격 측정 데이터
  • 경량 통신: 제한된 리소스 환경

 

 

 

 

 

 

반응형