实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是 RTP 可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么 RTP 可以使用该组播表传输数据到多个目的地。
RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 RTP 实行有序传送, RTP 中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。
RTP 由两个紧密链接部分组成:
- RTP ― 传送具有实时属性的数据;
- RTP 控制协议(RTCP) ― 监控服务质量并传送正在进行的会话参与者的相关信息。RTCP 第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。
协议结构 |
1 | 2 | 3 | 8 | 9 | 16bit |
V | P | X | CSRC Count | M | Payload Type |
Sequence number | Timestamp | ||||
SSRC | CSRC (variable 0 – 15 items 32bits each) |
|
相关协议 | RTCP、RTSP、UDP、TCP、IP |
组织来源 | RTP 由 IETF(www.ietf.org)定义在 RFC 3550和3551中。 |
相关链接 | http://www.javvin.com/protocol/rfc3550.pdf: RTP: A Transport Protocol for Real-Time Applications http://www.javvin.com/protocol/rfc3551.pdf: RTP Profile for Audio and Video Conferences with Minimal Control |