F5 용어집

사용자 데이터그램 프로토콜(UDP)

UDP(User Datagram Protocol)란 무엇인가요?

UDP는 User Datagram Protocol의 약자로, 인터넷에서 일반적으로 사용되는 전송 계층 프로토콜(4계층) 중 하나입니다. TCP와 마찬가지로 IP의 상위 계층 프로토콜로 작동합니다.

UDP 헤더에는 소스 및 대상 포트 번호가 포함되어 있어 포트로 지정된 통신이 가능합니다. TCP와 달리 UDP는 연결 없는 프로토콜입니다. 즉, 핸드셰이크 메커니즘을 통한 세션 설정이나 종료가 필요하지 않습니다. 흐름 제어, 오류 제어, 혼잡 제어와 같은 기능이 부족하고, 단방향으로 메시지를 보내는 메시지 지향 프로토콜로 작동합니다.

UDP는 신뢰성 메커니즘이 부족하기 때문에 통신 오류에 대한 허용 범위가 낮고, 신뢰성도 TCP만큼 높지 않습니다. 하지만 빠른 속도와 실시간 전송이 요구되는 통신에 더 적합합니다. 또한 UDP는 연결성이 없으므로 멀티캐스트 및 브로드캐스트 통신에 적합하며, 여러 수신자에게 동시에 데이터를 전송할 수 있습니다. UDP의 일반적인 응용 분야는 다음과 같습니다.

  • 도메인 이름 서버를 쿼리하기 위한 DNS
  • 자동 IP 주소 할당을 위한 DHCP
  • 네트워크 장치 관리를 위한 SNMP
  • UPnP 호환 장치를 위한 SSDP
  • 시간 동기화를 위한 NTP.

그러나 UDP는 단방향으로 패킷을 전송할 수 있기 때문에 DoS/DDoS 공격에서 오용되기 쉽습니다. 예를 들어, 여러 컴퓨터에서 대량의 UDP 패킷을 전송하여 네트워크를 마비시키는 UDP 플러드 공격이 있습니다. 또한 UDP를 통해 쿼리를 보내는 경우 응답에서 소스를 확인하지 않아 소스 IP 주소를 스푸핑하여 반사 공격을 수행하여 피해자를 표적으로 삼을 수 있습니다.