RTP协议的概念和结构

网络 网络管理
文章中,我们对RTP协议的概念和结构都做了细致的介绍。那么具体的内容请从文中来详细了解一下吧。

在网络传输中,我们来将诶少一下RTP协议。那么对于这个协议的一些定义和概念我们来简单看一下。实时传输协议(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)
V ― 版本。识别RTP版本。

P ― 间隙(Padding)。设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。

X ― 扩展位。设置时,在固定头后面,根据指定格式设置一个扩展头。

CSRC Count ― 包含 CSRC 标识符(在固定头后)的编号。

M ― 标记。标记由 Profile 文件定义。允许重要事件如帧边界在数据包流中进行标记。

Payload Type ― 识别RTP有效载荷的格式,并通过应用程序决定其解释。Profile 文件规定了从 Payload 编码到 Payload 格式的缺省静态映射。另外的 Payload Type 编码可能通过非RTP方法实现动态定义。

Sequence Number ― 每发送一个RTP数据包,序列号增加1。接收方可以依次检测数据包的丢失并恢复数据包序列。

Timestamp ― 反映RTP数据包中的第一个八位组的采样时间。采样时间必须通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。

SSRC ― 同步源。该标识符随机选择,旨在确保在同一个RTP协议会话中不存在两个同步源具有相同的 SSRC 标识符。

CSRC ― 贡献源标识符。识别该数据包中的有效载荷的贡献源。

责任编辑:佟健 来源: 网络整理
相关推荐

2010-07-14 17:58:06

SDP协议

2010-06-23 14:09:50

DHCP协议

2010-06-21 17:33:38

IS-IS路由协议

2010-07-28 17:40:07

2010-07-13 15:13:51

LDAP协议

2010-06-21 17:51:50

UDP协议

2010-07-01 16:30:30

NetBEUI协议

2010-06-09 15:04:12

2010-07-01 14:42:16

SSH协议

2010-06-29 16:10:03

SNMP协议

2010-07-05 16:30:45

BGP协议

2010-07-06 17:35:27

多协议GMPLS

2010-08-23 17:29:27

DHCP协议

2010-05-26 17:44:55

IPv6协议

2010-06-21 13:01:12

2010-07-08 13:03:06

HART协议

2010-07-28 16:07:30

NFS协议pNFS

2010-07-13 16:32:33

VoIP协议

2010-07-14 17:04:47

DCCP协议

2010-07-08 14:13:15

UDP协议
点赞
收藏

51CTO技术栈公众号