实时传输协议、实时传输控制协议(RTP、RTCP)简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
11
发送端
RTP RTCP
Internet
RTP
RTP
接收端
接收端
GreenNET
每个参与者周期性地发送RTCP 每个参与者周期性地发送RTCP控制信息包 RTCP控制信息包
2011-3-20
深圳市格林耐特通信技术有限公司
12
•
RTCP包类型 包类型 1. SR:发送者报告包含活动发送者的发送和接Fra Baidu bibliotek 统计信息。 2. RR:接收者报告包括不是活动发送者的听众 接收统计信息。 3. SDES:源描述符用于对源的不同参数进行了 描述,包括CNAME(即the canonical name )。 4. BYE:当一个参与者要离开会议时所要发送的 信息。 5. APP:对于一个应用的功能描述。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
17
• fraction lost 丢失率.等于接收到的包/预期的包*256 • cumulative number of packets lost 积累的包丢失数,从接收开始算起,迟到的不算. • extended highest sequence number received 接收到的最高扩展序列号(32bit).高16bit包含序列号循环号码 ,低16bit表示从某个源(同一个SSRC)接收的RTP数据包的最大 序列号。 • interarrival jitter 抖动间隔。 • last SR (LSR) 最后的时间戳。最后接收的SR的NTP时间戳的中间32bit( 这是一种压缩的NTP格式)。 • delay since last SR (DLSR) 从最后到达的SR开始的延迟。以压缩的NTP格式表示。再 利用最后的SR时间戳,这个最后SR的发送者可以用它来计算发 挥时间。 GreenNET
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
10
• 实时传输控制协议(RTCP)简介 实时传输控制协议( ) 多媒体网络应用把RTCP和RTP一起使用,尤其是在多目标广 播中更具吸引力。当从一个或者多个发送端向多个接收端广播声 音或者电视时,也就是在RTP会话期间,每个参与者周期性地向所 有其他参与者发送RTCP控制信息包,如下图所示。RTCP用来监视 服务质量和传送有关与会者的信息。对于RTP会话或者广播,通常 使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包 都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息 包和RTCP信息包区分开来。RTCP的主要功能是为应用程序提供会 话质量或者广播性能质量的信息。每个RTCP信息包不封装声音数 据或者电视数据,而是封装发送端和/或者接收端的统计报表。这 些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖 动等情况,这些反馈信息对发送端、接收端或者网络管理员都是 很有用的。RTCP规格没有指定应用程序应该使用这个反馈信息做 什么,这完全取决于应用程序开发人员。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
16
• NTP timestamp, most significant word NTP时间戳(最高有效字),指报告发送时间的时间戳 • NTP timestamp, least significant word NTP时间戳(最低有效字) ,指报告发送时间的时间戳 • RTP timestamp RTP时间戳,与NTP时间戳意义同.但是与RTP包的时间戳具 有相同的单元和随机偏移. • sender's packet count 发送者的包计数器,从会话开始到这一SR为止.如果SSRC必 须改变时,该计数器将被复位. • sender's octet count 发送者的有效载荷八位组计数,从这次会话的开始时间计算. • SSRC_n (SSRC of first source) 在接收报告中的第n块(block) 同步源标识(SSRC).
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
4
TCP/IP模型 TCP/IP模型 应用层( 应用层(application) RTP - UDP IP 数据链路层( 数据链路层(data link) 物理层( 物理层(physical) 套接接口
RTP和UDP之间的接口 RTP和UDP之间的接口
header sender info
注:后有续表
2011-3-20
深圳市格林耐特通信技术有限公司
report block 1
GreenNET
14
• 发送者报告的 发送者报告的RTCP包(续上表) 包 续上表)
fraction lost cumulative number of packets lost
2011-3-20
深圳市格林耐特通信技术有限公司
3
从应用开发人员的角度来看,可把RTP执行程序看 成是应用程序的一部分,因为开发人员必需把RTP集成 到应用程序中。在发送端,开发人员必需把执行RTP协 议的程序写入到创建RTP信息包的应用程序中,然后应 用程序把RTP信息包发送到UDP的套接接口(socket interface),如下图所示;同样,在接收端,RTP信息 包通过UDP套接接口输入到应用程序,因此开发人员必 需把执行RTP协议的程序写入到从RTP信息包中抽出媒 体数据的应用程序。 (注:一般上RTP被分配在一个偶数UDP端口上,而RTCP 则被分配在一个奇数UDP端口上。)
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
19
源点描述RTCP包 包 源点描述 V=2 p sc PT=sdes=202 length
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
6
• RTP包格式 包格式
v=2 p x cc m 有效载荷类型(pt) 有效载荷类型 时间戳 同步源标识( 同步源标识(SSRC) 提供源标识(CSRC)(注:H.323中不使用 中不使用) 提供源标识(CSRC)(注:H.323中不使用) … 相关Profile 相关 数据 大小 序列号码
2011-3-20
深圳市格林耐特通信技术有限公司
18
• 接收者报告包 接收者报告除了PT域的值是201、第二个域(关 于发送者)不存在以外,接收者报告与发送者报告是 差不多的,包的格式是一样的。它也可以被不产生 RTP流的被动接收者所使用。 • SDES:源点描述 :源点描述RTCP包 包 SDES包的PT为202,它包含SC(源计数)块。 每一块包括一个SSRC或一个CSRC以及一个信息列表 。列表的每个单元都使用TLV(类型能够、长度、数 值)编码格式。 包的格式如下:
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
report block 2
15
• V=2 版本号,本文档的版本号为2. • P 表示有效载荷是否被填充(1为填充)。 • RC 报告计数,表示这个SR中所包含的报告块数量. • PT=SR=200 有效载荷类型.值200表示为RTCP SR 包. • length 本包的长度(包含头和填充数据) • SSRC of sender SR包的同步源标识.
注:如果x=1的话则有最后两行.
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
7
• v=2 版本号, 目前版本号为2。 • p 表示有效载荷是否被填充(1为填充)。 • x 表示在最后CSRC之后是否有扩展存在(1为有)。 • cc CSRC计数,表示有多少个CSRC标识符。 • M 标识位。由RTP剖面定义。在H.225.0中用于支持 无声抑制(silence suppression)的音频编码,在每个无 声段之后有声区的第一个包中必须设为1。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
9
• 提供源(CSRC) 提供源( ) 当一个RTP流是由RTP混和器提供几个流组合的 结果时,每个提供流的SSRC列表就会被加到该流的 头中为SSRC。最终的流有自己的SSRC。这一特性在 H.323中没有使用。 • 相关 相关Profile 剖面定义(由用户定义)。(注:如果用户想定 义多种数据类型时,此处可以定义为参数的形式,但 本文档不提供这些参考) • 大小 后面附加的数据的长度。 • 数据 相关数据。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
5
现以用RTP传输声音为例来说明它的工作过程。假 设音源的声音是64 kb/s的PCM编码声音,并假设应用 程序取20毫秒的编码数据为一个数据块(chunk),即在 一个数据块中有160个字节的声音数据。应用程序需要 为这块声音数据添加RTP标题生成RTP信息包,这个标 题包括声音数据的类型、顺序号和时间戳。然后RTP信 息包被送到UDP套接接口,在那里再被封装在UDP信息 包中。在接收端,应用程序从套接接口处接收RTP信息 包,并从RTP信息包中抽出声音数据块,然后使用RTP 信息包的标题域中的信息正确地译码和播放声音。 这里需要强调的是,RTP本身不提供任何机制来确 保把数据及时递送到接收端或者确保其他的服务质量 ,它也不担保在递送过程中不丢失信息包或者防止信 息包的次序不被打乱。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
2
TCP/IP模型 应用层( 应用层(application) 传输层 RTP UDP IP 数据链路层( 数据链路层(data link) 物理层( 物理层(physical)
RTP是传输层上的协议 RTP是传输层上的协议
GreenNET
extended highest sequence number received interarrival jitter last SR (LSR) delay since last SR (DLSR) SSRC_2 (SSRC of second source) ... profileprofile-specific extensions
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
8
• Pt 一些静态的有效载荷类型。 • 序列号 从一个随机数开始,每个RTP包加1。 • 时间戳 时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息 包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳 来去除由网络引起的信息包的抖动,并且在接收端为播放提供同 步功能。 • 同步源标识 同步源标识(SSRC) 同步源标识符用来标识RTP信息包流的起源,在RTP会话或者 期间的每个信息包流都有一个清楚的SSRC。SSRC不是发送端的IP 地址,而是在新的信息包流开始时源端随机分配的一个号码。
VOIP培训
-----RTP -----RTP、RTCP部分
2002年8月
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
1
• RTP简介 简介 RTP是一种提供端对端传输服务的实时传输协议, 用来支持在单目标广播和多目标广播网络服务中传输 实时数据,而实时数据的传输则由RTCP协议来监视和 控制。 使用RTP协议的应用程序运行在RTP之上,而执行 RTP的程序运行在UDP的上层,目的是为了使用UDP的端 口号和检查和。如图16-12所示,RTP可以看成是传输 层的子层。由多媒体应用程序生成的声音和电视数据 块被封装在RTP信息包中,每个RTP信息包被封装在UDP 消息段中,然后再封装在IP数据包中。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
13
•
发送者报告的RTCP包 包 发送者报告的
V=2 P RC PT=SR=200 SSRC of sender NTP timestamp, most significant word NTP timestamp, least significant word RTP timestamp sender's packet count sender's octet count SSRC_1 (SSRC of first source) length
2011-3-20
深圳市格林耐特通信技术有限公司
11
发送端
RTP RTCP
Internet
RTP
RTP
接收端
接收端
GreenNET
每个参与者周期性地发送RTCP 每个参与者周期性地发送RTCP控制信息包 RTCP控制信息包
2011-3-20
深圳市格林耐特通信技术有限公司
12
•
RTCP包类型 包类型 1. SR:发送者报告包含活动发送者的发送和接Fra Baidu bibliotek 统计信息。 2. RR:接收者报告包括不是活动发送者的听众 接收统计信息。 3. SDES:源描述符用于对源的不同参数进行了 描述,包括CNAME(即the canonical name )。 4. BYE:当一个参与者要离开会议时所要发送的 信息。 5. APP:对于一个应用的功能描述。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
17
• fraction lost 丢失率.等于接收到的包/预期的包*256 • cumulative number of packets lost 积累的包丢失数,从接收开始算起,迟到的不算. • extended highest sequence number received 接收到的最高扩展序列号(32bit).高16bit包含序列号循环号码 ,低16bit表示从某个源(同一个SSRC)接收的RTP数据包的最大 序列号。 • interarrival jitter 抖动间隔。 • last SR (LSR) 最后的时间戳。最后接收的SR的NTP时间戳的中间32bit( 这是一种压缩的NTP格式)。 • delay since last SR (DLSR) 从最后到达的SR开始的延迟。以压缩的NTP格式表示。再 利用最后的SR时间戳,这个最后SR的发送者可以用它来计算发 挥时间。 GreenNET
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
10
• 实时传输控制协议(RTCP)简介 实时传输控制协议( ) 多媒体网络应用把RTCP和RTP一起使用,尤其是在多目标广 播中更具吸引力。当从一个或者多个发送端向多个接收端广播声 音或者电视时,也就是在RTP会话期间,每个参与者周期性地向所 有其他参与者发送RTCP控制信息包,如下图所示。RTCP用来监视 服务质量和传送有关与会者的信息。对于RTP会话或者广播,通常 使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包 都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息 包和RTCP信息包区分开来。RTCP的主要功能是为应用程序提供会 话质量或者广播性能质量的信息。每个RTCP信息包不封装声音数 据或者电视数据,而是封装发送端和/或者接收端的统计报表。这 些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖 动等情况,这些反馈信息对发送端、接收端或者网络管理员都是 很有用的。RTCP规格没有指定应用程序应该使用这个反馈信息做 什么,这完全取决于应用程序开发人员。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
16
• NTP timestamp, most significant word NTP时间戳(最高有效字),指报告发送时间的时间戳 • NTP timestamp, least significant word NTP时间戳(最低有效字) ,指报告发送时间的时间戳 • RTP timestamp RTP时间戳,与NTP时间戳意义同.但是与RTP包的时间戳具 有相同的单元和随机偏移. • sender's packet count 发送者的包计数器,从会话开始到这一SR为止.如果SSRC必 须改变时,该计数器将被复位. • sender's octet count 发送者的有效载荷八位组计数,从这次会话的开始时间计算. • SSRC_n (SSRC of first source) 在接收报告中的第n块(block) 同步源标识(SSRC).
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
4
TCP/IP模型 TCP/IP模型 应用层( 应用层(application) RTP - UDP IP 数据链路层( 数据链路层(data link) 物理层( 物理层(physical) 套接接口
RTP和UDP之间的接口 RTP和UDP之间的接口
header sender info
注:后有续表
2011-3-20
深圳市格林耐特通信技术有限公司
report block 1
GreenNET
14
• 发送者报告的 发送者报告的RTCP包(续上表) 包 续上表)
fraction lost cumulative number of packets lost
2011-3-20
深圳市格林耐特通信技术有限公司
3
从应用开发人员的角度来看,可把RTP执行程序看 成是应用程序的一部分,因为开发人员必需把RTP集成 到应用程序中。在发送端,开发人员必需把执行RTP协 议的程序写入到创建RTP信息包的应用程序中,然后应 用程序把RTP信息包发送到UDP的套接接口(socket interface),如下图所示;同样,在接收端,RTP信息 包通过UDP套接接口输入到应用程序,因此开发人员必 需把执行RTP协议的程序写入到从RTP信息包中抽出媒 体数据的应用程序。 (注:一般上RTP被分配在一个偶数UDP端口上,而RTCP 则被分配在一个奇数UDP端口上。)
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
19
源点描述RTCP包 包 源点描述 V=2 p sc PT=sdes=202 length
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
6
• RTP包格式 包格式
v=2 p x cc m 有效载荷类型(pt) 有效载荷类型 时间戳 同步源标识( 同步源标识(SSRC) 提供源标识(CSRC)(注:H.323中不使用 中不使用) 提供源标识(CSRC)(注:H.323中不使用) … 相关Profile 相关 数据 大小 序列号码
2011-3-20
深圳市格林耐特通信技术有限公司
18
• 接收者报告包 接收者报告除了PT域的值是201、第二个域(关 于发送者)不存在以外,接收者报告与发送者报告是 差不多的,包的格式是一样的。它也可以被不产生 RTP流的被动接收者所使用。 • SDES:源点描述 :源点描述RTCP包 包 SDES包的PT为202,它包含SC(源计数)块。 每一块包括一个SSRC或一个CSRC以及一个信息列表 。列表的每个单元都使用TLV(类型能够、长度、数 值)编码格式。 包的格式如下:
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
report block 2
15
• V=2 版本号,本文档的版本号为2. • P 表示有效载荷是否被填充(1为填充)。 • RC 报告计数,表示这个SR中所包含的报告块数量. • PT=SR=200 有效载荷类型.值200表示为RTCP SR 包. • length 本包的长度(包含头和填充数据) • SSRC of sender SR包的同步源标识.
注:如果x=1的话则有最后两行.
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
7
• v=2 版本号, 目前版本号为2。 • p 表示有效载荷是否被填充(1为填充)。 • x 表示在最后CSRC之后是否有扩展存在(1为有)。 • cc CSRC计数,表示有多少个CSRC标识符。 • M 标识位。由RTP剖面定义。在H.225.0中用于支持 无声抑制(silence suppression)的音频编码,在每个无 声段之后有声区的第一个包中必须设为1。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
9
• 提供源(CSRC) 提供源( ) 当一个RTP流是由RTP混和器提供几个流组合的 结果时,每个提供流的SSRC列表就会被加到该流的 头中为SSRC。最终的流有自己的SSRC。这一特性在 H.323中没有使用。 • 相关 相关Profile 剖面定义(由用户定义)。(注:如果用户想定 义多种数据类型时,此处可以定义为参数的形式,但 本文档不提供这些参考) • 大小 后面附加的数据的长度。 • 数据 相关数据。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
5
现以用RTP传输声音为例来说明它的工作过程。假 设音源的声音是64 kb/s的PCM编码声音,并假设应用 程序取20毫秒的编码数据为一个数据块(chunk),即在 一个数据块中有160个字节的声音数据。应用程序需要 为这块声音数据添加RTP标题生成RTP信息包,这个标 题包括声音数据的类型、顺序号和时间戳。然后RTP信 息包被送到UDP套接接口,在那里再被封装在UDP信息 包中。在接收端,应用程序从套接接口处接收RTP信息 包,并从RTP信息包中抽出声音数据块,然后使用RTP 信息包的标题域中的信息正确地译码和播放声音。 这里需要强调的是,RTP本身不提供任何机制来确 保把数据及时递送到接收端或者确保其他的服务质量 ,它也不担保在递送过程中不丢失信息包或者防止信 息包的次序不被打乱。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
2
TCP/IP模型 应用层( 应用层(application) 传输层 RTP UDP IP 数据链路层( 数据链路层(data link) 物理层( 物理层(physical)
RTP是传输层上的协议 RTP是传输层上的协议
GreenNET
extended highest sequence number received interarrival jitter last SR (LSR) delay since last SR (DLSR) SSRC_2 (SSRC of second source) ... profileprofile-specific extensions
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
8
• Pt 一些静态的有效载荷类型。 • 序列号 从一个随机数开始,每个RTP包加1。 • 时间戳 时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息 包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳 来去除由网络引起的信息包的抖动,并且在接收端为播放提供同 步功能。 • 同步源标识 同步源标识(SSRC) 同步源标识符用来标识RTP信息包流的起源,在RTP会话或者 期间的每个信息包流都有一个清楚的SSRC。SSRC不是发送端的IP 地址,而是在新的信息包流开始时源端随机分配的一个号码。
VOIP培训
-----RTP -----RTP、RTCP部分
2002年8月
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
1
• RTP简介 简介 RTP是一种提供端对端传输服务的实时传输协议, 用来支持在单目标广播和多目标广播网络服务中传输 实时数据,而实时数据的传输则由RTCP协议来监视和 控制。 使用RTP协议的应用程序运行在RTP之上,而执行 RTP的程序运行在UDP的上层,目的是为了使用UDP的端 口号和检查和。如图16-12所示,RTP可以看成是传输 层的子层。由多媒体应用程序生成的声音和电视数据 块被封装在RTP信息包中,每个RTP信息包被封装在UDP 消息段中,然后再封装在IP数据包中。
GreenNET
2011-3-20
深圳市格林耐特通信技术有限公司
13
•
发送者报告的RTCP包 包 发送者报告的
V=2 P RC PT=SR=200 SSRC of sender NTP timestamp, most significant word NTP timestamp, least significant word RTP timestamp sender's packet count sender's octet count SSRC_1 (SSRC of first source) length