用户数据报协议UDP


UDP(User Datagram Protocol)

  • UDP 是一个无连接的(connectionless)的传输层协议
  • UDP传输数据段,无须建立连接
  • UDP 在 RFC 768中描述
  • 很多C/S应用(如DNS),都使用UDP发送一个请求, 然后对方应答
  • 和IP很像,但是UDP可以使用源端口和目的端口,IP不可以

什么是无连接发送信息的一方只管发送,而接受者是否接受到不是发送方所关心的问题,不可靠服务


UDP数据段头

UDP数据段包括8byte的头部和数据两个部分

用户数据报协议UDP

  • 源端口(Source port)和目的端口(Destination port):非常重要的端口
  • 长度字段(UDP length):表示包括头部和数据总共有多少字节
  • 校验和(UDP checksum):可选,如果不计算校验和则该域置为0


UDP的特点:源端口和目的端口

端口(port)定义

用户数据报协议UDP

*端口(Free port):

  • 本地分配
  • 动态的随机端口


UDP校验和计算

  1. 把IP伪头部、UDP的段头和数据三个部分按照16位一行、16位一行排列起来
  2. 按列进行补码相加求和
  3. 相加的结果呢再拿来取短码作为最后的校验和

用户数据报协议UDP

IP伪头部

用户数据报协议UDP

特点:

  • 如果收方的校验和为全1,传输无错
  • 检错能力较弱,但简单快速
  • 使用协议地址,破坏了分层原则