rfc3556:RTCP的SDP带宽修改器

备忘录状态:

         本文档为Internet社区指定了一个Internet标准跟踪协议,并要求讨论和提出改进建议。请参阅当前版本的“互联网官方协议标准”(STD 1),以了解该协议的标准化说明和状态。本备忘录的分发是无限制的。

版权记录:

        版权所有(C)互联网协会(2003)。保留所有权利。

摘要:

        本文档定义了会话描述协议(SDP)的扩展,为带宽属性指定两个额外的修饰符。这些修饰符可以用来指定RTP控制协议(RTCP)数据包在实时传输协议(RTP)会话中允许的带宽。

1.序言

        实时传输协议(RTP)rfc3550,包括一个控制协议RTCP,它提供来自数据发送方的同步信息和来自数据接收方的反馈信息。

        一般情况下,RTP会话分配给RTCP的带宽为会话带宽的5%。对于某些应用程序,可以单独指定RTCP带宽而不是会话带宽。使用单独的参数可以使自适应速率的应用程序将RTCP带宽设置为与“典型”数据带宽一致,且小于会话带宽参数指定的最大带宽。当速率向下调整时,允许RTCP带宽保持在数据带宽的5%以下。

        另一方面,可能有一些应用程序以非常低的速率发送数据,但需要通信额外的RTCP信息,比如APP包。这些应用程序可能需要指定高于数据带宽5%的RTCP带宽。

        RTP规范允许一个概要文件指定RTCP带宽可以分为两个单独的会话参数,用于活跃的数据发送者和非活跃的数据发送者。使用两个参数允许在特定会话中完全关闭RTCP接收报告,方法是将非数据发送方的RTCP带宽设置为零,同时保持数据发送方的RTCP带宽为非零,这样发送方报告仍然可以进行跨媒体同步。不建议关闭RTCP接收报告,因为RTP规范中列出的功能需要它们,特别是接收质量反馈和拥塞控制。然而,这样做可能适合于在单向链路上运行的系统,或对于不需要反馈接收质量或接收者的活跃度的会话,并且有其他方法来避免拥塞。

        本备忘录定义了会话描述协议(SDP)[3]的扩展,为发送者和非发送者(接收者)指定RTCP带宽。

2.SDP扩展

        会话描述协议包含一个可选的带宽属性,语法如下:

        b=<modifier>:<bandwidth-value>

        在<modifier>是一个单一的字母数字单词,表示带宽数值的含义,其中<bandwidth-value>是千比特每秒。此属性指定会话或媒体使用的建议带宽。

        一个典型的用法是使用修饰符“AS”(用于应用程序特定最大值),它可以用来指定来自一个站点(源)的单个媒体流的总带宽。

        这个备忘录定义了两个额外的带宽修饰符:

        b=RS:<bandwidth-value>

        b=RR:<bandwidth-value>

        其中“RS”表示分配给活动数据发送者的RTCP带宽(由RTP规范定义),“RR”表示分配给RTP会话中其他参与者(即接收者)的RTCP带宽。指定这些带宽修饰符所导致的确切行为取决于计算RTCP报告间隔所使用的算法。不同的RTP配置文件可以指定不同的算法。

        对于RTP A/V Profile[2],它指定使用RTP规范[1]中定义的默认RTCP间隔算法,至少RTCP带宽的RS/(RS+RR)是专用于活动数据发送者的。如果发送者占总参与者的比例小于或等于RS/(RS+RR),则每个发送者的RS除以发送者的数量。当发送方所占比例大于RS/(RS+RR)时,发送方将得到这些参数总和中各自所占的比例,这意味着发送方和非发送方都将得到相同的分配。因此,不可能限制数据发送方使用比非发送方更少的RTCP带宽。一些特殊情况值得注意:

o如果RR为0,则发送方的参与者比例永远不能大于RS/(RS+RR),因此非发送方永远不会获得任何与发送方数量无关的RTCP带宽。

o将RS设置为0并不意味着不允许数据发送方发送RTCP报文,它只是意味着他们被视为非发送方。如果RR不为零,发送者的比例(如果有的话)总是大于RS/(RS+RR)。

