通信系统协议——RTP与RTCP协议
RTP/RTCP协议下MPEG-4视频流传输系统应用研究

汪理 虎 刘春 生 ( 南京航 空航天大学 自动化学院, 江苏 南京 20 1 ) 106
摘 要
ቤተ መጻሕፍቲ ባይዱ
在 结合 R P R CP协 议 和 MP G一 T/T E 4视 频 标 准 基 础 上 , 出 了一 种 适 用 于 MP G一 提 E 4视 频 流 网 络 传 输 系统 的解 决 方 案 ,
传输 Qo S监测 和拥塞 控制 、 体间同步 、 媒 识别 信息 、 会议 大小估 计和控制信息量的调节 等服务 。在 R P会话期间 , T 各会话成员 周期性 的发送 R CP控制包 ,因此服务器可 以利用这些控制信 T 息灵活的改变数据传输速率 , 从而使 网络传输 效率达到最优化 ,
重 点介 绍 了 MP G一 E 4数 据 的 R P协议 封 装技 术 , 对 网络 传输 的相 关编 程 实现做 了详 细 的 讨 论 。 T 并
关 键 词 :T / T PMP G 4标 准 , 媒 体 , 频 , R PR C , E 一 流 视 网络 传 输
Ab ta t sr c
型 。 R P R CP协 议 架 构 在 U P I T /T D /P之 上 的 系 统 应 用 层 中 。
算法 , 它希望建立一种低带宽下的多媒体通信 , 并实现多媒体通 信的综合。MP G一 E 4的编码是基于对象 的 , 它把 视频数据分割
成 不 同 的对 象 , 分别 对 每 个 对 象 的编 码 形 成 一 个 对 象 码 流层 , 其 中包 含 着 该 对 象 的 形 状 、纹 理 以及 其 他 方 面 的 信 息 。 同 时 ,
统 中的一 种 实 际应 用 方 案 。 1 系统 原 理 分 析 与框 架设 计 11MP G一 . E 4压 缩 标 准 19 9 8年 1 1月 MP G一 E 4最 初 定 案 , 于 1 9 并 9 9年 2月 正 式 成 为 IO IC 1 4 6国 际标 准 。 MP G一 S /E 4 9 E 4与 J E 、 E 1 P G MP G一
RTP协议介绍

3.1. RTP协议分析3.1.1. RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。
它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。
RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。
RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。
RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP 来提供。
3.1.2. RTP的协议层次——传输层的子层RTP被划分在传输层,它建立在UDP上。
同UDP协议一样,为了实现其实时传输功能,RTP也有固定的封装形式。
RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。
服务质量由RTCP来提供。
3.1.3. RTP协议原理RTP协议原理比较简单,负责对流媒体数据进行封包并实现媒体流的实时传输,即它按照RPT数据包格式来封装流媒体数据,并利用与它绑定的协议进行数据包的传输,具体见本文2.2.1RTP数据格式;RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
3.1.3.1. RTP的封装版本号(V):2比特,用来标志使用的RTP版本。
填充位(P):1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。
扩展位(X):1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩展头部。
CSRC计数器(CC):4比特,含有固定头部后面跟着的CSRC的数目。
标记位(M):1比特,该位的解释由配置文档(Profile)来承担。
载荷类型(PT):7比特,标识了RTP载荷的类型。
序列号(SN):16比特,发送方在每发送完一个RTP包后就将该域的值增加1,接收方可以由该域检测包的丢失及恢复包序列。
几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结在音视频传输领域,有多种常见的协议被用于在网络中传输音视频数据。
每种协议都有其独特的特点和适用范围。
下面将对其中几种常见音视频传输协议进行总结。
RTP是一种用于实时传输音视频数据的协议。
它提供了时间戳、序列号、同步源标识等功能,以确保音视频数据能够准确有序地传输。
RTP协议通常与RTCP(RTP Control Protocol)一起使用,后者用于监控数据质量、同步参与者等。
RTP适用于对实时性要求较高的音视频应用,如WebRTC、视频会议等。
2. RTSP(Real-Time Streaming Protocol)RTSP是一种基于客户端-服务端模型的流媒体控制协议。
它允许客户端向服务器发送命令,控制流媒体的播放、暂停、停止等操作。
RTSP常用于流媒体服务器和播放器之间的控制通信,如IP摄像头、网络电视等。
3. SIP(Session Initiation Protocol)5. HTTP Live Streaming(HLS)HLS是一种基于HTTP的流媒体传输协议。
它将整个音视频文件切分成多个小的TS(Transport Stream)分片文件,并使用M3U8文件来描述这些分片的信息和顺序。
HLS适用于优化大规模流媒体内容的传输,如在线直播、点播,以及移动端的流媒体传输。
6. RTP over UDP/TCPRTP协议通常在UDP(User Datagram Protocol)或TCP (Transmission Control Protocol)协议上运行。
使用UDP时,RTP提供了实时性高、延迟低的优势,适用于对数据准确性要求不高的应用。
而使用TCP时,RTP可以提供可靠性,保证音视频数据的有序性和完整性,适用于对数据准确性要求较高的应用。
综上所述,不同的音视频传输协议适用于不同的应用场景。
RTP和RTSP适用于流媒体的实时传输和控制;SIP和WebRTC适用于实时通信应用;HLS适用于优化大规模流媒体传输;而RTP over UDP/TCP则根据应用的具体需求选择不同的传输方式。
RTP协议

