rtp和rtcp协议详解
展开全部
RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的传输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、传输控制等。
RTP一般与传输控制协议RTCP一块工作,RTP只负责实时数据的传输,RTCP负责对RTP的通讯和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。
RTP使用一个偶数端口号,而相应RTCP流使用下一个(奇数,递增)端口号。
先来看一下rtp和rtcp网络结构图:
RTP的数据包由RTP Header + RTP Playload组成,其中RTP固定头如下图所示,字段如下:
再看一下RTP完整的报文格式:
再来看看RTCP协议,RTCP协议将控制包周期发送给所有连接者,主要功能如下:
RTCP协议包括五种类型,这里只讨论SR和RR包。
SR包(SenderReport):发送者报告,当前活动发送者发送、接收统计;所谓发送端是指发出RTP数据报的应用程序或者终端,发送端同时也可以是接收端。由三部分组成,也可能还有第四个特定设置扩展部分。
第一部分为头:8个字节,如下:
第二部分为发送者信息:20个字节,如下:
第三部分包含接收报告快,大小不固定。每个接收报告块传送单个同步源接收RTP包的统计。发生冲突,当源改变SSRC标识时,接收者并不继续统计。这些统计包括:
RR包(ReceiverReport):接收者报告,非活动发送者接收统计,仅作为接收者(只接收rtp包)发送出去的包;所谓接收者是指仅接收但不发送RTP数据报的应用程序或者终端。包类型包含常数201,并删除发送者信息的20个字节。
各个字段解释如下:
最后通过LSR,DLSR可以计算RTT:
RTP一般与传输控制协议RTCP一块工作,RTP只负责实时数据的传输,RTCP负责对RTP的通讯和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。
RTP使用一个偶数端口号,而相应RTCP流使用下一个(奇数,递增)端口号。
先来看一下rtp和rtcp网络结构图:
RTP的数据包由RTP Header + RTP Playload组成,其中RTP固定头如下图所示,字段如下:
再看一下RTP完整的报文格式:
再来看看RTCP协议,RTCP协议将控制包周期发送给所有连接者,主要功能如下:
RTCP协议包括五种类型,这里只讨论SR和RR包。
SR包(SenderReport):发送者报告,当前活动发送者发送、接收统计;所谓发送端是指发出RTP数据报的应用程序或者终端,发送端同时也可以是接收端。由三部分组成,也可能还有第四个特定设置扩展部分。
第一部分为头:8个字节,如下:
第二部分为发送者信息:20个字节,如下:
第三部分包含接收报告快,大小不固定。每个接收报告块传送单个同步源接收RTP包的统计。发生冲突,当源改变SSRC标识时,接收者并不继续统计。这些统计包括:
RR包(ReceiverReport):接收者报告,非活动发送者接收统计,仅作为接收者(只接收rtp包)发送出去的包;所谓接收者是指仅接收但不发送RTP数据报的应用程序或者终端。包类型包含常数201,并删除发送者信息的20个字节。
各个字段解释如下:
最后通过LSR,DLSR可以计算RTT:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询