RTP协议介绍

文章描述:-2022年2月18日发(作者:trunk链路)3.1. RTP协议分析 3.1.1. RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Contro

-

RTP协议介绍 2022年2月18日发(作者:trunk链路)


3.1. RTP协议分析

3.1.1. RTP是什么
RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的
一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC3550
不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control
Protocol,即实时传输控制协议)。RTP用来为IP网上的语音、图像、传真等多
种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP为Internet上端
到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP
来提供。

3.1.2. RTP的协议层次
——传输层的子层
RTP被划分在传输层,它建立在UDP上。同UDP协议一样,为了实现其实
时传输功能,RTP也有固定的封装形式。RTP用来为端到端的实时传输提供时间
信息和流同步,但并不保证服务质量。服务质量由RTCP来提供。




3.1.3. RTP协议原理
RTP协议原理比较简单,负责对流媒体数据进行封包并实现媒体流的实时传
输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行
数据包的传输,具体见本文2.2.1RTP数据格式;RTP本身只保证实时数据的传
输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞
控制,它依靠RTCP提供这些服务。

3.1.3.1. RTP的封装

版本号(V):2比特,用来标志使用的RTP版本。
填充位(P):1比特,如果该位置位,则该RTP包的尾部就包含附加的填
充字节。
扩展位(X):1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩


展头部。
CSRC计数器(CC):4比特,含有固定头部后面跟着的CSRC的数目。
标记位(M):1比特,该位的解释由配置文档(Profile)来承担。
载荷类型(PT):7比特,标识了RTP载荷的类型。
序列号(S):16比特,发送方在每发送完一个RTP包后就将该域的值增
加1,接收方可以由该域检测包的丢失及恢复包序列。序列号的初始值是随机的。
时间戳:32比特,记录了该包中数据的第一个字节的采样时刻。在一次会
话开始时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值
也要随时间而不断地增加(时间在流逝嘛)。时间戳是去除抖动和实现同步不可
缺少的。
同步源标识符(SSRC):32比特,同步源就是指RTP包流的来源。在同一个
RTP会话中不能有两个相同的SSRC值。该标识符是随机选取的 RFC1889推荐
了MD5随机算法。
贡献源列表(CSRC List):0~15项,每项32比特,用来标志对一个RTP
混合器产生的新包有贡献的所有RTP包的源。由混合器将这些有贡献的SSRC
标识符插入表中。SSRC标识符都被列出来,以便接收端能正确指出交谈双方的
身份。


3.1.3.2. RTP的会话过程
当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目
的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一
个给RTCP包,使得RTPRTCP数据能够正确发送。RTP数据发向偶数的UDP
端口,而对应的控制信号RTCP数据发向相邻的奇数UDP端口(偶数的UDP端
口+1),这样就构成一个UDP端口对。 RTP的发送过程如下,接收过程则相反。
1) RTP协议从上层接收流媒体信息码流(如H.263),封装成RTP数据包;RTCP
从上层接收控制信息,封装成RTCP控制包。
2) RTP将RTP 数据包发往UDP端口对中偶数端口;RTCP将RTCP控制包发往
UDP端口对中的接收端口。

-

RTP协议介绍

发布时间:2022-02-18 21:57:41
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 15 条评论,887人围观)

最近发表

随便看看

热门文章

标签列表