第一章RTP协议§ 3.1 RTP协议概述RTP协议是由IETF开发的,1996年成为RFC正式文档,是用于V oIP,视频等实时媒体传送的协议。
RTP为交互式音频、视频等具有实时特性的数据提供端到端的传送服务。
在IP网络上,一般是在UDP之上运行RTP协议。
如果支持它的网络能提供组播功能,则RTP也可用组播将数据送给多个目的用户。
RTP包括两个关系十分密切的子协议:实时传输协议(RTP):用于传输实时数据。
实时控制协议(RTCP):用于监视网络的服务质量,并传递与会者会话中的信息。
下面首先给出有关RTP的一些定义。
• RTP会话(RTP session):RTP传输服务使用者之间的连接被称为RTP会话,就每一个会话参加者而言,会话由一对传输层地址(即一个网络层地址加上两个端口地址,一个端口为RTP报文的发送/接收所占用,另一个端口为RTCP 报文的发送/接收所占用)标识。
在IP多播方式中,每个参与者的目的地运输层地址对可以都相同;在单播方式中,每个参与者的地址对均不相同,因为每个人的网络层地址都不相同。
在多媒体会话中,每个媒体信号由不同的RTP会话传送,有其自己的RTCP分组。
各RTP会话由不同的端口对和/或不同的多播地址区分。
• RTP媒体类型:由一个RTP会话传送的所有净荷类型的集合。
RTP应用文档指定RTP媒体类型和RTP净荷类型的关系。
• RTP 净荷:由RTP传送的数据,如音频抽样信号,压缩视频数据等。
净荷格式及其解释由应用层规定。
• RTP分组:由RTP头部和净荷数据组成。
通常下层传送协议的一个数据包(如一个UDP包)只含一个RTP分组;如果采用一定的封装方法,也可以包含多个RTP分组。
• 同步源SSRC(Synchronization source ):RTP包的信源流,在RTP头中用32比特长的同步源标识符表示,与网络地址无关。
该字段用以标识信号的同步源,其值应随机选择,以保证RTP会话中任意两个同步源的SSRC标识都不相同。
RTP协议中文版

