RTP

第六节 RTP协议

本节内容

 6.6.1 RTP报文格式

 6.6.2 基于RTP的带宽控制方法

    1. 接收端的控制策略

    2. 发送端的控制策略


From:http://jpkc.nwpu.edu.cn/jp2005/09/main/multibook/6/6-6.htm

思考练习

1.在支持多媒体通信机制和能力上,RTP协议与网络层多媒体通信协议(如RSVP、DiffServ等)存在着哪些差异?

2.在网络资源发生紧缺的情况下,RTP协议能够调节网络带宽吗?为什么?


 

    RTP(Real-time Transport Protocol)是由IETF开发的实时传输协议,可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用。RTP的工作机理与RSVP不同,主要实现一种端到端的多媒体流同步控制机制,既不需要事先建立连接,也不需要中间节点的参与,为其保留资源。在网络带宽充足的情况下,RTP具有一定的带宽调控能力,保证端到端的多媒体流同步。在网络带宽不足时,RTP的带宽调控能力将受到一定的限制。ITU(国际电信联合会)的视频会议标准H.323采用了RTP协议。

 

 

    RTP定义了两种报文:RTP报文和RTCP报文,RTP报文用于传送媒体数据(如音频和视频),它由RTP报头和数据两部分组成,RTP数据部分称为有效载荷(payload);RTCP报文用于传送控制信息,以实现协议控制功能。RTP报文和RTCP报文将作为下层协议的数据单元进行传输。如果使用UDP,则RTP报文和RTCP报文分别使用两个相邻的UDP端口,RTP报文使用低端口,RTCP报文使用高端口。如果使用其它的下层协议,RTP报文和RTCP报文可以合并,放在一个数据单元中一起传送,控制信息在前,媒体数据在后。通常,RTP是由应用程序实现的。


 

6.6.1 RTP报文格式

    RTP报文由两部分组成:报头和有效载荷。RTP报头格式如下图所示,其中:

 

    ·V:RTP协议的版本号,占2位,当前协议版本号为2。

    ·P:填充标志,占1位,如果P=1,则在该报文的尾部将填充一个或多个额外的八位组,它们不是有效载荷的一部分。

    ·X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。

    ·CC:CSRC计数器,占4位,指示CSRC 标识符的个数。

    ·M: 标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。

    ·PT: 有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等。

    ·序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。

    ·时戳(Timestamp):占32位,时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

    ·同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。

    ·特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。

    这里的同步信源是指产生媒体流的信源,它通过RTP报头中的一个32位数字SSRC标识符来标识,而不依赖于网络地址,接收者将根据SSRC标识符来区分不同的信源,进行RTP报文的分组。特约信源是指当混合器接收到一个或多个同步信源的RTP报文后,经过混合处理产生一个新的组合RTP报文,并把混合器作为组合RTP报文的SSRC,而将原来所有的SSRC都作为CSRC传送给接收者,使接收者知道组成组合报文的各个SSRC。

    在发送端,上层应用程序以分组形式将编码后的媒体数据传给RTP通信模块,作为RTP报文的有效载荷,RTP通信模块将根据上层应用提供的参数在有效载荷前添加RTP报头,形成RTP报文,通过Socket接口选择UDP协议发送出去。

    在接收端,RTP通信模块通过Socket接口接收到RTP报文后,将RTP报头分离出来作相应处理,再将RTP报文的有效载荷作为数据分组传递给上层应用。

    考虑到在Internet这种复杂的环境中举行视频会议,RTP定义了两种中间系统:混合器(Mixer)和转换器(Translator)。

    在Internet上举行视频会议时,可能有少数参加者通过低速链路与使用高速网络的多数参加者相连接。为了不强制所有会议参加者都使用低带宽和低质量的数据编码,RTP允许在低带宽区域附近使用混合器作为RTP级中继器。混合器从一个或多个信源接收RTP报文,对到达的数据报文进行重新同步和重新组合,这些重组的数据流被混合成一个数据流,将数据编码转化为在低带宽上可用的类型,并通过低速链路向低带宽区域转发。为了对多个输入信源进行统一的同步,混合器在多个媒体流之间进行定时调整,产生它自己的定时同步,因此所有从混合器输出的报文都把混合器作为同步信源。为了保证接收者能够正确识别混合器处理前的原始报文发送者,混合器在RTP报头中设置了CSRC标识符队列,以标识那些产生混和报文的原始同步信源。

    在Internet环境中,一些会议的参加者可能被隔离在应用级防火墙的外面,这些参加者被禁止直接使用IP组播地址进行访问,虽然他们可能是通过高速链路连接的。在这些情况下,RTP允许使用转换器作为RTP级中继器。在防火墙两端分别安装一个转换器,防火墙之外的转换器过滤所有接收到的组播报文,并通过一条安全的连接传送给防火墙之内的转换器,内部转换器将这些组播报文再转发送给内部网络中的组播组成员。


 

