基于RTP协议的IP电话QoS监测及提高策略

发布者:堕落的猫最新更新时间:2007-10-29 来源: 电声技术关键字:控制  同步  算法  代码 手机看文章 扫描二维码
随时随地手机看文章

1 引言

随着Internet和多媒体技术的飞速发展,Internet已由早期的单一数据传输网向多媒体数据(视频、音频、文本等)综合传输网发展。但Internet提供的只是尽力而为的服务,不能满足多媒体应用程序对传输延迟、包丢失、抖动控制等要求,为了能在传统的IP网上运行多媒体程序,必须考虑服务质量(Ouality of Service,QoS)。QoS可用延迟、抖动、吞吐量、丢包率等参数来描述。为了支持网络的实时传输服务,互联网工作组(Internet Engineering Task Force,IETF)制定了实时传输协议(Real-time Transport Protocol,RTP)。RTP是专门为交互式音频、视频、仿真数据等实时媒体应用而设计的轻型传输协议,已广泛应用于各种多媒体传输系统中。IP电话作为一种新兴业务,因其低廉的话费受到广大用户的欢迎。但IP电话中的通话时延、话音失真一直是制约IP电话迅速发展的“瓶颈”。如何确保IP电话的QoS,是IP电话成功与否的关键。

结合IP电话系统,从音频实时传输和控制两方面来讨论RTP及实时传输控制协议(Real-time TransportControl Protocol,RTCP)应用技术,分析影响媒体流实时传输的因素。最后从实际实验、应用的角度,讨论如何获得当前Internet可行的QoS监测,并针对QoS质量保证提出切实可行的解决方案。

2 实时传输协议RTP

RTP是用于Internet上针对多媒体数据流的一种传输协议,被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用用户数据报协议(User Datagram Protocol,UDP)来传送数据,但RTP也可以在传输控制协议(Transmission Control Protocol,TCP)或异步传输模式(Asynchronous Transfer Mode,ATM)等其他协议之上工作。当应用程序开始一个RTP会话时将使用2个端口:1个给RTP,1个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分,RTCP和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,参与者周期性地传送RTCP包,RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。

2.1 RTP数据包

RTP数据包由12个字节的固定RTP头和不定长的连续媒体数据(视频帧或音频帧)组成。RTP协议的数据包格式如图1所示。

RTP报文头部分各个参数的意义如下:

(1)版本(V):2bit版本号置2。

(2)扩展位(Extension-X):由使用的RTP框架定义。

(3)填充(P):用以说明包尾是否附有非负荷信息。

(4)负载类型(PT):对音频或视频等数据类型予以说明,并说明数据的编码方式。

(5)标志位(Marker-M):标志位由具体的应用框架定义。

(6)序列号(Sequence Number):为了安全,服务器从一个随机初始化值开始,每发送一个RTP数据包序列号增加1。客户端可根据序列号重新排列数据包的顺序,并对丢失、损坏和重复的数据包进行检测。

(7)时间戳(Timestamp):RTP时间戳为同步不同的媒体流提供采样时间,用于重新建立原始音频或视频的时序。另外,它还可以帮助接收方确定数据到达时间的一致性或变化(有时被称为抖动)。

(8)同步源标识(SSRG):帮助接收方利用发送方生成的唯一的数值来区分多个同时的数据流。SSRC必须是一个严格的随机数。

(9)作用标识(CSRC):网络中使用混合器时,混合器会在RTP报文头部之后插入新的同步源标识,其作用是区分多个同时的数据流。

2.2 RTP控制协议——RTCP

在RTP会话中,RTCP周期性地给所有参与者发送控制包,应用程序或第三方监控者接受RTCP控制包,从中获取控制信息,估计当前QoS,以便进行传输控制、拥塞处理、错误诊断等。

RTCP报文头部参数首先要区别携带不同控制信息的RTCP报文的类型,RTCP报文的类型主要有以下几种:(1)SR:发送报告,当前活动发送者发送、接收统计;(2)RR:接收报告,非活动发送者接收统计;(3)SDES:源描述项,包括CNAME;(4)BYB:表示结束;(5)APP:应用特定函数。其中最主要的RTCP报文是SR和RR。通常SR报文占总RTCP包数量的25%,RR报文占75%。

通过这5种控制包,RTCP协议实现了以下4个主要功能:

(1)提供数据发布的质量反馈,这是RTCP最主要的功能。作为RTP传输协议的一部分,与其他传输协议的流和阻塞控制有关。反馈对自适应编码控制直接起作用。反馈功能由RTCP发送者和接收者报告执行。

