7.2用户数据报协议
2017-04-11 18:11:20 0 举报
AI智能生成
登录查看完整内容
用户数据报协议(UDP)是一种无连接的、不可靠的、基于数据报的传输层协议。它不需要建立和终止连接,也不保证数据的可靠性和顺序性,但具有较高的传输效率。由于其简单性和低延迟特性,UDP常用于实时应用,如语音通话、视频流和在线游戏等。然而,UDP不提供任何错误检测或重传机制,因此在某些情况下可能会导致数据丢失或损坏。总的来说,UDP适用于对实时性和效率要求较高的应用场景,但对于需要保证数据完整性和可靠性的应用,通常使用TCP协议。
作者其他创作
大纲/内容
7.2.1 UDP协议的主要特点
UDP协议是一种无连接的、不可靠的传输层协议
UDP协议在传输报文之前不需要在通信双方之间建立连接,因此减少了协议开销与传输延迟
UDP协议对报文除了提供一种可选的校验和之外,几乎没有提供其他的保证数据传输可靠性的措施
如果UDP协议检测出收到的分组出错,它就丢弃这个分组,既不确认,也不通知发送端和要求重传
UDP协议是一种面向报文的传输层协议
UDP协议对于应用程序提交的报文,在添加了UDP头部,构成一个TPDU之后就向下提交给IP层
UDP协议对应用程序提交的报文既不合并,也不拆分,而是保留原报文的长度与格式。接收端会将发送端提交传送的报文原封不动地提交给接收端应用程序。因此,在使用UDP协议时,应用程序必须选择合适长度的报文
如果应用程序提交的报文太短,则协议开销相对较大;如果应用程序提交的报文太长,则UDP协议向IP层提交的TPDU可能在IP层被分片,这样也会降低协议的效率
7.2.2 UDP协议报文格式
UDP报头主要字段
端口号
端口号字段包括源端口号与目的端口号,字段长度都为16位
长度
长度字段的长度也是16位,它定义了包括报头在内的用户数据报的总长度
校验和
UDP校验和是可选的,用来检验整个用户数据报、UDP报头与伪报头在传输中是否出现差错,这正反映出效率优先的思想
7.2用户数据报协议
7.2.3 UDP校验和的基本概念与计算示例
使用伪报头的目的
伪报头不是用户数据报的真正头部,只是在计算时临时加上去的
伪报头只在计算时起作用,它既不向低层传输,也不向高层传送
伪报头包括IP分组头的源IP地址(16位)、目的IP地址(16位)、协议字段(8位)与UDP字段(16位)
如果没有伪报头,校验的对象只是UDP报文,也能够判断UDP报文传输是否出错。但是设计者考虑,如果IP分组头出错,那么分组就有可能会传送到错误的主机,因此在UDP的校验和中增加了伪报头部分
伪报头结构
UDP校验和包括3个部分:伪报头,UDP报头,数据
7.2.4 UDP协议使用的范围
视频播放应用
视频播放程序对数据交付实时性要求较高,而对数据交付可靠性要求相对较低,UDP协议较为适用
简短的交互式应用
应用程序可以通过设置“定时器/重传机制”来处理由于IP数据分组丢失问题,而不需要选择有确认/重传的TCP协议,以提高系统的工作效率
多播与广播应用
UDP协议支持一对一、一对多与多对多的交互式通信,这点TCP协议是不支持的
0 条评论
回复 删除
下一页