RTP协议PPT文档格式.ppt
《RTP协议PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《RTP协议PPT文档格式.ppt(50页珍藏版)》请在冰豆网上搜索。
较简单,负责对流媒体数据进行封包并实现媒体流的实时传输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行数据包的传输。
RTCP原理:
向会话中的所有成员周期性地发送控制包来实现的,应用程序通过接收这些控制数据包,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。
RTP协议背景及概述RTP在端口号1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中的RTCP则使用下一个基数UDP端口号。
默认端口号:
RTP:
5004RTCP:
5005RTP协议背景及概述从下图可看出RTP被划分在传输层,它建立在UDP上。
同UDP协议一样,为了实现其实时传输功能,RTP也有固定的封装形式。
RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。
服务质量由RTCP来提供。
图1网络层次关系RTP/RTCP工作原理工作原理RTP协议背景及概述因特网因特网因特网因特网AACCBB发送端接收端接收端RTPRTCPRTCPRTCP如果网络情况好,可以减少语音的延迟时间,也可以增大视频的发送帧率或质量。
若网络状况不好,可以增大语音延迟时间以保证语音连续,也可减少视频的发送帧率或质量,以减少网络的阻塞。
uRTP背景及概述背景及概述1uRTP协议封装协议封装2uRTP关键技术关键技术3uRTP协议运用协议运用4RTP协议封装协议封装压缩压缩编码编码送入送入运输层运输层从开发者的角度看,RTP应当是应用层的一部分。
RTP实现者在发送RTP数据时,需先将数据封装成RTP包,而在接收到RTP数据包,需要将数据从RTP包中提取出来。
下图为RTP头部格式RTP协议封装版本号填充位(1bit)若p=1则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。
填充可能用于某些具有固定长度的加密算法或者用在底层数据单元中传输多个RTP包扩展(X):
1个比特,置“1”表示RTP报头后紧随一个扩展报头CSRC计数(CC):
4比特CSRC计数包含了跟在固定头后面CSRC识别符的数目标记(M):
1个比特,其具体解释由应用文档来定义。
例如,对于视频流,它表示一帧的结束,而对于音频,则表示一次谈话的开始7个比特,它指示在用户数据字段中承载数据的载荷类别序列号16比特每发送一个RTP数据包,序列号加一,接收机可以据此检测包损和重建包序列.序列号的初始值是随机的(不可预测),以使即便在源本身不加密时(有时包要通过翻译器,它会这样做),对加密算法泛知的普通文本攻击也会更加困难u有效载荷类型有效载荷类型:
7位,指出后面的RTP数据属于何种格式的应用。
应用层可根据次类型进行处理。
音频:
律PCM(0),GMS(3)A律PCM(8),G.722(9),G728
(1)视频:
视频:
活动JPEG(26)、H.261(31)、MPEG1(32)、MPEG2(33)等RTCP的主要功能的主要功能功能功能1功能功能2功能功能3功能功能4提供数提供数据传输据传输质量的质量的反馈反馈为每个为每个RTP源传源传输一个固输一个固定的识别定的识别符符CNAME知晓成知晓成员数目,员数目,控制包控制包的发送的发送速率速率传输最传输最小连接小连接控制信控制信息,如息,如参加者参加者标识标识RTCP协议封装RTCP也是用UDP来传送的,但RTCP封装的仅仅是一些控制信息,因而分组很短,所以可以将多个RTCP分组封装在一个UDP包中。
RTCP有如下五种分组类型:
RTCP协议封装(3)-发送端报告分组SR封装发送端报告分组SR(SenderReport)用来使发送端以多播方式向所有接收端报告发送情况。
SR分组的主要内容有:
相应的RTP流的SSRC,RTP流中最新产生的RTP分组的时间戳和NTP,RTP流包含的分组数,RTP流包含的字节数。
接收报告计数器(RC):
5比特,该SR包中的接收报告块的数目,可以为零包类型(PT):
8比特,SR包是200。
长度域(Length):
16比特,其中存放的是该SR包以32比特为单位的总长度减一。
从开始发送包到产生这个SR包这段时间里,发送者发送的净荷数据的总字节数(不包括头部和填充)。
发送者改变其SSRC时,这个域要清零。
丢失率(FractionLost):
表明从上一个SR或RR包发出以来从同步源n(SSRC_n)来的RTP数据包的丢失率同步源n的SSRC标识符:
该报告块中包含的是从该源接收到的包的统计信息收到的扩展最大序列号:
从SSRC_n收到的RTP数据包中最大的序列号,接收抖动:
RTP数据包接受时间的统计方差估计uRTP背景及概述背景及概述1uRTP协议封装协议封装2uRTP关键技术关键技术3uRTP协议运用协议运用4RTP协议关键技术时间戳时延抖动丢包率会话和流两级分用时间戳
(1)时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。
时间戳的值给出了分组中数据的第一个字节的采样时间,要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。
在静默时,发送方不必发送数据,保持时间戳的增长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。
时间戳
(2)RTCP中的SR(SenderReport发送端报告)控制分组包含NTP(网络时间)时间戳和RTP时间戳可用于同步音视频媒体流。
RTP时间戳是依据邻近的RTP数据包中的时间戳结合NTP时间差得到的。
公式表达为:
RTP_tsi=tsi+NTPi-NTPiRTP_tsi表示RTCP中的RTP时间戳;
tsi表示邻近的RTP包中的时间戳;
NTPi表示RTCP的网络时间戳;
NTPi表示邻近的RTP包对应的网络时间戳;
下标表示第i个源。
时间戳(3)因此,i和源j之间的相对时差可以表示为:
(RTP_tsitsi)-(RTP_tsj-tsj)=(NTPiNTPi)-(NTPjNTPj)由于NTP同步,差值可以反映出两个源的相对时差。
因为要同步不同来源的媒体流,必须使得同步他们的绝对时间基准,而NTP时间戳正是这样的绝对时间基准。
应用RTP时间戳来保证同一来源的媒体流同步。
时延影响时延的因素有多个方面:
编解码网络防抖动缓冲报文队列其中有些是固定时延,如编解码网络速率等;
有些是变化的,如防抖动缓冲等,固定的时延可以通过改变编解码方式和提高网络速率来改变,而变化时延通常采用提高转发效率来提高。
抖动到达时刻抖动J的定义:
一对包中接收机相对发射机的时间跨度差值的平均偏差。
该值等于两个包相对传输时间的差值,相对传输时间是指包的RTP时间标志和到达时刻接收机时钟,以同一单位的差值.若Si是包i的RTP时间标志,Ri是包i以RTP时间标志单位的到达时刻值。
对于两个包i和j,D可以表达为D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si)到达时刻抖动可以在收到从源SSRC_n来的每个数据包i后连续计算,利用该包和前一包i-1的偏差D。
根据公式J(i)=J(i-1)+(|D(i-1,i)|-J(i-1)/16计算丢包率丢包率是通过计算接收包数量和发送包数量的比率得到。
流程u发送方:
每间隔一定时间读取每个发送通道的发包数量和数据长度,组成一个此通道的RTCP报文发送给接收方,同时将发送数据包计数清零。
u接收方:
收到RTCP包后,读取接收通道接收到的包数量,并计算出丢包率,通过一个RTCP接收汇报包发送给发送方,同时对接收数据包计数清零。
会话和流两级分化一个RTP会话包括传给某个指定目的地对的所有通信量,发送方可能包括多个。
而从同一个同步源发出的RTP分组序列称为流(Stream),一个RTP会话可能包含多个RTP流。
一个RTP分组在服务器端发送出去的时候总是要指定属于哪个会话和流,在接收时也需要进行两级分用,即会话分用和流分用。
只有当RTP使用同步源标识和分组类型把同一个流中的分组组合起来,才能够使用序列号和时间戳对分组进行排序和正确回放。
uRTP背景及概述背景及概述1uRTP协议封装协议封装2uRTP关键技术关键技术3uRTP协议运用协议运用4RTP协议应用方案单播在客户端与媒体服务器之间建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户端,这种传送方式称为单播。
优点:
便于控制和管理缺点:
每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。
这种巨大冗余造成服务器负担沉重,响应需要很长时间RTP协议应用方案广播广播指的是用户被动地接收流。
在广播过程中,数据包的单独一个拷贝将发送给网络上的所有用户,客户端接收流,但不能控制流;
广播方式中资料包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,会非常浪费网络带宽。
简单缺点:
浪费网络带宽RTP协议应用方案组播
(1)组播技术构建的网络,允许路由器一次将数据包复制到多个通道上。
采用组播方式,媒体服务器只需要发送一个信息包,所有发出请求的客户端即可同时收到连续数据流而无延时。
组播吸收了单播和广播两种发送方式的长处,克服了上述两种发送方式的弱点。
RTP协议应用方案组播
(2)优点:
减少网络上传输的信息包的总量;
网络利用效率大大提高,成本大为下降。
缺点:
当不同的用户同时点播同一个节目时,由于点播总有先后顺序,后点播的用户依照网络中同时点播此节目的其它用户的播放进度,这就造成当前用户极有可能从节目的中间开始看起,很难做到个性化。
讲完了?
当然没有那你还要讲些咋子哦?
速度点!
你猜我接下来讲神马?
你猜我猜不猜不猜诶,那到底你要讲咋子?
没法对话了uRTP背景及概述背景及概述1uRTP协议封装协议封装2uRTP关键技术关键技术3uRTP协议运用协议运用4RTP提供的安全性RTP提供的安全性包括保密性、认证与完整性、密钥管理。
保密性客户端都支持缺省的加密算法,RTCP包头随机附加前缀加以迷惑,CBC模式具有随机接入功能,实现加密的同时还能保证丢失的包不被他自己或下一个包解密。
认证与完整性RTP标准协议对任何认证过程都不加特别说明,除非在密钥已知时采用内部认证。
仅在通过其他方法认证RTP流媒体时,命令行认证机制才启动工作。
密钥管理由SIP,SAP和SDP协议完成,这些协议有强大的认证功能和密钥管理功能。
RTP协议安全方面考虑虽然RTP协议本身提供了报文加密、认证与完整性以及密钥管理等安全措施,但在具体实现时存在许多