3.3-无连接传输协议-UDP

UDP

基于Internet IP协议

  • 复用/分用
  • 简单的错误校验

“Best effort”服务(尽力而为)

  • 可能丢失
  • 可能非按序到达

无连接

  • UDP发送方和接收方之间不需要握手
  • 每个UDP段的处理独立于其他段

UDP为什么存在

  • 无需建立连接(减少延迟)
  • 实现简单:无需维护连接状态
  • 头部开销少
  • 没有拥塞控制:应用可以更好的控制发送的时间和速率

常用于流媒体应用

  • 容忍丢失
  • 速率敏感

UDP还用于

  • DNS(Domain Name System缩写DNS,Domain Name被译为域名)
  • SNMP

SNMP具有以下技术优点:

  • 基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。
  • 自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
  • 屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。
  • 简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。
  • 报文种类少,报文格式简单,方便解析,易于实现。
  • SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。

UDP上实现可靠数据传输

  • 在应用层增加可靠机制
  • 应用特定的错误恢复机制

image-UDP上实现可靠数据传输

UDP校验和(checksum)

检测UDP段在传输过程中是否发生错误(如位翻转)

发送方

  • 将段的内容视为16-bit整数
  • 校验和计算
    • 计算所有整数的二进制和
    • 最高进位和加在和的后面
    • 将得到的值按位取反,得到校验和
  • 发送方将校验和放入校验和字段

接收方

  • 计算收到段的校验和
  • 将其与校验和字段进行对比
    • 不相等:检测出错误
    • 相等:没有检测出错误(有可能有错误,例如多个错误相互抵消)

校验和计算示例

image-UDP校验和

posted @ 2020-03-22 14:15  Quaint  阅读(380)  评论(0编辑  收藏  举报
……