网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

用户数据报协议 – UDP

更新时间:2026年03月27日   作者:spoto   标签(Tag):

用户数据报协议(UDP)是一种基于互联网协议(IP)的传输层协议。它提供了一种快速、无连接且轻量级的进程间通信方式。由于UDP不保证数据的可靠传输、顺序或错误检测,因此它非常适合用于实时和需要精确处理时间的应用程序,比如视频流传输、DNS查询以及VoIP等场景。

UDP头部

UDP头部长度为8字节,之后是数据负载。该头部包含了传输过程中所需的所有重要信息。每个端口号字段的长度为16位,因此端口号的数值范围从0到65535,其中端口0是预留给特殊用途的。端口号用于识别和区分不同的用户请求或进程。

UDP头部领域/范围尺寸描述/说明源端口目标端口长度校验和
16位识别出发送方的端口号。
16位确定接收方的端口号。
16位指定了UDP头部和数据的总长度。
16位用于错误检测(在IPv4协议中为可选功能,而在IPv6协议中则是必需的)。

备注:与TCP不同,UDP中的校验和选项是可选的。它不提供错误检测或流量控制功能,而是依靠IP协议和ICMP协议来报告错误情况。而端口号则有助于区分不同的用户请求。

UDP的应用

在需要低延迟且可以接受偶尔出现数据包丢失的情况下,通常更倾向于使用UDP协议。

  • 由于域名查询的内容通常比较简短,需要快速得到回复,因此 DNS 使用 UDP 来进行快速的查询与响应。
  • DHCP利用UDP协议来动态地为设备分配IP地址,在此过程中会交换少量的控制信息。
  • VoIP使用UDP进行实时语音通信,因为UDP能够容忍一定程度的数据包丢失,但无法容忍延迟问题。
  • RIP利用UDP协议,在路由器之间高效地发送定期的路由更新信息。
  • NTP利用UDP协议来在网络之间同步系统时钟,同时最大限度地减少了所需的资源消耗。

UDP伪头部

为了提高校验和的准确性,UDP在计算校验和时使用了一种伪头部(该伪头部不会被传输)。

UDP伪头部
  • 包括IP头部中的部分内容,如源IP地址、目标IP地址、协议号以及UDP数据长度。
  • 确保数据包能够被正确地传输到正确的主机和协议端口上。
  • 在接收端,UDP会利用伪头部来验证校验和。如果校验和有效,那么数据包就会被接受。

在DDoS攻击中,UDP的使用方式

UDP洪水攻击是一种类型/类别分布式拒绝服务攻击(DDoS)这种攻击方式是指,攻击者发送大量攻击数据来进行攻击。用户数据报协议(UDP)通过UDP的无连接特性,将数据包发送到目标端口。

攻击过程:

  • 攻击者发送了大量的UDP数据包。伪造的IP地址随机分配到目标设备的各个端口上。
  • 该目标会检查这些端口上是否有正在运行的应用程序(通常没有)。
  • 它做出的回应是:ICMP“目标不可达”消息这些消息会过度占用自身的资源。

缓解措施:

  • 监控异常的高UDP流量情况。
  • 使用/运用速率限制, 防火墙,以及入侵防御系统(IPS).
  • 部署DDoS防护服务用于大规模攻击。

UDP与IP之间是如何交互的?

UDP是在互联网协议(IP)的基础上运行的,它使得应用程序之间能够相互通信。数据传输的过程如下:

  • 该应用程序会将相关数据以及目的地信息一起提供给UDP。
  • UDP在数据包中包含了其头部信息,其中包括源端口、目标端口、数据长度以及校验和。
  • UDP数据报会被传递到IP层,以便进行地址分配和路由处理。
  • IP协议会添加自己的头部信息,然后将数据包发送给目标主机。
  • 在接收端,UDP会去掉数据头的部分,然后将数据传递给目标应用程序。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料