RTPRTCP流量控制算法-8精选文档_第1页
RTPRTCP流量控制算法-8精选文档_第2页
RTPRTCP流量控制算法-8精选文档_第3页
RTPRTCP流量控制算法-8精选文档_第4页
RTPRTCP流量控制算法-8精选文档_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RTPRTC流量控制算法Flow Control Algorithm for RTP/RTCPLIANG Hong-bo(Anhui Communications Technology Institute,Hefei230051,China)Abstract:On the base of research on RTP/RTCP,four flow control algorithm are proposed consisting: constant multiplicative increase and constant multiplicative decrease, constant a

2、dditive increase and constant multiplicative decrease, variable increase and constant decrease, and variable increase and variable decrease.目前, 视频会议、在线视频、 VOIP(Voice on IP) 、实时监控、实时报 警等网络实时业务非常广泛 , 这些环境需要数据在网络上进行实时传输。 随着用户的增加 , 带宽资源显得非常有限和十分紧张 , 网络拥塞时常出现。 对每个用户而言 , 因特网是一个公平的 ,不限制数据发送的网络。但如果用 户向因特网中发

3、送大量的数据 , 而不考虑网络传输能力的话 , 就会导致网 络拥塞 , 因而对用户数据流进行控制是必须的。目前,考虑到网络实时业务的广播特性和实时的特性 ,一般用UDP协议 作为其传输层协议。由于 UDP协议缺少拥塞控制机制,当大量的实时业务 进入网络时,网络可能产生严重的拥塞,给UDP增加流量控制成为当务之急 1-3 。而 RTP/RTCP(Real-time Transport Protocol/ Real-time Transport Control Protocol) 协议为网络实时业务提供了一种解决的方 法4-5由于RTP流的速度和编码方式可以反映媒体流的质量。用户一般不希 望媒体流

4、速度变化较快 ,所以要合理调节发送速度 , 减少流的抖动 ,提高平 稳性。1 RTP/RTCP 协议RTP/RTC协议是用于In ter net上针对多媒体数据流的一种传输协议。RTP/RTCF协议被定义为在一对一或一对多的传输情况下工作其目的是提 供时间信息和实现流同步。RTP/RTCF协议通常使用UDP来传送数据,但 RTP/RTCF协议也可以在TCP或其他协议之上工作。RTP/RTCF协议本身包括两部分:RTP数据传输协议和RTCP传输控制协 议。为了可靠、高效地传送实时数据,RTP和RTCP必须配合使用。通常RTCP 传输控制协议包的数量占所有传输量的5%。RTCF传输控制协议主要用于

5、周期的传送RTC电,监视RTP传输的服务质量 (Qos) 。1.1 RTP 协议RTP实时传输协议主要用于负载多媒体数据并通过包头时间参数的配置使其具有实时的特征。RTP协议的数据包格式4如图1所示。RTP报文格式中包括固定的 RTP报文头,可选用的作用标识(CSRC项) 和负载数据。如果RTP所依赖的底层协议对RTP报文的格式有所要求,RTP 报文的格式必须进行修改或重新定义。RTP报文中参数的意义如下:1) extension (X,1 bit, 扩展位): 若设置扩展位 , 在固定头部后将有一个头部扩展位,这在RFC1889有详细的定义。2) CSRC count (CC,4 bits,

6、CSRC数):包含 CSRC标示符的个数。3)marker (M,1 bit, 标记位 ): 在数据流中标记一些重大的事情 , 比如 帧边界。 也可以定义其他的标记位。 如果无标记位 , 可以通过改变 payload type 位的数目来设定标记位。4)payload type (PT,7 bits, 负载类型):定义了 RTP负载的格式,由 应用程序决定其含义。最初为视频和音频定义的映射集合在Internet-Draft draft-ietf-avt-profile中, 后又被 the AssignedNumbers RFC的后来版本中进行了扩展。RTP发送者可以在任何时候发送一个单独的RT

7、P负载类型,PT不是专为合成单独媒体流而设置的。5)sequence number(16 bits, 序列号 ): 每个发出数据包都有一个序 列号, 且是按 1 递增的。有时也被接受者用来检查包的丢失和修复包的顺 序。序列号的初始值是随机的 (不可预测的 ), 这使得对加密的纯文本的攻 击变得更加困难 ( 即使没有加密的文本 ), 因为数据包是通过翻译器进行传 输的。6)timestamp(32 bits, 时间戳):时间戳反映了 RTP包第一个字节的 直接抽样。时间戳为同步不同的媒体流提供采样时间用于重新建立原始音 频或视频的时序。另外它还可以帮助接收方确定数据到达时间的同步或抖 动。7)S

8、SRC(32 bits, 同步资源 ): 帮助接收方利用发送方生成的唯一的数值来区分多个同时的数据流。必须是一个严格的随机数。在同一个RTP报文中,没有两个同步资源具有相同的SSRC标识。8)CSRC( 作用标识 ):CC 给出了标识符的个数。如果有多于15个的贡献资源,只有15个可被标识。CSRC勺标识是利用贡献资源的SSRC标识,由混频器嵌入的就整个RTP所提供的应用类中,就一般情况所需要的功能来说,现有的 RTP数据包头是完善的。但是,为了与ALF设计协议一致,报文头部还可以 通过改变、增加参数实现优化或适应特殊应用。1.2 RTCP 协议RTCP是建立在在一个会议中需要周期地向每个参会

