您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > RTPRTCP协议学习总结
RTP、RTCP协议学习总结RTP、RTCP与其他协议的关系:从上图中可以看出,RTP被划分在传输层,建立于UDP上。一、RTP协议:RTP协议是实时传输协议,主要用于VOIP、视频等实时媒体传输的协议,为这些实时媒体数据提供端到端的传送服务。但是RTP协议没有提供任何确保按时传送数据的机制,也没有提供任何质量保证的机制,因而要实现服务质量必须由下层网络来提供保证。也就是说RTP协议只管传输,不管传输的视频或者语音质量是否良好也不管对端是否收到。那么传输的视频质量和语音质量由谁来控制呢??这就要用到和RTP协议关系非常密切的子协议,RTCP协议。RTP数据报文每一个RTP数据报文都由头部和负载两个部分组成,其中头部前12个字节的含义是固定的,而负载则可以是音频或者视频数据。RTP报头的报文格式各字段的含义如下:版本(V):2个比特,表示RTP的版本号。填充(P):1个比特,置“1”表示用户数据最后加有填充位,用户数据中最后一个字节是填充位计数,它表示一共加了多少个填充位。在两种情况下可能需要填充,一是某些加密算法要求数据块大小固定;二是在一个低层协议数据包中装载多个RTP分组。扩展(X):1个比特,置“1”表示RTP报头后紧随一个扩展报头。CSRC计数(CC):4个比特,表示CSRC标识符的数量。CSRC标识紧跟在RTP固定头部之后,用来表示RTP数据包的来源;RTP协议允许在同一个会话中存在多个数据源,它们可以通过RTP混合器合并为一个数据源。标记(M):1个比特,其具体解释由应用文档来定义。例如,对于视频流,它表示一帧的结束,而对于音频,则表示一次谈话的开始。载荷类别(PT):7个比特,标明RTP负载的格式,包括所采用的编码算法、采样频率、承载通道等。序列号(SN):2个字节,每发送一个RTP数据包该序号增加1。用来为接收方提供探测数据丢失的方法,但是如何处理丢失的数据则是应用程序自己的事情,RTP协议本身并不负责数据的重传。时间戳(TS):4个字节,记录了负载中第一个字节的采样时间,接收方根据时间戳能够确定数据的到达是否收到了延迟抖动的影响,但具体如何来补偿延迟抖动则是应用程序自己的事情。同步源标识符(SSRC):4个字节,用来标识一个同步源。此标识符是随机选择的,旨在确保在同一个RTP协议会话中不存在两个同步源具有相同的SSRC标识符提供源标识符(CSRC):识别该数据包中的有效载荷的贡献源二、RTCP协议:RTCP协议是实时传输控制协议,是RTP的控制部分,需要与RTP协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTCP用于保证网络的服务质量并传递与会者会话中的信息,主要工作就是对RTP上传输的数据流分发质量进行反馈;如丢包率、抖动、带宽、速率等。通常RTCP会采用和RTP相同的分发机制,向会话中的所有成员周期性的发送控制信息,应用程序通过接收这些数据信息从中获取会话参与者的相关资料以及网络状况、丢包率等反馈信息,在下次发送数据包的时候做一些调整,来实现对RTP传输数据的质量优化。RTCP的功能:1,RTCP的基本功能是提供关于数据传输质量的反馈,这是RTCP协议的重要组成部分,它大致和其它传输协议的流量控制及拥塞控制相对应;RTCP向会话的所有参加者发送反馈报文,其目的是允许那些发现数据传输过程中出现问题的用户进一步判断问题是仅和其自身相关还是和全体参加者有关,并采取相应的措施。该功能由RTCP的发送者报告(SR)和接收者报告(RR)来具体完成2,RTCP为每一个RTP源分配一个永久的传输层标识,该标识被称为CNAME;数据流的接受者根据CNAME来跟踪每一个会话参与者;另外,借助于CNAME,接收者可以关联来自于同一用户但经由不同RTP会话传来的码流以完成特定的任务,如音频流和视频流的同步。CNAME由SCTP的SDES报文所携带。3,为了在一个RTP会话中接纳更多的用户,RTCP给出关于调整控制报文发送速率的方法。即一个RTP用户能够通过接收来自于其他用户的RTCP报文独立的了解会话参与者的数目,RCTP利用该数目的数值参数为每个会话参与者计算控制报文的发送间隔,这样就可以达到RTCP所占用的通信带宽资源不会超过整个会话带宽的5%。4,RTCP提供了基本的会话控制功能,也就是OPTIONAL功能。这对于“松散受控”会话(在没有成员控制或阐述协商的情况下,参与者可以加入或退出该会话)是非常有用的。RTCP报文的类型有下述多种:SR(senderreport):发送端报告。所谓发送端是指发出RTP数据报的应用程序或者终端,发送端同时也可以是接收端。RR(receiverreport):接收端报告。所谓接收端是指仅接收但不发送RTP数据报的应用程序或者终端。SDES(sourcedescriptionitems):源描述条款,包括CNAME。主要功能是作为会话成员有关表识信息的载体,如用户名、邮箱地址、电话号码等,此外还具有向会话成员传达会话控制信息的功能。BYE:指示与会者退出。也就是通知会话中的其他成员自己将退出会话。APP:应用的特定功能。由应用程序自己定义,解决了RTCP的扩展性问题
本文标题:RTPRTCP协议学习总结
链接地址:https://www.777doc.com/doc-2856218 .html