UDP 프로토콜

김명주·2025년 1월 4일

UDP란?

UDP(User Datagram Protocol)는 전송 계층에서 동작하는 비연결형 프로토콜이다.
TCP와 달리 연결 설정 과정 없이 데이터를 빠르게 전송할 수 있어 실시간 애플리케이션에서 주로 사용된다.
UDP는 낮은 오버헤드, 빠른 전송 속도, 신뢰성 보장 없는 데이터 전송이 가능하다는 특징이 있다. 데이터 유실이 발생한 경우에는 네트워크 프로토콜 레벨에서 제어하는 것이 아닌 더 상위 레벨에서 제어한다.

UDP 헤더

UDP 헤더 구조

UDP헤더는 간단하지만 효율적인 구조로 이루어져 있으며 총 4개의 필드로 구성된다. 각 필드는 2바이트(16비트)씩 차지하여 전체 UDP 헤더의 크기는 8바이트이다. 다음은 UDP 헤더의 각 필드에 대한 설명이다.

  • 출발지 포트 (Source Port) : 데이터를 전송하는 애플리케이션의 포트 번호. 2바이트 크기로 0~65535 사이의 값을 가진다.
  • 목적지 포트 (Destination Port) : 데이터를 수신할 애플리케이션의 포트 번호. 마찬가지로 2바이트 크기이며 0~65535 사이의 값을 가진다.
  • 길이 (Length) : UDP 헤더와 데이터를 포함한 전체 UDP 데이터그램의 길이를 바이트 단위로 나타낸다. 최소값은 헤더만 있을 경우의 8바이트이다.
  • 체크섬 (Checksum) : 데이터 무결성을 검증하기 위한 오류 검출 코드. UDP에서는 선택적 필드이지만, 대부분의 구현에서 사용된다.

비교적 간단한 헤더구조는 UDP가 빠른 데이터 전송을 가능하게 하는 주요 요인이다. TCP와 비교했을 때 훨씬 적은 오버헤드를 가지고 있어 실시간성이 중요한 애플리케이션에서 선호된다.

TCP 프로토콜과의 차이

특성TCPUDP
연결 방식연결 지향적비연결 지향적
신뢰성높음(데이터 손실 복구)낮음(데이터 손실 가능)
전송 순서보장됨보장되지 않음
속도상대적으로 느림빠름
오버헤드높음낮음
헤더 크기20-60바이트8바이트
흐름 제어있음없음
혼잡 제어있음없음
주요 사용 사례웹 브라우징, 파일 전송실시간 스트리밍, 온라인 게임

TCP는 신뢰성 있는 데이터 전송을 제공하지만, 그 대가로 속도와 효율성 면에서 UDP보다 뒤떨어진다. 반면 UDP는 빠른 전송 속도를 제공하지만 데이터의 신뢰성과 순서를 보장하지 않는다.

profile
개발자를 향해 달리는 사람

0개의 댓글