RFC 3550导读#1 概述,定义

来源:互联网 发布:江海大智慧软件下载 编辑:程序博客网 时间:2024/05/22 00:08

RFC 3550协议导读

 

作者概述

本文仅描述RFC 3550关键技术部分,其余部分请自行参考RFC 3550原文.

这里以句段划分结构.标题编号同RFC 3550一致以便对照参阅.

 

参考文献:

http://kummerwu.web.officelive.com/default.aspx  rfc3550中文不完全翻译

http://www.ietf.org/rfc/rfc3550.txt rfc3550

 

3.定义

本节只做定义不做详细描述

 

RTP负载(RTP payload):

RTP传输的包中的数据.

例如:音频样本或压缩好的视频数据.

 

RTP(RTP packet):

数据包.(RTP流的组成部分)

其组成部分有:

*一个固定RTP报头

*一个可能为空的作用源(contributing sources)列表

*以及负载数据

一些下层协议可能要求对RTP包的封装进行定义.

一般地,下层协议的一个包包含一个RTP,但若封装方法允许,也可包含数个RTP(see Section 11).

 

RTCP(RTCP packet):

控制包.(RTP控制协议的组成部分)

其组成部分有:

*一个类似RTP包的固定报头

*后跟一个结构化的部分,该部分具体元素依不同RTCP包的类型而定.

一般地,多个RTCP包将在一个下层协议的包中以合成RTCP包的形式传输.这依靠RTCP包的固定报头中的长度字段来实现.

 

端口(Port):

类似TCP/IP端口

 

传输地址(Transport address):

类似IP地址

 

RTP媒体类型(RTP media type):

RTP会话所使用到的媒体类型

 

多媒体会话(Multimedia session):

多个同时运作的(单媒体的)RTP会话的集合.

例如,一个视频会议(为多媒体会话)可能包含一个音频RTP会话和一个视频RTP会话.

 

RTP会话(RTP session):

一群参与者通过RTP协议进行通信时所产生的关联.

 

一个参与者可能同时参与多个RTP会话.

在一个多媒体会话中,除非编码方式把多种媒体多路复用到一个单一数据流中,否则每种媒体都将使用各自的RTCP,通过单独的RTP会话来传送.(也就是说RTP会话尽可能的只适应单媒体)

 

通过使用不同的目的传输地址对(一个网络地址加上一对分别用于RTPRTCP的端口,构成了一个传输地址对)来接收不同的会话,参与者能把多个RTP会话区隔开来.

 

单个RTP会话中的所有参与者,可能共享一个公用目的传输地址对,比如IP多播的情况;也可能各自使用不同的目的传输地址对,比如个体单播网络地址加上一个端口对.

 

对于单播的情况,参与者可能使用相同端口对来收听其他所有参与者,也可能对来其他每个参与者使用不同的端口对来收听.

 

RTP会话间相互区别的特征,在于每个RTP会话都维护一个用于SSRC标识符的独立完整的空间.

 

在一个RTP会话中的参与者可以取得他们的SSRC—通过RTP会话中的其他参与者发送相关的带有SSRC/CSRCRTCP

 

例如,考虑下述情况,用单播UDP实现的三方会议,每方都用不同的端口对来收听其他两方.如果收到一方的数据,就只把RTCP反馈发送给那一方,则会议就相当于由三个单独的点到点RTP会话构成;如果收到一方的数据,却把RTCP反馈发送另两方,则会议就是由一个多方(multi-party)RTP会话构成.后者模拟了三方间进行IP多播通信时的行为.

RTP框架允许上述规定发生变化,但一个特定的控制协议或者应用程序在设计时常常对变化作出约束.

 

同步源(SSRC,Synchronization source):

RTP包流的源(包的发出者).

一个同步源的所有包构成了相同计时和序列号空间的一部分,这样接收方就可以把一个同步源的包放在一起,来进行重放.

举些同步源的例子,像来自同一信号源的包流的发送方,如麦克风、摄影机、RTP混频器(见下文)就是同步源.一个同步源可能随着时间变化而改变其数据格式,如音频编码.

SSRC标识符是一个随机选取的值,它在特定的RTP会话中是全局唯一(globally unique). (see Section 8). 

参与者并不需要在一个多媒体会议的所有RTP会话中,使用相同的SSRC标识符.

SSRC标识符的绑定通过RTCP. (see Section 6.5.1). 

如果参与者在一个RTP会话中生成了多个流,例如来自多个摄影机,则每个摄影机都必须标识成单独的同步源.

 

作用源(CSRC,Contributing source ):

一个被混音器合并的流的源.

混音器插入一个CSRC,表中包含了数个SSRC表示谁最初发布了这个源.

例子如,在音频会议中,混频器向所有的说话人(talker)指出,谁的话语(speech)将被组合到即将发出的包中,即便所有的包都包含在同一个(混缩器的)SSRC标识符中,也可让听者(接收者)可以清楚谁是当前说话人.

 

终端系统(End system):一种应用程序,它产生发送出的RTP包中内容,或者使用接收到的RTP包中内容.在一个特定的RTP会话中,一个终端系统可以扮演一个或多个同步源角色,但通常是一个.

 

混缩器(Mixer):一种中间系统,它从一个或多个源中接收RTP,可能改变其数据格式,再按某种方式把这些包组合成一个新的包,然后转发出去.由于多个输入源的计时一般不会同步,所以混缩器会对各个流的计时作出调整,并为组合流生成一个新的计时.因此,混缩器将被标识成它所产生所有数据包的同步源.

 

转发器(Translator):一种中间系统,它转发RTP包而不改变各包的同步源标识符.转发器的例子如下:不作混缩地转变编码的设备,把多播复制到单播的重复装置,以及像防火墙一样过滤一些包.

 

监视器(Monitor):一种应用程序,它只接收RTP会话参与者所发送的RTCP,特别是接收报告(reception report),而且对当前服务质量进行评估,评估结果用于分配监视任务,故障诊断和长期统计.监视器常常被内建到参与会话的应用程序中,但也可以是一个的独立的应用程序——不参加会话、也不发送或接收RTP数据包(因为它们在不同的端口上).这些被称作第三方监视器.还有一种情况也是可以接受的,第三方监视器只接收但不发送数据包,或者另外地算入到会话中.

 

4编码方式和时间戳:

编码方式采用big-endian

 

wallclock

wallclock表示一个使用NTP(Network Time Protocol)的时间戳格式.(可理解为UTC).

完整的NTP时间戳是64BIT,使用固定小数点数”,32位表示整数部分,32位表示小数部分

更常用的用法是使用中间的32,那么前16位和后16位就没有意义.

 

原创粉丝点击