锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Darwin服务器 / Darwin概念之Reliable UDP
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

Reliable UDP


Reliable UDP(可靠的UDP)是一套服务品质的增强,比如拥挤控制调整,数据重传,薄化服务器算法等,这些增强可以提高服务器在数据包丢失和网络拥挤的条件下向RTP客户表现品质良好的RTP流的能力。Reliable UDP’的拥挤控制机制使系统在没有影响协议的实时本质的情况下,在行为上具备TCP协议的友好方式。

为了在英特网上处理好TCP网络流量,Reliable UDP使用数据重传和拥挤控制算法,与TCP协议采取的算法类似。另外,这些算法是经过时间考验的,可以很好地利用现有带宽。

Relibable UDP包括如下特性:

  • 客户端对服务器发出的数据包进行回应
  • 对窗口缓冲和拥挤进行控制,使服务器不超过当前可用的带宽。
  • 发生丢包时,服务器向客户重新发送数据
  • 比实时流更快的缓冲机制,称为“overbuffering”

客户端是否使用Reliable UDP取决于客户端发出的RTSP SETUP请求中的内容。

这个部分包括如下内容:

应答包

RTSP协商

应答包

在使用Reliable UDP时,服务器期望收到与自己发出的每个RTP数据包相对应的应答包。如果服务器没有收到应答,则可能会重新发送相应的数据包。客户并不需要为其收到的每一个RTP数据包发送应答包,而是可以将几个数据包的应答进行合并,并通过一个应答包一起发送给服务器。

Reliable UDP应答包在格式上是一种RTCP APP数据包。在标准的RTCP APP报头之后,应答包的有效负荷由RTP序列号以及紧跟其后的可变长度的位掩码组成。序列号标识客户端正在应答的首个RTP数据包,此外的每个被应答的RTP数据包都由位掩码中设置的一个位来表示。位掩码是相对于指定序列号的偏移量,掩码中的第一个字节高位表示比指定序列号大1的数据包,第二个位表示比指定数据包大2的数据包,以此类推。位掩码必须以多个four octets的方式发送。在掩码中将某个位设置为0,简单地表示目前客户端不希望应答这个序列号的数据包,并不意味着否定的应答。

图 2-13显示的是Reliable UDP应答包的格式。

图 1-13 Reliable UDP的应答包格式
Reliable UDP acknowledgment packet format

RTSP协商

是否使用Reliable UDP通过RTSP的带外协商来确定。如果客户端希望使用Reliable UDP,则应该在其RTSP SETUP请求中包含一个x-Retransmit报头。报头的主体中含有传输协议的名称(our-retransmit),其后紧跟的是一个参数列表,以分号分隔。

目前,有一个参数可以从客户端传到服务器端:即window参数。如果包含这个参数,则window参数会告诉Reliable UDP服务器客户窗口的尺寸,以KB计。

下面是一个实例:

x-Retransmit: our-retransmit;window=128 

 

服务器必须回应报头及所有参数。如果在SETUP响应中没有x-Retransmit报头,则客户端必须假定当前这个流不使用Reliable UDP。如果服务器改变可参数值,则客户必须使用新的值。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内