UDP协议和RTP协议分析报告(关于VR设备)

UDP协议是User Datagram Protocol的简称,中文名是用户数据报协议,是一种无连接的传输层协议,提供简单不可靠的信息传送服务。在网络中它与TCP协议一样用于处理 UDP数据包。UDP不提供数据包分组、组装、不能对数据包进行排序,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。
RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。
一. UDP协议
1.1 UDP协议报头
1.1.1面向报文的UDP
送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。
接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。应用程序必须选择合适大小的报文。
1.1.2 UDP协议报文的组成
UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:UDP源端口号、目标端口号、数据报长度、校验值。
这里写图片描述
 源端口号:这是在源主机上运行进程所使用的端口,有16 位长,可以表示的端口号从0 到65535,当源主机是客户端时,此端口号为短暂端口号,为源主机上UDP软件随机生成。当源主机是服务端时,此端口号通常是熟知端口。
 目的端口号:这是在目的主机上运行的进程使用的端口号,长度是16 位,若目的主机是服务器端,那么此端口号通常是熟知端口,如果目的主机是客户端,那么此端口号通常是随机出来的短暂端口。服务器端发送报文的目的端口,通常是将客户端发送报文的源端口复制过来。
 总长度:长度为16位,它定义了用户数据报的总长度,首部加上数据,16 位可以定义的总长度是从0到65535字节,但是最小长度是8 字节,有首部没有数据。
 检验和:这个字段用来检验整个用户数据报(首部加上数据)出现的差错。UDP的校验和的计算和IP与ICMP校验和的计算不同,UDP 的校验和包括伪首部、UDP。
1.1.3 UDP协议的首部格式
用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段有8 个字节,由4个字段组成,每个字段都是两个字节。
这里写图片描述
 伪首部:在UDP伪首部中,包含32位源IP地址,32位目的IP地址,8位填充0,8位协议,16位UDP长度。通过伪首部的校验,UDP可以确定该数据报是不是发给本机的,通过首部协议字段,UDP可以确认有没有误传。伪首部并非UDP数据报中实际的有效成分。伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中提取的,既不向下传送也不向上递交,而仅仅是为计算校验和。
1.1.4 UDP的封装
在交给IP层之前,UDP给用户要发送的数据加上一个首部。IP层又给从UDP接收到的数据报加上一个首部。最后,网络接口层把数据报封装到一个帧里,再进行机器之间的传送。如图所示。帧的结构根据底层的网络技术来确定。通常网络帧结构包括一个附加的首部。
这里写图片描述
1.1.5 UDP校验和的计算(可忽略)
UDP检验和覆盖UDP首部和UDP数据。
UDP检验和的基本计算方法与IP首部检验和计算方法相类似(16b字的二进制反码和),但是它们之间存在不同的地方。
首先, UDP数据报的长度可以为奇数字节,但是检验和算法是把若干个16 bit字相加。解决方法是必要时在最后增加填充字节0,这只是为了检验和的计算(也就是说,可能增加的填充字节不被传送)。
其次, UDP数据报包含一个12字节长的伪首部,它是为了计算检验和而设置的。伪首部包含IP首部一些字段。其目的是让UDP两次检查数据是否已经正确到达目的地。
如果检验和的计算结果为0,则存入的值为全1,这在二进制反码计算中是等效的。如果传送的检验和为0,说明发送端没有计算检验和。
1.1.6 用于进程间通信的过程
(1) 接收数据主机A的应用程序要申请一个UDP端口,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值