RTP协议中文版一、引言RTP(实时传输协议)是一种用于在互联网上传输音频和视频的协议。
该协议旨在提供实时传输、容错和流控制的功能,以满足实时通信应用的需求。
本协议旨在规范RTP协议的中文版,以便更好地促进国内实时通信领域的发展。
二、定义1. RTP会话:指一组参与者之间的通信,通过RTP协议进行音频和视频的传输。
2. RTP数据包:指通过RTP协议传输的音频和视频数据的单元。
3. RTP流:指一组连续的RTP数据包,用于传输音频或视频数据。
三、协议规范1. RTP协议版本RTP协议的当前版本为2.0。
2. RTP会话的建立2.1 RTP会话的参与者应使用RTP协议的版本2.0。
2.2 RTP会话的参与者应通过SDP(会话描述协议)进行会话的描述和协商。
2.3 RTP会话的参与者应遵循SDP中关于媒体类型、编码格式和传输协议的描述。
3. RTP数据包格式3.1 RTP数据包由头部和有效载荷组成。
3.2 RTP数据包头部包含以下字段:- 版本:指示RTP协议的版本号。
- 填充位:用于填充RTP数据包,以满足特定的传输要求。
- 扩展位:用于指示RTP数据包是否包含扩展头部。
- CSRC计数:指示RTP数据包中CSRC标识符的数量。
- 标志位:用于指示RTP数据包的特性,如是否包含扩展头部、是否加密等。
- 序列号:用于标识RTP数据包的顺序。
- 时间戳:用于同步音频和视频数据。
- SSRC标识符:用于标识RTP数据包的源。
3.3 RTP数据包的有效载荷应根据媒体类型进行适当的编码和压缩。
4. RTP流控制4.1 RTP流控制应根据网络状况和参与者的能力进行适当的调整。
4.2 RTP流控制应遵循RTCP(RTP控制协议)的规范。
4.3 RTP流控制应包括以下功能:- 带宽管理:根据网络带宽的可用性和参与者的需求进行带宽分配。
- 拥塞控制:根据网络拥塞程度进行数据传输的控制。
- 延迟控制:根据实时通信应用的需求进行延迟控制,以保证音频和视频的实时性。
RTP实时传输协议

