实时传输协议、实时传输控制协议(RTP、RTCP)简介课件_第1页
实时传输协议、实时传输控制协议(RTP、RTCP)简介课件_第2页
实时传输协议、实时传输控制协议(RTP、RTCP)简介课件_第3页
实时传输协议、实时传输控制协议(RTP、RTCP)简介课件_第4页
实时传输协议、实时传输控制协议(RTP、RTCP)简介课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VOIP培训

-----RTP、RTCP部分2002年8月11/25/981VOIP培训

-----RTP、RTCP部分2002年8月1RTP简介

RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP协议来监视和控制。 使用RTP协议的应用程序运行在RTP之上,而执行RTP的程序运行在UDP的上层,目的是为了使用UDP的端口号和检查和。如图16-12所示,RTP可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。11/25/982RTP简介11/25/982

TCP/IP模型应用层(application)传输层RTPUDPIP数据链路层(datalink)物理层(physical)RTP是传输层上的协议

11/25/983TCP/IP模型应用层(application)传输层RT

从应用开发人员的角度来看,可把RTP执行程序看成是应用程序的一部分,因为开发人员必需把RTP集成到应用程序中。在发送端,开发人员必需把执行RTP协议的程序写入到创建RTP信息包的应用程序中,然后应用程序把RTP信息包发送到UDP的套接接口(socketinterface),如下图所示;同样,在接收端,RTP信息包通过UDP套接接口输入到应用程序,因此开发人员必需把执行RTP协议的程序写入到从RTP信息包中抽出媒体数据的应用程序。(注:一般上RTP被分配在一个偶数UDP端口上,而RTCP则被分配在一个奇数UDP端口上。)11/25/984 从应用开发人员的角度来看,可把RTP执行程序看成是应用程

TCP/IP模型应用层(application)RTP-套接接口UDPIP数据链路层(datalink)物理层(physical)RTP和UDP之间的接口11/25/985TCP/IP模型应用层(application)RTP-套

现以用RTP传输声音为例来说明它的工作过程。假设音源的声音是64kb/s的PCM编码声音,并假设应用程序取20毫秒的编码数据为一个数据块(chunk),即在一个数据块中有160个字节的声音数据。应用程序需要为这块声音数据添加RTP标题生成RTP信息包,这个标题包括声音数据的类型、顺序号和时间戳。然后RTP信息包被送到UDP套接接口,在那里再被封装在UDP信息包中。在接收端,应用程序从套接接口处接收RTP信息包,并从RTP信息包中抽出声音数据块,然后使用RTP信息包的标题域中的信息正确地译码和播放声音。 这里需要强调的是,RTP本身不提供任何机制来确保把数据及时递送到接收端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防止信息包的次序不被打乱。11/25/986 现以用RTP传输声音为例来说明它的工作过程。假设音源的声RTP包格式v=2pxccm有效载荷类型(pt)序列号码时间戳同步源标识(SSRC)提供源标识(CSRC)(注:H.323中不使用)…相关Profile大小数据注:如果x=1的话则有最后两行.11/25/987RTP包格式v=2pxccm有效载荷类型(pt)序列号码时间v=2

版本号,目前版本号为2。p

表示有效载荷是否被填充(1为填充)。x

表示在最后CSRC之后是否有扩展存在(1为有)。cc CSRC计数,表示有多少个CSRC标识符。M

标识位。由RTP剖面定义。在H.225.0中用于支持无声抑制(silencesuppression)的音频编码,在每个无声段之后有声区的第一个包中必须设为1。11/25/988v=211/25/988Pt

一些静态的有效载荷类型。序列号 从一个随机数开始,每个RTP包加1。时间戳

时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳来去除由网络引起的信息包的抖动,并且在接收端为播放提供同步功能。同步源标识(SSRC)

同步源标识符用来标识RTP信息包流的起源,在RTP会话或者期间的每个信息包流都有一个清楚的SSRC。SSRC不是发送端的IP地址,而是在新的信息包流开始时源端随机分配的一个号码。11/25/989Pt11/25/989提供源(CSRC)

当一个RTP流是由RTP混和器提供几个流组合的结果时,每个提供流的SSRC列表就会被加到该流的头中为SSRC。最终的流有自己的SSRC。这一特性在H.323中没有使用。相关Profile 剖面定义(由用户定义)。(注:如果用户想定义多种数据类型时,此处可以定义为参数的形式,但本文档不提供这些参考)大小 后面附加的数据的长度。数据 相关数据。11/25/9810提供源(CSRC)11/25/9810实时传输控制协议(RTCP)简介

