什么是时延和抖动

发布时间:2011-04-28 22:54:49

什么是时延和抖动

1.时延

什么是时延(Delay)?时延很好理解,就是我说话你听见的这个时间段。对于VOIP网络可以认为是端到端包传递的时间。如果大家以前用卫星线路打过电话或前些年的免费PC-TO-PHONEVOIP国际长途电话,大家会切身感觉到时延对我们通话的影响。ITU G.114规范建议,在传输语音流量时,单向语音包端到端延迟要低于150ms(对于国际长途呼叫,特别是卫星传输时,可接受的单向延迟为300ms。如果超过300ms则通话的质量会变的让人不能忍受。过多的包延迟可以引起通话声音不清晰、不连贯或破碎。例如,当通话的一方不能及时接收到期望的回复时,说话者可能会重复所说的话,这样会与远端延迟的回复碰撞,导致重复。大的时延也往往说明承载网络的某个地方发生了拥塞,队列中的报文等待时间过长,拥塞不仅仅是增加了包的时延,而很可能导致部分包被丢弃,这时听者会感觉到声音会发生异变、破碎。大多数用户察觉不到小于100毫秒的延迟,当延迟在100毫秒和300毫秒之间时,说话者可以察觉到对方回复的轻微停顿。这种停顿可以影响到通话双方的交流。超过300毫秒,延迟就会很明显,用户开始互相等待对方的回复,通话过程变成类似对讲机式的模式。而且较长的时延也会将回声问题的影响放大。



时延的产生有多种因素,下面列出了主要的时延源:



编码的处理:模拟形式的声音信号在CODEC被采样和量化为PCM信号,DSPPCM信号进行压缩处理所产生的时延为编码处理时延。 这种时延产生在设备侧,如果设备的编码器固定,则编码时延也固定。







包化:包化就是将编码器输出的语音净荷放置到RTP/UDP/IP包中的过程,相对于编码的时延,包化的时延很小,因为包化的过程没有复杂的运算,仅仅是增加包头和计算校验和,而编码则有大量的数学运算。



队列(Queuing):语音的净荷放置到IP包中后,要被设备转发到目的地,这些包会在设备的出接口队列中,等待被调度。转发设备不同的队列机制对IP包的处理有很大不同。可以通过合理的配置来减少语音包在队列中等待的时间,进而减少队列时延。



串行化(Serialization):接口队列中的语音IP包,被送离设备前会放置到接口的物理队列当中,如果物理队列中有一个较大分组,还在发送状态,则语音分组必须等待这个较大的分组发送完毕后才能发送,这个等待的时间就是串行化时延。比如一个时钟速率为64kbps的链路要发送一个1600Bytes大小的FTP分组,则串行化产生的时延会达到200ms1600×8/64000×1000)。这对于后面等待的语音包来说已经是很大的时延了。



广域网时延:对于ISP提供的广域网链路,对于用户来说只是一个黑盒子,除了上述的编码时延外,构成广域网链路的路由器交换机都会产生包化、队列、串行化的时延。而且到达同一目的的路径不同,其每个包的时延也不同,而这些时延对于用户来说是不可控的,当然我们在租用ISP的线路时,可以要求ISP提供符合时延要求的线路。



2. 抖动

变化的时延被称作抖动(Jitter),抖动大多起源于网络中的队列或缓冲,尤其是在低速链路时。而且抖动的产生是随机的,比如你无法预测在语音包前的数据包的大小,既便你使用LLQ,如果大数据包正在传输过程中,当语音分组到达时,它还是要等待数据分组被发送完。而在低速的链路中,语音数据混传时,抖动是不可避免的。通常使用LFI将大包拆小,来减少大包对时延的影响。



3.测试时延的工具:

3.1 SmartFlow

厂商:思博伦公司

依赖硬件:smartbits测试仪

比较强大的QoS测试工具,能够模拟大量数据流,并单独统计其吞吐量、延时等参数,缺点在于配置相对复杂。

3.2 Chariot

厂商:IXIA

依赖硬件:PCIXIA测试仪

真正模拟传输层连接建立和数据发送的测试工具,支持丰富的脚本和灵活的参数,可以在PC上使用,但是报文统计功能较弱,数据不精确。

什么是时延和抖动

相关推荐