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会话尽可能的只适应单媒体)
通过使用不同的目的传输地址对(一个网络地址加上一对分别用于RTP和RTCP的端口,构成了一个传输地址对)来接收不同的会话,参与者能把多个RTP会话区隔开来.
单个RTP会话中的所有参与者,可能共享一个公用目的传输地址对,比如IP多播的情况;也可能各自使用不同的目的传输地址对,比如个体单播网络地址加上一个端口对.
对于单播的情况,参与者可能使用相同端口对来收听其他所有参与者,也可能对来其他每个参与者使用不同的端口对来收听.
RTP会话间相互区别的特征,在于每个RTP会话都维护一个用于SSRC标识符的独立完整的空间.
在一个RTP会话中的参与者可以取得他们的SSRC—通过RTP会话中的其他参与者发送相关的带有SSRC/CSRC或RTCP包
例如,考虑下述情况,用单播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位就没有意义.
- RFC 3550导读#1 概述,定义
- RFC导读
- RFC导读
- (转载)RFC 导读
- SAP RFC-RFC概述
- 第一章 概述 1.11RFC
- RFC 791 定义分片
- 【RFC 3550】
- I/O操作之概述与导读
- RFC 1808 ——URL定义
- RFC 1808 ——URL定义
- RFC 1808 ——URL定义
- RFC 1808 ——URL定义
- RFC 3550 中文版
- 导读
- 导读
- 导读
- 导读
- android一些控件
- 字符串处理
- 连接目标数据库(oracle)时,遇到了1521端口不给开放的问题,绕道从jboss和ejb解决了这个问题。
- Android高手进阶教程(九)之----Android Handler的使用!!!
- 网站提交搜索引擎
- RFC 3550导读#1 概述,定义
- hibenate.hbm2ddl.auto属性详解(转载)
- 外部四面体网格导入Ansys等软件
- JDK1.5 和 JDK1.6 的一点小区别 @Override
- windows 开发技术
- 呵呵 我的新浪博客也开通了
- ewrewrwe
- 开关电源输出纹波的测量和抑制
- Java编程思想 第4版 练习题 / 第22章 图形化用户界面 / 练习28