Skip to content

UDP

UDP协议

UDP是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。

UDP特点

  • 面向无连接的,即发送数据前不需要建立连接
  • 尽最大努力交付,即不保证可靠交付
  • UDP是面向报文的。发送方的 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。接收方也是,在去到首部后就直接提交给上层。所以UDP对报文的长度设置合适大小是很重要的。
  • UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低
  • UDP 支持一对一、一对多、多对一和多对多的交互通信
  • UDP首部开销小

UDP的首部格式

  • 源端口
  • 目的端口
  • 长度
  • 检验和

UDP校验

在计算校验和的时候,需要在UDP数据报之前增加12字节的伪首部,伪首部并不是UDP真正的首部。只是在计算校验和,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。校验和就是按照这个临时的UDP数据报计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。这样的校验和,既检查了UDP数据报,又对IP数据报的源IP地址和目的IP地址进行了检验。

UDP校验和的计算方法和IP数据报首部校验和的计算方法相似,都使用二进制反码运算求和再取反,但不同的是:IP数据报的校验和之检验IP数据报和首部,但UDP的校验和是把首部和数据部分一起校验。