o如果RS和RR都为零,尝试计算RS/(RS+RR)的分数是不明智的。

        RS和RR修饰符指定的带宽分配适用于所有RTCP报文类型(包括SR、RR、SDES、BYE、APP以及未来定义的任何新类型)所消耗的总带宽。这些修饰符的<bandwidth-value>以位/秒为单位,并带有一个整数值。

        注意:该规范与rfc2327中最初的SDP规范冲突,后者规定<bandwidth-value>对于所有带宽修改器,应该是每秒千比特数的整数。这种差异是由于期望的RTCP带宽设置可能小于1 kb/s这一事实造成的。

        在明尼阿波利斯举行的第44届IETF会议上,考虑了两种解决方案:允许小数值,或者指定这些特定修饰器的单位为比特每秒。第二个选择是首选,这样语法就不会改变。SDP规范正在被修改[4],以推进到草案标准,并将允许在语义上的改变。

3.默认值

        如果省略RS和RR带宽说明符中的一个或两个,这些参数的默认值将在问题会话使用的RTP配置文件中指定。对于音频/视频配置文件,rfc3551[2],默认值遵循RTP规范的建议

o RTCP总带宽为会话带宽的5%。如果省略了其中一个RTCP带宽指示符,其值为5%减去另一个的值,但不小于零。如果不设置,则发送端RTCP带宽为会话带宽的1.25%,接收端RTCP带宽为会话带宽的3.75%。

o至少RTCP带宽的RS/(RS+RR)是专用于活动数据发送者的。当发送方所占比例大于参与者的RS/(RS+RR)时,发送方得到这些参数之和所占的比例。

        本备忘录没有对可以用RR和RS修饰符指定的值进行限制,除非它们必须是非负的。但是,RTP规范和适当的RTP概要文件可能会指定限制。

4.优先级

        一个SDP描述由一个会话级描述(应用于整个会话和所有媒体流的细节)和零个或多个媒体级描述(只应用于单个媒体流的细节)组成。带宽指定符可以在会话级别上指定所有媒体共享的总带宽,也可以在媒体部分中指定分配给每个媒体的带宽,或者两者都有。这里定义的两个RTCP带宽修改器也是如此。

        由于在没有使用这里定义的修饰符显式指定时,分配给RTCP的带宽是会话带宽的一小部分,因此在SDP描述的会话和媒体级别上,会话带宽和RTCP带宽指定符之间存在交互。这些说明符的优先级如下所示,其中(1)是最高的优先级:

        1)在媒体级别显式的RR或RS说明符

        2)在会话级别显式RR或RS说明符

        3)默认值基于媒体级别的会话带宽说明符

        4)默认值基于会话级别的会话带宽指定符

        特别地,(2)和(3)的关系意味着,如果RR带宽在会话级别被指定为零,则关闭了所有媒体中非数据发送方的RTCP传输。

5.例子

        SDP描述示例为:

        v=0
        o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
        s=SDP Seminar
        i=A Seminar on the session description protocol
        c=IN IP4 224.2.17.12/127
        t=2873397496 2873404696
        m=audio 49170 RTP/AVP 0
        b=AS:64
        b=RS:800
        b=RR:2400
        m=video 51372 RTP/AVP 31
        b=AS:256
        b=RS:800
        b=RR:2400

        在本例中,音频媒体的显式RTCP带宽等于默认值,因此可以省略。但是对于视频媒体,RTCP的带宽设置为64kb /s,即使最大数据带宽被指定为256kb /s。这是基于假设视频数据带宽会根据网络条件自动适应较低的值。

6.IANA考虑

       rfc2327[3]要求新的带宽修饰符通过引用一个标准轨道RFC向IANA注册,该RFC精确地指定了带宽修饰符的语义,指出应该在什么时候使用它,以及为什么现有注册的带宽说明符不能满足要求。

        本文档旨在满足这些要求。

        在会话描述协议(SDP)参数注册表的“bwtype”表中,以下两个新的带宽修改器名称已经注册:

        RS

        RR

7.安全考虑

        本备忘录将带宽修饰词关键字定义为SDP的扩展,因此SDP规范中列出的安全注意事项适用于包含这些修饰词的会话描述。

        其中一个修饰符提供的带宽值可能大得不合理,并导致应用程序以过高的速率发送RTCP包,从而导致拒绝服务。这类似于为媒体数据指定不合理带宽的风险,尽管编码器通常有一个有限的带宽范围。应用程序应该对SDP描述中收到的所有参数进行有效性检查,特别是那些没有经过身份验证的参数。此备忘录不能指定限制,因为它们依赖于RTP概要文件和应用程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值