RTP 协议实际上是由实时传输协议RTP(Real-time Transport Protocol)和实时传输控制协议RTCP(Real-time Transport Control Protocol)两部分组成。RTP 协议基于多播或单播网络为用户提供连续媒体数据的实时传输服务;RTCP 协议是 RTP 协议的控制部分,用于实时监控数据传输质量,为系统提供拥塞控制和流控制。
RTP
(1)RTP为实时应用提供端到端的运输,但不提供任何服务质量的保证。需要发送的多媒体数据块(音、视频)经过压缩编码处理后,先送给RTP封装成为RTP分组(也可称为RTP报文),RTP分组再装入运输层的UDP用户数据报,然后再向下递交给IP层。
(2)实际上,RTP是一个协议框架,因为它只包含了实时应用的一些共同的功能,RTP自己并不对多媒体数据做任何处理,而只是向应用层提供一些附加的信息,让应用层知道该如何进行处理。
(3)看似是应用层协议的一部分。因为在应用程序的发送端,开发者必须编写RTP封装分组的程序代码,然后把RTP分组交给UDP套接字接口。在接收端,RTP分组通过UDP套接字接口进入应用层后,还要利用开发者编写的程序代码从RTP分组中把应用数据块提取出来。
但是其实是一个运输层协议,因为RTP封装了多媒体数据的程序块,并且由于RTP向多媒体应用程序提供了服务(如时间戳和序号),因此可以把RTP看作是在UDP之上的一个运输层子层的协议。