传输层-1、UDP协议

来源:互联网 发布:陈浩筹码分布源码公式 编辑:程序博客网 时间:2024/05/17 02:32

参考哈工大公开课。

UDP协议概述:

UDP是基于Internet的IP的,支持多路分用和多路复用,能够进行简单的错误校验。值得注意的是UDP协议是一种尽力而为”Best Effect”的服务,所以它接收到的Segment可能会丢失,也可能非按序到达;UDP也是种无连接的服务,UDP的发送方和接收方不需要握手(建立连接),且每个UDP段的处理独立于其他段。

 

UDP存在的理由

既然UDP这么不可靠,那么它存在的价值的什么呢?1、UDP无需建立连接,减少了延迟;2、实现简单,无需维护连接状态;3、头部开销少(UDP - 8个字节,TCP - 20个字节);4、没有拥塞控制,应用可以更好地控制发送时间和速率,(TCP有拥塞控制,它会根据网络的拥塞程度,控制数据发送时间和速率,用户无法控制这个过程)。

 

UDP主要用途:

UDP主要用于流媒体应用,这些应用可以容忍数据丢失却对速率敏感。除此之外,UDP也用于DNS和SNMP。

 

UDP的差错检测

UDP的差错检测是可以通过在应用层添加可靠的传输机制完成,也可以采用UDP校验和(checksum)完成。大致过程如下:

发送方:将段内容视为16-bit整数 à 计算校验和 à 发送方将校验和放入checksum字段。

接收方:计算所接收到的校验和 à 与checksum字段进行比较。

 

需要注意的是:计算的校验和与checksum不等:说明检测出错误;相等:没有检测出错误,但是数据不一定正确,只是没有检测出错误。

图一:UDP报文格式

原创粉丝点击