6.6.2基于RTP的带宽控制方法

    为了实时传输数据,RTP利用了简单而快捷的UDP协议实现网络传输。由于UDP协议是一种无连接传输协议,不保证报文传输的正确性和有序性,也不提供流量控制功能。另一方面,在多媒体通信中,由于多媒体数据的特殊性,不宜采用通常的重传纠错法来提供正确性,而是采用控制传送带宽方式来减少报文丢失,以满足多媒体应用所需的QoS。

    在RTP协议中,通过RTCP报文提供了基于无连接传输协议的端到端控制机制,这是一种基于接收者反馈的网络传输QoS监测机制,在RTCP的接收报告中包含了当前网络传输QoS有关信息,如报文丢失率、报文丢失累计、接收到的最高序列号、平均延迟抖动以及用于计算发布接收报告往返所需时间的时间标签等。发送者可通过这些信息监测和评价网络传输QoS状况,并可采取适当的策略实施同步控制。

    RTP协议规定,每个RTP系统必须实现RTCP的控制功能,由内部功能模块定期自动执行。RTCP报文是轻载信息,其信息量与最低的数据通信量相平衡,它所产生的通信量只是数据通信量的5%左右。

    要实施端到端的强制同步控制,其前提条件是发送端要能够获取网络失调状态信息。一种可行的同步控制策略是:各个接收端将一种轻载的网络失调状态信息(如QoS参数状态)反馈给发送端,发送端据此进行强制性同步控制,以满足接收端演示质量的要求。

    基于RTP的带宽控制算法正是利用这种控制策略来实施强制性同步控制的,其基本思想是在RTP协议机制支持下,发送端通过接收端周期反馈的接收报告来评价当前网络传输的QoS,并以此对数据发送速率进行适当调整。端点之间利用RTP报文和RTCP报文来实现带宽控制:

    (1) RTP报文的序号字段可用于排序RTP报文分组,以消除重复分组,保持视频或音频流内同步和连续地播放。

    (2)RTP报文的时戳字段可作为流间同步标识,以保持视频和音频流间同步和连续地播放。

    (3) 发送者可利用接收者反馈的RTCP报文来制实施端到端的强制性同步控制,以改善当前网络传输的QoS。


 

1.接收端的控制策略

    接收端通过RTP协议实施如下的控制策略:

    ①SSRC字段用于标识不同的信源,以支持多对一或多对多的多媒体通信。

    ②时戳字段作为流间同步标识,用于媒体流间的流间控制,以保持视频和音频流间同步和连续地播放,并作为时间量用于计算报文分组的传输延时、延时抖动以及数据更新周期等,滤除严重延时的RTP报文分组。

    ③序号字段作为流内同步标识,用于排序RTP报文分组,消除重复报文分组,保持视频或音频流内同步和连续地播放。

    ④将接收端检测到的当前网络QoS状况通过RTCP的接收报告周期地反馈给发送端。


 

2.发送端的控制策略

    发送端将采用如下的控制算法来调整传送带宽。

    ①设bs为发送端当前的带宽,bmin和bmax分别为应用所设置的最小带宽和最大带宽,且bs?[bmin,bmax]。

    ②在每个发送带宽级上保持一个时间片,超时后将根据网络QoS状况提高或降低一个带宽级,以避免带宽频繁波动。这里使用报文丢失率作为QoS指示器,并设置一个阈值。如果QoS指示器超阈,说明网络发生阻塞,通过改变发送速率来调整传送带宽,疏导网络交通。

    ③初始时按最大带宽发送报文分组,即bs?bmax,以提高网络通道的利用率。

    ④如果在规定的时间片内QoS指示器超阈,说明网络发生阻塞,则在超时后需要降低一个带宽级,即bs? max { bs-μ, bmin },其中μ为比例因子。

    ⑤如果在规定的时间片内QoS指示器未超阈,说明网络交通状况良好,则在超时后应当提高一个带宽级,即bs? min { bs+μ, bmax }。

    ⑥在点到多点通信场合中,发送者将面对多个不同网段上的接收者,而每个网段的交通状况又不尽相同。因此,在改变带宽时可采用多数表决法,即当报文丢失率超阈的接收者超过一定比例时再改变带宽。

    这种方法的特点是:利用RTP协议机制来传送网络状态信息,不需要另外构造网络检测机构,易于实现;RTCP报文是一种轻载报文,占用较少的通信带宽。


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值