2.3 混流服务器(MIXER)和 混流服务器(MIXER)和 译流服务器( 译流服务器(TRANSLATOR)
顾名思义, 顾名思义,混流就是把多个进入的流信息混合 输出为一个流, 输出为一个流,一个应用就是适应不同带宽的 需要。 需要。 译流服务器就是把入流经过转化变成另一种形 式的流传出, 式的流传出,一个应用是防火墙有可能阻止某 些端口的IP包,而经过转换的IP包可顺利通过。 些端口的 包 而经过转换的 包可顺利通过。 包可顺利通过
1.配置文档(profile specification 1.配置文档( 配置文档 document) )
定义传输负载类型编码和与实际负载类型格式的 对应关系。对于特定的应用,还定义了对于RTP 对应关系。对于特定的应用,还定义了对于 所应做的扩展和修改。 所应做的扩展和修改。
2.负载格式规范文档(payload format 负载格式规范文档( 负载格式规范文档 specification documents) )
音频、视频信息通过不同的 音频、视频信息通过不同的RTP会话 会话 (session)传输,即二者是分开传输的。 )传输,即二者是分开传输的。 同时对于每一个传输,都有2个端口用来 同时对于每一个传输,都有 个端口用来 传送RTP数据和 数据和RTCP控制信息。 控制信息。 传送 数据和 控制信息 这样做的目的是因为接受者可能由于带 宽限制,只够接受音频数据, 宽限制,只够接受音频数据,或他只想 接受一种数据。 接受一种数据。在5.2中可得到这方面的 中可得到这方面的 详细信息。 详细信息。
会议的每个参与者每隔20ms发送一段音频 发送一段音频 会议的每个参与者每隔 数据,放在RTP包中。RTP包又通过 包中。 包又通过UDP 数据,放在 包中 包又通过 包传输。 包传输。RTP包头中定义了音频文件的编 包头中定义了音频文件的编 码方式, 码方式,以便参与者改变自己的编码方式 以适应网络传输( 以适应网络传输(如编码质量低以适应低 带宽传输)。 带宽传输)。 INTERNET会产生丢包和延迟,所以RTP 会产生丢包和延迟,所以 会产生丢包和延迟 包头中包含了时间信息和一个序号, 包头中包含了时间信息和一个序号,序号 可以用来使接受方预测丢包的情况。 可以用来使接受方预测丢包的情况。
RTCP协议详解
RTCP协议详解RTCP协议介绍RTCP概要实时传输控制协议(Real-time ControlProtocol,RTCP)与RTP 共同定义在1996年提出的RFC 1889中,是和 RTP一起工作的控制协议。
RTCP单独运行在低层协议上,由低层协议提供数据与控制包的复用。
在RTP会话期间,每个会话参与者周期性地向所有其他参与者发送RTCP控制信息包,如下图所示。
对于RTP会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息包和RTCP信息包区分开来。
图每个参与者周期性地发送RTCP控制信息包RTCP功能1、为应用程序提供会话质量或者广播性能质量的信息RTCP的主要功能是为应用程序提供会话质量或者广播性能质量的信息。
每个RTCP信息包不封装声音数据或者电视数据,而是封装发送端(和/ 或者)接收端的统计报表。
这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息反映了当前的网络状况,对发送端、接收端或者网络管理员都非常有用。
RT CP规格没有指定应用程序应该使用这些反馈信息做什么,这完全取决于应用程序开发人员。
例如,发送端可以根据反馈信息来调整传输速率,接收端可以根据反馈信息判断问题是本地的、区域性的还是全球性的,网络管理员也可以使用RTCP信息包中的信息来评估网络用于多目标广播的性能。
2、确定 RTP用户源RTCP为每个RTP用户提供了一个全局唯一的规范名称 (Canonic al Name)标志符CNAME,接收者使用它来追踪一个RTP进程的参加者。
当发现冲突或程序重新启动时,RTP中的同步源标识符SSRC 可能发生改变,接收者可利用CNAME来跟踪参加者。
同时,接收者也需要利用CNAME在相关RTP连接中的几个数据流之间建立联系。
当 RTP需要进行音视频同步的时候,接受者就需要使用 CNAME来使得同一发送者的音视频数据相关联,然后根据RTCP包中的计时信息(Network time protocol)来实现音频和视频的同步。
RTCP 丢包抖动时延计算原理
RTP/RTCP 丢包/抖动/时延计算原理1.RTP/RTCP的基本功能介绍实时传输协议RTP(A Transport Protocol for Real-Time Application)提供实时的端对端传输业务(如交互的语音和图象),包括负载类型标识,序列号,时间戳,传输监视。
实时传输协议(RTP)本身并不提供任何机制保证实时传输或业务质量保证,而是让底层协议去实现。
RTP包括两个紧密相关的部分:实时传输协议(RTP-Real Time Transport Protocol),传输有实时特性的信息;RTP控制协议(RTCP-RTP Control Protocol),监视业务质量和传输对话中成员的信息。
RTP/RTCP报文封装格式为:DL+IP+UDP+RTP/RTCP2.RTP报文统计方法介绍RTP报文发送统计:NTP时间标志:64比特,指示了此报告发送时的壁钟(wallclock)时刻,它可以与从其它接收者返回的接收报告块中的时间标志结合起来,测量到这些接收者的环路时延。
RTP时间标志:32比特,与以上的NTP时间标志对应同一时刻,但是与数据包中的RTP时间标志具有相同的单位和偏移量。
发送包数:32比特,从开始传输到此SR包产生时该发送者发送的RTP数据包总数。
若发送者改变SSRC识别符,该计数器重设。
发送字节数:32比特,从开始传输到此SR包产生时该发送者在RTP数据包发送的字节总数(不包括头和填充)。
若发送者改变SSRC识别符,该计数器重设。
RTP报文接收统计:丢包率:8比特,自从前一SR包或RR包发送以来,从SSRC_n传来的RTP 数据包的损失比例,以固定点小数的形式表示,小数点在此域的左侧,等于将丢包率乘256后取整数部分。
该值定义为损失包数被期望接收的包数除。
(对应RTCP消息中的丢包率时,除以256再乘以100即可,如为127,则丢包率为50%。
)累计包损:24比特,从开始接收到现在,从源SSRC_n发到本源的RTP数据包的丢包总数。
RTP协议详解-无水印版
RTP协议分析一.RTP协议背景 (2)二.RTP协议原理及工作机制 (3)2.1 RTP协议原理 (4)2.1.1 RTP协议原理 (4)2.1.2 RTCP协议原理 (4)2.2 RTP数据包格式 (5)2.2.1 RTP数据包格式 (5)2.2.2 RTCP数据包格式 (8)2.3 RTP工作机制 (12)2.3.1 RTP工作机制 (12)2.3.2 RTCP工作机制 (12)三.RTP协议关键技术指标 (13)3.1 时间戳 (13)3.2时延 (14)3.3 抖动 (15)3.4丢包率 (15)3.5 会话和流两级分用 (16)3.6 多种流同步控制 (16)四.RTP协议应用方案 (17)4.1 RTP协议应用方案之单播 (17)4.2 RTP协议应用方案之广播 (17)4.3 RTP协议应用方案之组播 (17)4.3.1 RTP协议组播方案总体概述 (18)4.3.2 RTP协议组播方案服务器端实现 (19)4.3. 3RTP协议组播方案客户端实现 (20)4.3. 4RTP协议视频帧率和质量调整策略 (21)五.RTP协议移植计划 (22)六.RTP协议安全方面考虑 (22)一.RTP协议背景流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。
流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。
通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。
流式传输有顺序流式传输(Progressive Streaming)和实时流式传输(Realtime Streaming)两种方式。
RTP协议分析和详解
RTP协议分析和详解⼀、RTP协议分析第1章. RTP概述1.1. RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。
它是IETF提出的⼀个标准,对应的RFC⽂档为RFC3550(RFC1889为其过期版本)。
RFC3550不仅定义了RTP,⽽且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。
RTP⽤来为IP⽹上的语⾳、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。
RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。
1.2. RTP的应⽤环境RTP⽤于在单播或多播⽹络中传送实时数据。
它们典型的应⽤场合有如下⼏个。
简单的多播⾳频会议。
语⾳通信通过⼀个多播地址和⼀对端⼝来实现。
⼀个⽤于⾳频数据(RTP),另⼀个⽤于控制包(RTCP)。
⾳频和视频会议。
如果在⼀次会议中同时使⽤了⾳频和视频会议,这两种媒体将分别在不同的RTP会话中传送,每⼀个会话使⽤不同的传输地址(IP地址+端⼝)。
如果⼀个⽤户同时使⽤了两个会话,则每个会话对应的RTCP包都使⽤规范化名字CNAME(Canonical Name)。
与会者可以根据RTCP包中的CNAME来获取相关联的⾳频和视频,然后根据RTCP包中的计时信息(Network time protocol)来实现⾳频和视频的同步。
翻译器和混合器。
翻译器和混合器都是RTP级的中继系统。
翻译器⽤在通过IP多播不能直接到达的⽤户区,例如发送者和接收者之间存在防⽕墙。
当与会者能接收的⾳频编码格式不⼀样,⽐如有⼀个与会者通过⼀条低速链路接⼊到⾼速会议,这时就要使⽤混合器。
在进⼊⾳频数据格式需要变化的⽹络前,混合器将来⾃⼀个源或多个源的⾳频包进⾏重构,并把重构后的多个⾳频合并,采⽤另⼀种⾳频编码进⾏编码后,再转发这个新的RTP包。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HUAWEI GT800 GTSOFTX3000 技术手册 信令与协议分册 目 录
文档版本 03 (2008-07-15) 华为所有和机密 版权所有 © 华为技术有限公司 i
目 录 2 RTP与RTCP协议......................................................................................................................2-1 2.1 概述..............................................................................................................................................................2-2 2.2 RTP/RTCP协议应用....................................................................................................................................2-2 2.3 报文格式和含义..........................................................................................................................................2-3 2.3.1 RTP报头的格式.................................................................................................................................2-3 2.3.2 RTCP包格式.......................................................................................................................................2-4 2.3.3 RTCP的主要功能...............................................................................................................................2-5 2.3.4 RTCP发送间隔...................................................................................................................................2-5 插图目录 HUAWEI GT800 GTSOFTX3000技术手册 信令与协议分册
ii 华为所有和机密 版权所有 © 华为技术有限公司 文档版本 03 (2008-07-15)
插图目录 图2-1 RTP/RTCP在UMG8900设备中的应用................................................................................................2-3 HUAWEI GT800 GTSOFTX3000 技术手册 信令与协议分册 表格目录
文档版本 03 (2008-07-15) 华为所有和机密 版权所有 © 华为技术有限公司 iii
表格目录 表2-1 RTP报头各域含义.................................................................................................................................2-3 表2-2 RTCP报文...............................................................................................................................................2-4 HUAWEI GT800 GTSOFTX3000 技术手册 信令与协议分册 2 RTP与RTCP协议
文档版本 03 (2008-07-15) 华为所有和机密 版权所有 © 华为技术有限公司 2-1
2 RTP与RTCP协议
关于本章 本章描述内容如下表所示。 标题 内容 2.1 概述 概述RTP与RTCP协议的功能。 2.2 RTP/RTCP协议应用 介绍RTP与RTCP协议的应用。 2.3 报文格式和含义 介绍PTP与RTCP协议的报文格式和含义。 2 RTP与RTCP协议 HUAWEI GT800 GTSOFTX3000技术手册 信令与协议分册
2-2 华为所有和机密 版权所有 © 华为技术有限公司 文档版本 03 (2008-07-15)
2.1 概述 基于IP承载的语音业务流是在UDP上传输的,而UDP协议是用于专门传输数据流,设计时并没有考虑实时业务传输的特殊要求,如媒体流的同步等。因此在UDP上传送实时业务时,需要对UDP进行扩充。为此IETF专门制定了实时业务传输协议――实时传输协议RTP(Real Time Protocol)。
RTP的功能是提供实时的端对端传输业务(如交互的语音和图象),包括负载类型标识,序列号,时间戳,传输监视。实时传输协议本身并不提供任何机制保证实时传输或业务质量保证,而是让底层协议去实现。
目前基于IP承载的语音业务流传输广泛使用RTP/RTCP(RTP Control Protocol)协议,实际上实时传输协议RTP还能够在单播或者多播网络业务上提供端到端的网络传输功能,适合于传输各种实时数据,如视频或仿真数据的应用等等。RTP/RTCP是基于传输层设计的。
RTP包括两个紧密相关的部分: z RTP,传输有实时特性的信息。 z RTCP,监视业务质量和传输对话中成员的信息。
在RTP使得音视频的实时传送及同步得到保证。RTCP则是监视RTP及其QoS的协议。详细的协议描述请参见相应的RFC文档。RTP不预留资源,也不保证实时业务的服务质量。数据传输的加强是通过使用控制协议RTCP来实现的,它可以伸缩到大的多播网的方式检视数据的传输,提供最少的控制和鉴别功能。RTP/RTCP的设计独立于下面的传输层和网络层。
2.2 RTP/RTCP协议应用 对于语音业务的IP承载实现,主要通过RTP来完成,在UMG8900设备应用中,需要同时完成从ATM和TDM到IP承载的转换过程,其中RTP/RTCP主要完成基于IP承载的业务处理与适配,RTP/RTCP协议功能是由UMG8900设备的MRPU单板来实现和完成的,其应用如图2-1所示。 HUAWEI GT800 GTSOFTX3000 技术手册 信令与协议分册 2 RTP与RTCP协议
文档版本 03 (2008-07-15) 华为所有和机密 版权所有 © 华为技术有限公司 2-3
图2-1 RTP/RTCP在UMG8900设备中的应用 Nb UPRTPUDPIPETH
IP
MRPURTCP
RTP/RTCP属于传输层上的协议,通过RTP完成Nb UP的适配,通过RTCP对RTP报文进行监视。
2.3 报文格式和含义 2.3.1 RTP报头的格式 RTP的报头主要包含如表2-1所示各域。 表2-1 RTP报头各域含义 域名 长度(bit)含义 版本(V) 2 定义了RTP的版本,此协议定义的版本是2。 补齐位(P) 1 如果补齐位被设置为1,一个或多个附加的字节会加在包头的最好,附加的最后一个字节放置附加的字节数。补齐是一些加密算法所必需的,在下层网络数据包携带多个RTP包时也需要补齐。
扩展位(X) 1 如果设置为1,一个头部扩展会加在RTP包头后。
CSRC源数(CC) 4 定义本头部包含的CSRC源的数目。 标志(M) 1 由具体协议规定。在IP电话中,规定在静音后的第一个RTP数据报文中此位置1,其余情况置0。 2 RTP与RTCP协议 HUAWEI GT800 GTSOFTX3000技术手册 信令与协议分册 2-4 华为所有和机密 版权所有 © 华为技术有限公司 文档版本 03 (2008-07-15)
域名 长度(bit)含义 负载类型(PT) 7 定义RTP负载的格式。
序列号 16 接收端根据它检测丢包和重建数据包。序列号的初始值是随机的,每发送一个RTP数据包,序列号递增。
时间标志(timestamp)
32 反映了RTP数据包中第一个比特的抽样瞬间。抽样瞬间精度
必须满足同步需求,以便进行同步和抖动计算。时间标志的起始值是随机的,以后随根据报文数据的大小递增。
SSRC 32 用于识别RTP报文发送者。标识符随机生成,用以标识在一
个网关内部没有任何两个相同的SSRC标识符。尽管多个源选择同一个SSRC识别符的概率很低,所有RTP实现工具都必须准备检测和解决冲突。若一个源改变本身的源传输地址,必须选择新的SSRC识别符,以避免被当作一个环路源。
CSRC列表 0-480 0-15段,每段32比特,定义包中的CSRC,其个数由前面的CC子段决定,最多有15个CSRC可定义,由混合器用多个CSRC定义符插入。
2.3.2 RTCP包格式 RTCP协议定义了几个RTCP包类型,可以传送不同的控制信息,如表2-2所示。 表2-2 RTCP报文 控制信息名 含义 SR(发送报告) 描述作为发送网关的发送和接收统计数字 RR(接收报告) 描述作为接收网关的接收统计数字 SDES(源描述项) 对发送RTCP包的源进行描述,必须包含CNAME项 BYE 指示语音传输的终止
APP 面向应用的功能扩展
每个RTCP包的开始部分是与RTP数据包相类似的固定部分,随后是一块结构化单元,它随负载类型不同长度发生变化,但是总以32比特终止。对齐要求和笃定部分的长度域使RTCP包可以“复合”,即可以将多个RTCP包形成一个复合RTCP包,在底层协议(如UDP)都是将复合包作为一个包传输的。由于底层协议可以提供复合包的整个长度以决定其末尾位置,因此并不需要明确指出一个复合包中具体有几个RTCP包。