(2)送带有称作规范名字(CNAME)的RTP源持久传输层标识。如发现冲突,或程序重新启动,SSRC标识可改变,接收者需要CNAME跟踪参加者。接收者也需要CNAME与相关RTP连接中给定的几个数据流联系。

(3)根据参与RTP会话的数量调整RTCP的发送速率。

(4)传送最小连接控制信息,如参加者辨识。最可能用在“松散控制”连接,那里参加者自由进入或离开,没有成员控制或参数协调,RTCP充当通往所有参加者的方便通道,但不必支持应用的所有控制通信要求。

3 由RTP包分析影响多媒体数据流实时传输的因素

随着VoIP领域不断发展,满足网络QoS检测需求的应用也成为引人注目的焦点。IP QoS是指IP的服务质量,也是指IP数据流通过网络时的性能。目的就是向用户提供端到端的服务质量保证。有一套度量指标,包括业务可用性、延迟、可变延迟、吞吐量和丢包率等,现就项目中在上海阿尔卡特网络支援系统有限公司NGN实验室中所得到的RTP和RTCP包进行分析,主要研究其中3个因素,从而达到对实时流媒体数据进行监控的目的。

3.1 抖动

抖动会引起端到端时延的增加,引起语音质量的降低。在音频数据的传输过程中,由于传输延迟的不稳定而造成相邻数据包接收时刻间隔不稳定,从而产生抖动。消除抖动的主要依据就是RTP包的首部中包含的时间戳字段。时间戳标志着该段音频数据中第一个采样点的采样时间。每两个RTP包的抖动可以用其RTP包中的RTP时戳和接收的时刻进行计算。

关于包的传送时间,接收者最先了解到的是它的时间戳和接收者当前时间之间的差值。该差值是:Di=Ri-Si,表示从包被盖上戳开始,到它在信源的输出链路上被实际发送为止,其中的传送时间和某个机器时间。RFC 1889建议使用NTP来完成端点的端到端同步,但是也有非同步端点实现存在。

包i和包j之间增加的延迟差(二阶效应)计算公式如下:设Rj代表第j个包的接受时刻,Sj代表第j个包的RTP时戳值,则第i个RTP报文与第j个RTP报文间的抖动为D(i,j)

在生成RTCP报文时,其应当传送的时延抖动的值可用以下公式进行递推计算

其中:J为要传送的时延抖动值。对后一项除以16是为了消除连带噪声。

抖动是分组交换的必然结果,影响抖动的因素一般和网络的拥塞程度有关。由于语音同数据在同一条物理线上传输,语音数据通常会由于数据报文占用了物理线路而导致阻塞。解决抖动通常采用缓冲队列来解决(在网关、IAD上均有JitterBuffer来消除抖动),每收到一个数据包,先将其放人缓冲区,应用程序在缓冲区另一端取数据,只要缓冲区足够大,抖动一定能被平滑掉。而错序是由于网络拥挤而使某些后发的数据包先到达收端而引起的,只要设置足够大的缓冲区来对数据包重新排序,就能解决这个问题。或者需要IP承载网采用QoS策略,保证语音数据的最高优先级,得到最先发送和获得高带宽也是解决抖动问题的主要手段。

3.2 时延

时延是处理和传输导致数据不能按时到达的延迟,是影响流媒体数据传输的一个主要因素。话音信号在端到端传输过程中受到的时延迟滞通常包括:编解码器引入的时延、打包时延、去抖动时延、承载网上的传输节点中排队、服务处理时延。这些时延累计的总和将影响话质,导致回声干扰和交互性的劣化。对于VoIP系统,规定时延一般控制在150 ms内。

分组语音网络中的延迟可分为固定延迟和可变延迟。前者相对容易得到,笔者不作考虑。在计算丢包率时,主要考虑可变延迟。丢包判定等待时限Twait设定的大小在很大程度上影响丢包率计算的准确性,也就是可变延迟的影响,它与语音包的传输延迟Ttrf有关,Twait越大等待时限就越长。但不能超过保证语音流连续播放的时间上限Tmax(Tmax一般取250 ms),即:Twait=min(Twait,Tmax)。Ttrf可根据RTCP协议的SR控制包中的NTP(Network Time Protoco1)时间戳计算得到,见图2。

