防丢包的实时传输协议 RTP
用这种机制的实现的全局描述文件中出现。
2.6 RTP 控制协议-RTCP
2.6.1 RTCP 的功能
RTP 控制协议-RTCP 使用与 RTP 数据包相同的分发机制,阶段性的向会话中的所有
参与者发送控制包。下层协议必须提供数据和控制包的复用机制,如在 UDP 中使用不
同的口号。
在 RTP 协议中 RTCP 履行 4 种职责:
1.基本功能是对数据传输的质量进行反馈。这是 RTP 作为一个传输协议必不可少的
一个功能并且与别的传输协议的流量控制和拥挤控制功能有关。这种反馈可直接用于控
制可适应性编码,但 IP 多点通信的实验表明用从接收方得到反馈信息去诊断传输中的错
误也是十分重要的。通过向所有的与会者发送接收反馈报告也有利于观察到问题的参与
者确定这些问题是本地的还是全局性的。利用类似 IP 多点通信这样的分发机制可以使一
个实体如网络服务提供者在不介入 RTP 会话的情况下接收反馈信息,成为第三方监控器,
诊断网络问题。这个反馈功能是由 RTCP 的发送和接收报告实现的。
2.RTCP 为每一个 RTP 源提供了一个不变的传输层标识,称为教名或 CNAME。因
为当发现 SSRC 标识符冲突或程序重启时,SSRC 标识符可能改变,接收方需要通过
CNAME 记录每一参加者。接收方也需要在一系列相关的 RTP 会话中通过 CNAME 将来
自给定参与者的多个媒体流联系在一起,如同步音频和视频。
3.前两个功能需要所有的参与者都发送 RTCP 包,因此为了使 RTP 具有可扩充性,
能包含大量参与者,RTCP 包的发送频率必须被控制住。由于每个与会者都把自己的控
制包发送给其他参与者,这样每个参与者都能独立得到与会者的数量。这个数字就可用
于计算 RTCP 包的发送频率。
4.第四项是可供选择的功能:传送最小的会话控制信息,如显示在用户界面上的
参与者身份标识。这种功能在“松散控制”的会话中可能是非常有用的。在这种情况下参
与者进入和离开会议都不需要成员关系控制和参数协商。RTCP 的服务看起来就象可到
达所有参与者的便捷通道,但人们不可能指望它去满足一个应用的所有控制通信的要求 。
要达到这个要求还需要一个高层会话控制协议。
当 RTP 用在 IP 多点通信环境时,1-3 号功能是必需的,并且推荐在所有环境上使用。
建议 RTP 应用程序的设计者避免使用只能工作在单点通信的方式下而不能扩展到大量用