多媒体网络应用把RTCP和RTP一起使用,尤其是在多目标广播中更具吸引力。当从一个或者多个发送端向多个接收端广播声音或者电视时,也就是在RTP会话期间,每个参与者周期性地向所有其他参与者发送RTCP控制信息包,如下图所示。RTCP用来监视服务质量和传送有关与会者的信息。对于RTP会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息包和RTCP信息包区分开来。RTCP的主要功能是为应用程序提供会话质量或者广播性能质量的信息。每个RTCP信息包不封装声音数据或者电视数据,而是封装发送端和/或者接收端的统计报表。这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息对发送端、接收端或者网络管理员都是很有用的。RTCP规格没有指定应用程序应该使用这个反馈信息做什么,这完全取决于应用程序开发人员。11/25/9811实时传输控制协议(RTCP)简介11/25/9811

发送端接收端接收端InternetRTPRTCPRTPRTP每个参与者周期性地发送RTCP控制信息包11/25/9812发送端接收端接收端InternetRTPRTCPRTPRTRTCP包类型 1.SR:发送者报告包含活动发送者的发送和接收统计信息。 2.RR:接收者报告包括不是活动发送者的听众接收统计信息。 3.SDES:源描述符用于对源的不同参数进行了描述,包括CNAME(即thecanonicalname)。 4.BYE:当一个参与者要离开会议时所要发送的信息。 5.APP:对于一个应用的功能描述。11/25/9813RTCP包类型11/25/9813发送者报告的RTCP包V=2

P

RCPT=SR=200lengthSSRCofsenderNTPtimestamp,mostsignificantwordNTPtimestamp,leastsignificantwordRTPtimestampsender'spacketcountsender'soctetcountSSRC_1(SSRCoffirstsource)注:后有续表header

senderinfo

reportblock111/25/9814发送者报告的RTCP包V=2PRCPT=SR=200发送者报告的RTCP包(续上表)fractionlost

cumulativenumberofpacketslostextendedhighestsequencenumberreceivedinterarrivaljitterlastSR(LSR)delaysincelastSR(DLSR)SSRC_2(SSRCofsecondsource)...profile-specificextensionsreportblock211/25/9815发送者报告的RTCP包(续上表)fractionlostV=2

版本号,本文档的版本号为2.P

表示有效载荷是否被填充(1为填充)。RC

报告计数,表示这个SR中所包含的报告块数量.PT=SR=200

有效载荷类型.值200表示为RTCPSR包.length

本包的长度(包含头和填充数据)SSRCofsenderSR包的同步源标识.11/25/9816V=211/25/9816NTPtimestamp,mostsignificantword

NTP时间戳(最高有效字),指报告发送时间的时间戳NTPtimestamp,leastsignificantword

NTP时间戳(最低有效字),指报告发送时间的时间戳RTPtimestamp RTP时间戳,与NTP时间戳意义同.但是与RTP包的时间戳具有相同的单元和随机偏移.sender'spacketcount

发送者的包计数器,从会话开始到这一SR为止.如果SSRC必须改变时,该计数器将被复位.sender'soctetcount

发送者的有效载荷八位组计数,从这次会话的开始时间计算.SSRC_n(SSRCoffirstsource) 在接收报告中的第n块(block)同步源标识(SSRC).11/25/9817NTPtimestamp,mostsignificanfractionlost

丢失率.等于接收到的包/预期的包*256cumulativenumberofpacketslost

积累的包丢失数,从接收开始算起,迟到的不算.extendedhighestsequencenumberreceived

接收到的最高扩展序列号(32bit).高16bit包含序列号循环号码,低16bit表示从某个源(同一个SSRC)接收的RTP数据包的最大序列号。interarrivaljitter

抖动间隔。lastSR(LSR)

最后的时间戳。最后接收的SR的NTP时间戳的中间32bit(这是一种压缩的NTP格式)。delaysincelastSR(DLSR)

从最后到达的SR开始的延迟。以压缩的NTP格式表示。再利用最后的SR时间戳,这个最后SR的发送者可以用它来计算发挥时间。11/25/9818fractionlost11/25/9818接收者报告包

接收者报告除了PT域的值是201、第二个域(关于发送者)不存在以外,接收者报告与发送者报告是差不多的,包的格式是一样的。它也可以被不产生RTP流的被动接收者所使用。SDES:源点描述RTCP包

SDES包的PT为202,它包含SC(源计数)块。每一块包括一个SSRC或一个CSRC以及一个信息列表。列表的每个单元都使用TLV(类型能够、长度、数值)编码格式。包的格式如下:11/25/9819接收者报告包11/25/9819源点描述RTCP包V=2pscPT=sdes=202lengthSSRC/CSRC_1SDESitems…SSRC/CSRC_2SDESitems…11/25/9820源点描述RTCP包V=2pscPT=sdes=202lengBYERTCP包

BYERTCP包表示有一个或多个源点(根据源点计数SC的值)已经不再活动。格式如下:V=2pscPT=BYE=203lengthSSRC/CSRC…lengthreasonforleaving…(opt)11/25/9821BYERTCP包V=2pscPT=BYE=203lengAPP:应用定义RTCP包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论