使用RTCP包计算网络时延要求在两个端点之间传送发送方报告(RTCPSR)。RTCP包中的报文类型以二进制表示,其中十进制的200代表此包的报文类型为SR(发送报文)。收到200的包类型,表明可以提供足够的信息,计算与这个SSRC有关的发送方的延迟。那么就计算发送方流(SSRC)和源流(SSRC_n)之间的双向延迟。每次在收到RTCPSR包时,必须保存上一个时间戳(Last SR Timestamp,LSR)和DLSR(Delay SinceLast SR)值。SSRC的LSR域是从该SSRC接收到的NTP时间戳的中间32 bit,只要接收到一个NTP时间戳就可以了。如果没有接收到NTP时间戳,那么这个域应该设置为0。信源可能无法获得时钟,或者其他可接受的消逝的时间。因此,在会话持续期间,特定SSRC的这个域可能保持为0。DLSR域是端点从发送者那里接收到一个SR以后过去的时问。这个计数器的每一步代表1/65 536 s。一般来说,在NTP时戳,LSR或DLSR等于零时,不应该计算双向延迟。网络传输时延Ttrf即为双向延迟的一半。具体计算方法如下:设目的网关接收源网关发送的控制包SRi,经过一段时延DLSR后,向源网关发送相应的响应SR控制包SRj,并从控制包SRj中的NTP时间戳域中提取中间的32 bit作为控制包SRi的LSR。如果没有收到源网关发出的SR控制包,则L5R和DLSR都置为0。最后,将DLSR和LSR的值填入到控制包SRj的相应域中。设源网关接收到控制包SRj时刻为A,则当前网络传输延时为

Ttrf=(A-LSR-DLSR)/2 (3)

由实验包中的数据得出的Ttrf是使用32 bit归一化NTP时戳计算的,所以要把延迟转换成毫秒单位,结果中前16 bit将与延迟秒数对应,后16 bit与1/65 536 s的数字对应。因此,上面16 bit必须乘以1 000,把秒转换成毫秒。下面16 bit必须除以65 536,然后再乘以1 000。两个因数之和可以得到最终结果。

实时语音传输要求端对端时延不能太大,端到端的时延要求分成4个等级:≤150ms(最好)、150~250ms(较好)、250~450ms(一般)和450ms以上(差)。可以通过设定IP优先级、路由选择、RED(随机早期检查)等技术来缩短IP网络时延。

①优先级是指对每个数据包的级别进行分类,不同级别的数据包在网络进行预留带宽分配、通过顺序、时延抖动、丢包等方面处理时,所受到的待遇不同,这样可以确保语音、图像等对实时性要求比较高的数据包优先传输,以提高传输质量。

②选择合适的路由绕过那些负载过重的路由器,直接连到主干网进行传输。

③当网络拥挤发生拥塞时,RED就优先丢弃一些对话音影响较小的数据包,并让终点站降低传输速率,避免路由器或交换设备缓冲区溢出。

此外,采用流量控制、队列管理、数据包保护技术也可以提高网络的管理性能,从而缩小网络时延。

3.3 丢包率

丢包率定义为在网络中传输数据包时丢弃数据包的最高比率。数据包丢失一般是由网络拥塞引起的。丢包对VoIP语音质量的影响较大,在本实验环境中,采用G.711时,当丢包率大于10%时,已不能接受,而在丢包率为5%时,基本还可以接受,因此,要求IP承载网的丢包率小于5%。

丢包率为单位时间内丢失的语音包的数目。检测的具体方法是统计语音流中的连续2个SR(发送端报告控制包)的时间间隔Tint内实际接收语音包的数目Nreal,然后按下面公式来计算丢包率Rlost

Rlost=(Nexp-Nreal)Nexp (4)

其中:Nexp为期望的语音包数目,它等于在Tint内接收到语音包的最小序号Ni和最大序号Nj之差,用下面公式来表示:Nexp=Nj-Ni,实际接收到的语音包Nreal可能包括在Tint之前的迟到包(由于语音数据采用UDP协议传输,不存在重复包),所以计算所得的丢包率会出现负数。此时丢包率定义为0。

丢包率的计算可在每个丢包判定等待时限内计算,也可按照一定的时间间隔来计算一次,而这个时间间隔要根据网络的负载、网络的稳定情况来确定。为了减少网络的负载,不是每次计算的丢包率都要反馈给源网关的,而是事先根据网络用户期望的语音质量来确定两个丢包率状态的阈值R1和R2。对于音频而言,取R1=3%,R2=8%。当Rlost>R2时,将丢包率信息的标志位,置为“overload”(拥塞),表示网络处于拥塞状态;当Rlost<R1时,置为“abnormality”(异常),表示网络处于失载状态;其余均置为“normality”(正常),表示网络处于正常状态。将这些信息封装在RTCP的SR,RR控制包中,并反馈给源网关,过程如图3所示。

