您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 实时传输协议、实时传输控制协议(RTP、RTCP)简介
深圳市格林耐特通信技术有限公司GreenNET12020/4/7VOIP培训-----RTP、RTCP部分2002年8月深圳市格林耐特通信技术有限公司GreenNET22020/4/7•RTP简介RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视和控制。使用RTP协议的应用程序运行在RTP之上,而执行RTP的程序运行在UDP的上层,目的是为了使用UDP的端口号和检查和。如图16-12所示,RTP可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。深圳市格林耐特通信技术有限公司GreenNET32020/4/7TCP/IP模型应用层(application)传输层RTPUDPIP数据链路层(datalink)物理层(physical)RTP是传输层上的协议深圳市格林耐特通信技术有限公司GreenNET42020/4/7从应用开发人员的角度来看,可把RTP执行程序看成是应用程序的一部分,因为开发人员必需把RTP集成到应用程序中。在发送端,开发人员必需把执行RTP协议的程序写入到创建RTP信息包的应用程序中,然后应用程序把RTP信息包发送到UDP的套接接口(socketinterface),如下图所示;同样,在接收端,RTP信息包通过UDP套接接口输入到应用程序,因此开发人员必需把执行RTP协议的程序写入到从RTP信息包中抽出媒体数据的应用程序。(注:一般上RTP被分配在一个偶数UDP端口上,而RTCP则被分配在一个奇数UDP端口上。)深圳市格林耐特通信技术有限公司GreenNET52020/4/7TCP/IP模型应用层(application)RTP-套接接口UDPIP数据链路层(datalink)物理层(physical)RTP和UDP之间的接口深圳市格林耐特通信技术有限公司GreenNET62020/4/7现以用RTP传输声音为例来说明它的工作过程。假设音源的声音是64kb/s的PCM编码声音,并假设应用程序取20毫秒的编码数据为一个数据块(chunk),即在一个数据块中有160个字节的声音数据。应用程序需要为这块声音数据添加RTP标题生成RTP信息包,这个标题包括声音数据的类型、顺序号和时间戳。然后RTP信息包被送到UDP套接接口,在那里再被封装在UDP信息包中。在接收端,应用程序从套接接口处接收RTP信息包,并从RTP信息包中抽出声音数据块,然后使用RTP信息包的标题域中的信息正确地译码和播放声音。这里需要强调的是,RTP本身不提供任何机制来确保把数据及时递送到接收端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防止信息包的次序不被打乱。深圳市格林耐特通信技术有限公司GreenNET72020/4/7•RTP包格式v=2pxccm有效载荷类型(pt)序列号码时间戳同步源标识(SSRC)提供源标识(CSRC)(注:H.323中不使用)…相关Profile大小数据注:如果x=1的话则有最后两行.深圳市格林耐特通信技术有限公司GreenNET82020/4/7•v=2版本号,目前版本号为2。•p表示有效载荷是否被填充(1为填充)。•x表示在最后CSRC之后是否有扩展存在(1为有)。•ccCSRC计数,表示有多少个CSRC标识符。•M标识位。由RTP剖面定义。在H.225.0中用于支持无声抑制(silencesuppression)的音频编码,在每个无声段之后有声区的第一个包中必须设为1。深圳市格林耐特通信技术有限公司GreenNET92020/4/7•Pt一些静态的有效载荷类型。•序列号从一个随机数开始,每个RTP包加1。•时间戳时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳来去除由网络引起的信息包的抖动,并且在接收端为播放提供同步功能。•同步源标识(SSRC)同步源标识符用来标识RTP信息包流的起源,在RTP会话或者期间的每个信息包流都有一个清楚的SSRC。SSRC不是发送端的IP地址,而是在新的信息包流开始时源端随机分配的一个号码。深圳市格林耐特通信技术有限公司GreenNET102020/4/7•提供源(CSRC)当一个RTP流是由RTP混和器提供几个流组合的结果时,每个提供流的SSRC列表就会被加到该流的头中为SSRC。最终的流有自己的SSRC。这一特性在H.323中没有使用。•相关Profile剖面定义(由用户定义)。(注:如果用户想定义多种数据类型时,此处可以定义为参数的形式,但本文档不提供这些参考)•大小后面附加的数据的长度。•数据相关数据。深圳市格林耐特通信技术有限公司GreenNET112020/4/7•实时传输控制协议(RTCP)简介多媒体网络应用把RTCP和RTP一起使用,尤其是在多目标广播中更具吸引力。当从一个或者多个发送端向多个接收端广播声音或者电视时,也就是在RTP会话期间,每个参与者周期性地向所有其他参与者发送RTCP控制信息包,如下图所示。RTCP用来监视服务质量和传送有关与会者的信息。对于RTP会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息包和RTCP信息包区分开来。RTCP的主要功能是为应用程序提供会话质量或者广播性能质量的信息。每个RTCP信息包不封装声音数据或者电视数据,而是封装发送端和/或者接收端的统计报表。这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息对发送端、接收端或者网络管理员都是很有用的。RTCP规格没有指定应用程序应该使用这个反馈信息做什么,这完全取决于应用程序开发人员。深圳市格林耐特通信技术有限公司GreenNET122020/4/7发送端接收端接收端InternetRTPRTCPRTPRTP每个参与者周期性地发送RTCP控制信息包深圳市格林耐特通信技术有限公司GreenNET132020/4/7•RTCP包类型1.SR:发送者报告包含活动发送者的发送和接收统计信息。2.RR:接收者报告包括不是活动发送者的听众接收统计信息。3.SDES:源描述符用于对源的不同参数进行了描述,包括CNAME(即thecanonicalname)。4.BYE:当一个参与者要离开会议时所要发送的信息。5.APP:对于一个应用的功能描述。深圳市格林耐特通信技术有限公司GreenNET142020/4/7•发送者报告的RTCP包V=2PRCPT=SR=200lengthSSRCofsenderNTPtimestamp,mostsignificantwordNTPtimestamp,leastsignificantwordRTPtimestampsender'spacketcountsender'soctetcountSSRC_1(SSRCoffirstsource)注:后有续表headersenderinforeportblock1深圳市格林耐特通信技术有限公司GreenNET152020/4/7•发送者报告的RTCP包(续上表)fractionlostcumulativenumberofpacketslostextendedhighestsequencenumberreceivedinterarrivaljitterlastSR(LSR)delaysincelastSR(DLSR)SSRC_2(SSRCofsecondsource)...profile-specificextensionsreportblock2深圳市格林耐特通信技术有限公司GreenNET162020/4/7•V=2版本号,本文档的版本号为2.•P表示有效载荷是否被填充(1为填充)。•RC报告计数,表示这个SR中所包含的报告块数量.•PT=SR=200有效载荷类型.值200表示为RTCPSR包.•length本包的长度(包含头和填充数据)•SSRCofsenderSR包的同步源标识.深圳市格林耐特通信技术有限公司GreenNET172020/4/7•NTPtimestamp,mostsignificantwordNTP时间戳(最高有效字),指报告发送时间的时间戳•NTPtimestamp,leastsignificantwordNTP时间戳(最低有效字),指报告发送时间的时间戳•RTPtimestampRTP时间戳,与NTP时间戳意义同.但是与RTP包的时间戳具有相同的单元和随机偏移.•sender'spacketcount发送者的包计数器,从会话开始到这一SR为止.如果SSRC必须改变时,该计数器将被复位.•sender'soctetcount发送者的有效载荷八位组计数,从这次会话的开始时间计算.•SSRC_n(SSRCoffirstsource)在接收报告中的第n块(block)同步源标识(SSRC).深圳市格林耐特通信技术有限公司GreenNET182020/4/7•fractionlost丢失率.等于接收到的包/预期的包*256•cumulativenumberofpacketslost积累的包丢失数,从接收开始算起,迟到的不算.•extendedhighestsequencenumberreceived接收到的最高扩展序列号(32bit).高16bit包含序列号循环号码,低16bit表示从某个源(同一个SSRC)接收的RTP数据包的最大序列号。•interarrivaljitter抖动间隔。•lastSR(LSR)最后的时间戳。最后接收的SR的NTP时间戳的中间32bit(这是一种压缩的NTP格式)。•delaysincelastSR(DLSR)从最后到达的SR开始的延迟。以压缩的NTP格式表示。再利用最后的SR时间戳,这个最后SR的发送者可以用它来计算发挥时间。深圳市格林耐特通信技术有限公司GreenNET192020/4/7•接收者报告包接收者报告除了PT域的值是201、第二个域(关于发送者)不存在以外,接收者报告与发送者报告是差不多的,包的格式是一样的。它也可以被不产生RTP流的被动接收者所使用。•SDES:源点描述RTCP包SDES包的PT为202,它包含SC(源计数)块。每一块包括一个SSRC或一个CSRC以及一个信息列表。列表的每个单元都使用TLV(类型能够、长度、数值)编码格式。包的格式如下:深圳市格林耐特通信技术有限公司GreenNET202020/4/7源点描述RTCP包V=2pscPT=sdes=202lengthSSRC/CSRC_1SDESitems…SSRC/CSRC_2SDESitems…深圳市格林耐特通信技术有限公司GreenNET212020/4/7•BYERTCP包BYERTCP包表示有一个或多个源点(根据源点计数SC的值)已经不再活动。格式如下:V=2pscPT=BYE=203lengthSSRC/CSRC…lengthreasonforleaving…(opt)深圳市格林耐特通信技术有限公司GreenNET222020/4/7•APP:应用定义RTCP包应用定义包可以用来承载附加的所有权信息。它的PT域为204。格式如下:V=2PsubtypePT=APP=204lengthSSRC/CSRCname(ASCII)application-dependentdata...深圳市格林耐特通信技术有限公司GreenNET232020/4/7附录:•目前RTP所能支持的声音有效载荷类型有效载荷号声音类型采样率(kHz)数据率(kb/s)0PCMmu-law8641101684.82G.7218323GSM8326DVI16647LPC82.49G.722848~6414MPEGAudio90-15G.728816深圳市格林耐特通信技术有限公司GreenNET2420
本文标题:实时传输协议、实时传输控制协议(RTP、RTCP)简介
链接地址:https://www.777doc.com/doc-4724277 .html