9、者传输控制包,运用的是数据包的分发机制。RTCP主要支持以下四种功能4:1)提供数据传输的质量反馈。是作为RTP传输协议的一部分,与其他传输协议的流和阻塞控制有关。反馈对自适应编码控制直接起作用 , 但 IP 组播经验表明 , 从发送者收到反馈对诊断发送错误是致关重要的。给所有 参加者发送接收反馈报告允许问题观察者估计那些问题是局部的 , 还是全 局的。反馈功能由RTCP发送者和接收者报告执行。2)RTCP带有称作规范名字(CNAME的RTP源持久传输层标识。如发现 冲突,或程序重新启动,既然SSRC标识可改变,接收者需要CNAM跟踪参加 者。接收者也需要CNAME与相关RTP连接中给定的几个

10、数据流联系3)用于控制RTCP包数量的数量用语。前两种功能要求所有参加者发 送包,因此,为了 RTP扩展到大规模数量,速率必须受到控制。让每个参加 者给其它参加者发送控制包 , 就大独立观察参加者数量。该数量用语计算 包发送的速率。4)传送最小连接控制信息 , 如参加者辨识。最可能用在 " 松散控制 " 连 接,那里参加者自由进入或离幵,没有成员控制或参数协调,RTCP充当通往 所有参加者的方便通道 ,但不必支持应用的所有控制通讯要求。在IP组播场合应用RTP时,前3个功能是必须的,推荐用于所有情形。类似于RTP数据包,每个RTCP包以固定部分幵始,紧接着的是可变长 结构元

11、素 , 但以一个 32 位边界结束。包含安排要求和固定部分中长度段 , 使RTCP包可堆叠,不需要插入任何分隔符将多个 RTCP包连接起来形成一个RTCP组合包,以低层协议用单一包发送出去。RTCP包主要包含五种类型4:1) SR: 发送报告 , 当前活动发送者发送、接收统计。2) RR: 接收报告 , 非活动发送者接收统计。3) SDES:源描述项,包括CNAME4) BYE: 表示结束。5) APP: 应用特定函数。其中最主要的报文是 SR和 RR通常SR报文占总RTCP包数量的25%,RR 报文占 75%。由于RTCP包含了含有已发送数据包的数量、丢失数据包的数量、传输间隔等统计资料。因

12、此 , 我们可以利用这些信息动态地改变传输速率 , 实 现流量控制或拥塞控制。2 RTP/RTCP流量控制算法本文介绍四种常用的流量控制算法 : 常数乘增长和常数乘减少 , 常数 加增长和常数乘减少 , 变常数增长和常数减少 , 变常数增长和变常数减少。2.1 常数乘增长和常数乘减少文献6 采用了乘增长和乘减少的方法进行流量控制 , 如公式 (1) 。(1)其中 ,currentRate 为当前的发送速率 ;packetLoss 为丢包率 , 可有RTCPfft文得出threshold为阈值,可以取值为0,0.5, 1, 1.5, 2, 2.5,3%;alpha 为乘减少因子 ,一般小于 1,

13、 文献6 设 alpha=0.9;beat 为乘增 加因子,文献6 设 beta=1.2 。该算法在一定程度上可以减少报文的拥塞 , 但是 , 当丢报率较小时 , 发 送速度的快速增加会导致网络的拥塞 , 以致发送速度的快速减少 , 容易导 致流的较大抖动 , 不能保证流的平稳性。2.2 常数加增长和常数乘减少为了保证每个流的公平性 , 自适应算法应该采用加增长和乘减少的策 略 , 如公式 (2) 。(2)aI 为常数加增长因子 ,bD 为乘减少因子 , 一般小于 1。常数加增长和常数乘减少控制算法可以保证每个流的公平性 , 但是 , 如果常数al和bD设定得太大,RTP流的抖动会很大,也会加

14、剧网络的拥塞 如果设定得太小,RTP流的速度增加就会太慢或减小的太快,不利于网络带 宽利用率的提高。2.3 变常数增长和常数减少一种平稳的、变常数增长的自适应算法 , 如公式(3) 。(3)其中 al 不再为常数 , 而是按如下的逻辑变换 :(1)如果网络中未曾发生过拥塞,即RTP流第一次进入网络,则al=radd(4)这时,RTP流按常量增长。(2) 如果网络中发生过拥塞 , 则(5)其中 R 发送端到接收端之间可以利用的最大带宽 , 它可以是发送端的 先验知识得出 ;Xcong 为上次发生拥塞的速度。变常数增长和常数减少的控制方法在一定程度上可以保证流的平稳 性 , 但由于其增长函数设置不

15、合理 , 使传输的带宽限制在前一次拥塞发生 时的拥塞带宽之下 , 不能适合网络带宽动态变化的特点 , 不利于提高网络 带宽的利用率。2.4 变常数增长和变常数减少一种自适应流量控制算法 , 如公式 (6) 。(6)其中v0为初始的发送速度,r为综合预测量,如公式(7)。(7)J可以直接从RTCP报文中获取,J=jitter 4, 而L的计算方法如(8)式所示(8)其中 :cumu_lostn 表示从会话开始到第 n 个传输间隔内所丢失的 RTP 包总数 ;highest_mum_receiven 表示从会话开始到第 n 个传输间隔内所接 收到的RTP包的最大序列号4。变常数增长和变常数减少的方法综合考虑长期的网络背景和当前的 网络状态 , 采用变常数增长和变常数减少的方法对发送速度进行自适应调整,避免网络的拥塞 , 在一定程度上保证了流的平稳性。3 结论流量控制算法在实时业务中的具有非常重要的地位 ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论