根据RTP头中的sequence number域,可以在接收端很轻易地发现包丢失,为丢包修复奠定基础。在实际使用中发现,绝大多数丢包是单个丢包,两个或两个以上包丢失的比例较小。针对单个包的丢失,传统的丢包处理方法有两种:一种方法是重发,但在传输语音数据时,重发将引起播放质量下降,出现无法识别的话音或回音现象;另一种方法是忽略,这同样会影响播放质量。更好的方案是使用拆分法优化丢包损失。拆分法的基本思想是:在发送端把原来要打入一个RTP包的话音数据按照采样间隔分成两块,然后采用相同的压缩算法分别压缩、打入RTP包,并标记相同的时印进行传输。在接收方执行相反的过程,把解压缩后的数据采样、合并、回放。

如果某个RTP包在传输过程中丢失,那么丢失的只是原数据包按采样间隔的一半信息,接收端可以用接受到的另一半信息,利用插值等方法恢复出原话音包的大部分信息,从而使话音质量不至于下降太多。拆分法的主要思想如图4所示。

4 结束语

对音频数据的实时传输问题进行了详细分析,在分析RTP协议的基础上,探讨了基于RTP协议的QoS动态监测的一些方法,并提出了解决在流媒体中存在的语音实时传输质量保证的策略。避免语音通信实时性差的缺点,减小了网络延时使抖动的影响减低,改善了语音传输效果。目前,IP电话用户数每年正以239%的速度增长。下一步将以此为依据设计出基于RTP的一个应用模型,进行深层开发研究。

关键字:控制  同步  算法  代码 引用地址:基于RTP协议的IP电话QoS监测及提高策略

上一篇:千兆网络接口在S3C2440A系统中的应用
下一篇:基于MIP和HIP的移动管理方案设计

推荐阅读最新更新时间:2024-05-07 15:59

电动车不用变速箱来控制转速的原因
总结:乘用车不用变速箱为主,但个别车型有用的。商用车以用变速箱为主,但也有很多车型不用。用变速箱在乘用车是为了最高车速和百公里加速,在商用车是为了最大转矩最大爬坡能力。不用减速箱是因为贵。所以,高端乘用车可以考虑两挡箱,用得起,而且收益更大。 核心看法: 1、电动汽车(乘用车)并不是不用变速箱。 乘用车以单挡为主,即题主所理解的汽车。 乘用车曾经出现过两挡箱,如TESLA早期的roadster车型,后来因为工艺成本等问题,不做了。这个知乎上很多讲这个故事的,我就不讲了,直接搜就能找到。 乘用车现在也有两挡箱,如BMW i8使用的GKN的两挡箱,其中电机峰值功率96kW,峰值扭矩250Nm,最高转速11400rpm,一挡传动比1
[嵌入式]
电动车不用变速箱来<font color='red'>控制</font>转速的原因
现代控制技术在中药智能配药系统中的应用
摘要:介绍了新型中药智能配药系统的硬件和软件控制技术。硬件部分采用OMRON的PLC和基于CPLD的电路板进行控制,软件部分则通过组态软件FIX32与界面编辑软件VB相结合对上位机进行控制和通讯。本系统达到国内领先、国际先进的水平,它的研制成功对中药在世界范围内的进一步推广起到了重要的作用。 关键词:中药智能配药系统 PLC CPLD FIX32 VB 中药智能配药系统(Intelligent Dispense System for Chinese Medicine)是随着中医院流程系统管理向电子化、网络化的方向发展而产生的。该系统工作的过程是:首先通过医院内部局域网将在终端电脑上开出的处方传至药房配药主控计算机,然后由主控计
[传感技术]
Silicon Labs扩充符合车用标准微控制器系列
高性能模拟与混合信号领导厂商Silicon Laboratories (芯科实验室有限公司, Nasdaq: SLAB)今日发表一系列全新符合车用标准的C8051F5xx微控制器(MCU)产品线,能减少车身电子应用中的系统成本及电路板面积。此高集成度的C8051F5xx系列无需使用分立模拟组件,提供领先业界的处理能力,可大幅缩减程序代码大小,进一步降低系统成本。全新的管脚及软件兼容8位微控制器相当适用于对成本极为敏感且空间受限的嵌入式车身控制应用,例如风扇控制、座位调整、车窗升降及油箱传感器等。 F5xx车用微控制器提供前所未有的混合信号集成度,可打造小至4×4毫米的电路板面积,相较于竞争对手的方案,能节省0.5美元
[汽车电子]
基于MCGS组态软件计算机集散控制系统的设计
0、引言     随着科技的发展,传统的DDC(Direct Digital Contro1)系统已经无法适应现代系统的控制要求。集散型控制(Distributed Control System)是解决现代大型系统控制的有效方法,它的实质是利用计算机技术对生产过程进行集中监视、操作、管理和分散控制的一种新型控制技术,具有通用性强、系统组态灵活、控制功能完善、数据处理方便、显示操作集中、 人机界面 友好、安装简单规范化、调试方便、运行安全可靠等特点。 1、集散 控制系统 的设计     如图l所示,是以一台计算机为监控总站,下辖多台可编程序控制器 PLC ,每台 PLC 又可以同时控制多架升降机,这样就组成了一个大型的集散 控
[嵌入式]
电子学再创音乐传奇,世界上首把自动调音吉他问世
2007年12月7日,美国吉布森吉他公司(Gibson Guitar Corp.)将在全球各地的音乐商店展示世界上的首款自动调音吉他,正好赶上圣诞节销售旺季。但你最好现在就开始攒钱,因为这种限量版(全球发售4000把)Les Paul机器人吉他的初期价格将是2500美元左右,比吉布森最便宜的美国造Les Paul吉他要贵大约800美元。正式版将于2008年1月开始发售。 “我们努力制作更好的吉他,但创新最初遭到多数吉他弹奏者的反对,”吉布森的首席执行官Henry Juszkiewicz表示,“因此,我们选择了一种来自我们伙伴公司Tronical的非侵入式技术,你可以完全把这个技术从吉他上清除。音乐家就是这么珍视乐器的传统,因此如
[焦点新闻]
基于CPLD技术的枪械电磁扳机控制仪设计
   O 引言   靶场测试领域中枪械的击发是一个重要的环节。传统的枪械击发采用人工方式,即射击人员听到射击指令后手工扣动枪械扳机进行击发,这种方式存在两方面的问题:其一,无法保证安全性。人员操作时有可能由于疲劳或者听错指令进行了误操作,则可能造成靶道内人员安全事故,而在有些应用场合,如防弹头盔穿甲实验,射击人员必须面对防弹头盔进行射击,弹头有可能反弹回来伤及射击人员。上述两种安全事故在国内靶场都曾发生过。其二,随着靶场测试技术的不断发展,靶场测试所用的设备种类越来越多,精度也越来越高,因此,不同的测试设备如何保持一定的同步性显得越来越重要。显然,手工击发枪械方式难以实现同步性要求。   基于以上考虑,有人提出了基于电磁效应的
[嵌入式]
基于CPLD技术的枪械电磁扳机<font color='red'>控制</font>仪设计
图像匹配最大互相关算法的专用ASIC硬件实现方式研究
    摘要: 探讨一种专用ASIC硬件实现方法,这种方法将DSP的灵活性与ASIC的高效性相结合,构造了单DSP+多ASIC的嵌入式计算机,对图像匹配获得了满意的效果。并由此提出了更高性能的硬件实现结构。     关键词: 图像匹配 最大互相关 硬件实现 图像匹配是把从同一景物利用两个不同的传感器录取下来的两幅灰度图像在空间上进行对准,以确定两幅图像之间相对偏移的过程,通常是在已知的MxM个象素的光学或雷达基准图中寻找NxN个象素的实时图像的匹配位置。图像匹配是计算机图像科学的一种基本处理方法,在飞行器导航、目标跟踪、资源分析、文字识别等领域中具有极其重要的作用。这些高科技领域往往要求极高的实时性,而且要求运算速度要
[嵌入式]
基于STM32和S3C6410的无线节水滴灌自动控制系统
为实现实时适量的精准滴灌,本文提出了一种基于S3C6410和STM32的无线节水滴灌自动控制系统的设计方案。该方案利用ZigBee无线传感器网络的自组网特点,采用星型网络拓扑结构,实时监控多块田地的土壤温湿度变化,通过反馈传感信号,对滴灌动作进行精准判断和控制。田间试验期间测得土壤湿度最小值为30%,最大值为70%,处于理想范围内。实验结果表明,该方案所设计的系统能够实现滴灌自动控制,且性能良好,具有灵活性强、安全可靠、低功耗、低成本。 0 引言 随着人口的增长和农业的发展,随着全球变暖造成的干旱问题日益严重,世界水资源的需求量越来越大,水资源紧缺已成为全世界人民共同关注的问题。滴灌技术是通过干管、支管和毛管上的滴头,在低
[单片机]
基于STM32和S3C6410的无线节水滴灌自动<font color='red'>控制</font>系统
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved