前言
本文根据VoIP Troubleshooter|Indepth: Packet Loss Burstiness总结,文章中的数据和结论非本人原创。
VoIP丢包
IP的丢包以突发性丢包为主,但是对于常见的几种丢包模型,存在一些不同层次的误解。本文描述了几种常见的丢包模型,并分析了其拟合度。
伯努利模型(独立模型)
简单的独立丢包模型,是最常用的一种。在这种模型中,每一个数据包(或比特错误)的发生,都有着固定的概率Pe。对于一个很大规模的数据包数量N,预期的丢包数量是N*Pe,丢包率Pe = 丢包数量/总的传输包数。
Gilbert和Gilbert-Elliott模型
最著名的突发丢包模型的是Gilbert模型,及其变种Gilbert-Elliott模型。这两种都是二态模型,从好到坏或者从0到1的的转换,分别是P01或者P11.
- Gilbert模型
- 状态0是一个0丢失/错误
- 状态1是一个具有独立丢包率Pe1的有损状态
- Gilbert-Elliott模型
- 状态0是一个具有独立丢包概率Pe0的低丢包状态
- 状态1是一个具有独立丢包概率Pe1的有损状态
一般情况下,Gilbert模型中的有损状态对应一个“丢包”状态。例如,状态1中的丢包率是1,确是不正确的。(在2态Markov模型中这样描述更为合适)这就导致了在分析丢包突发性时,仅仅停留在连串的丢包,忽略了长时间高丢包密度的影响。然而,这些长时间的高丢包密度,可以显著地影响VoIP服务。
例如,考虑如下的丢包模式 000001100101010110110000000000000000000
- 正确的Gilbert模型:突发长度 15,突发密度 60%
- 错误的Gilbert模型:意味着突发长度 1.5bits
Markov模型
马可夫模型是一种通用的多状态模型,在这种模型中,状态i和j的转换存在着概率p(i, j)。一个2状态的马可夫模型具有一些优势,它可以捕获短期内丢包间的依赖,例如丢包序列[1,4,15,19]。这些通常是非常短的事件(1到3个包长度),但是偶然的链式失败,可以导致长达几十秒的长丢包序列。通过结合2态模型与Gilbert-Elliott模型,可以捕获包括短期连续时间和长期低密度时间。
这种4状态马可夫模型,[7,12]代表爆发期和间隙期。在爆发期中,数据包的接受和丢失,都根据初试的2状态模型。在间隙期中,数据包的接受和丢失,都根据第二个2状态模型。
这些状态有如下定义:
- 状态1:数据包成功接受
- 状态2:数据包在一段时间之后接受
- 状态3:数据包在一段时间后丢失
- 状态4:孤立的数据包在在一段时期后丢失
例如,采用上面的丢包模式:
- 丢包模式:000001100101010110110000000000000000000000001000000000
- 状态: 111113322323232332331111111111111111111111114111111111
将间隙状态的定义和一些标准联系起来,是常用的方法。比如,丢包率低于一些限定,或者连续接受数据包的数量。一个突发事件,一定是一个起于丢包、结束于丢包且中间接受的数据包个数达不到阈值的最长序列,一个非常方便的定义。(对于VoIP来说,这个阈值设定为16是合适的;如果是视频的话,64或者128是合适的取值)
跟踪分析
跟踪描述
下面的跟踪结果,是哥伦比亚大学、马萨诸塞大学、印度理工学院的研究人员获得的300万个包中的一部分。这些数据通过美国、欧洲、亚洲的不同网站之间进行10ms或30ms间隔的UDP或RTP交流的追踪结果。多数的追踪包含单路延迟和数据包丢失,不过有一部分只有数据包丢失。
跟踪分析
有些跟踪,是用上面提到的4状态Markov模型分析的,与此同时,结果解释为一个Gilbert-Elliott模型。这就给出了爆发期和间隙期的长度和丢包密度的定义,爆发期的丢包密度要比间隙期的丢包密度大。
追踪1
关于W1的追踪有两个表,第一个表显示的是突发长度与突发权重的散点图。显而易见,超过300个数据包的的突发性事件是存在的,并且典型的损耗密度是25%。并且,在45°对角线上有一些孤立的点,对应着一些由连接失败导致的长段突发性丢包概率。
Figure 3. Trace W1 Scatter diagram of Burst Length vs Weight for packet loss only
第二个图表,显示的是突发长度和突发权重的散点图,但是引入了30ms的抖动缓冲大小。这和图3的单一丢包图分布相近,说明抖动并不是在这个追踪过程中一个非常重要的因素。
Figure 4. Trace W1 Scatter diagram of Burst Length vs Weight for combined packet loss and packet discard (30mS jitter buffer)
追踪3
和追踪3相关的图表有2个,第一张图显示的是Gilbert模型下,突发长度和突发权重的散点图。在图中可以清晰地看见超过100长度的突发也发生了,并且具有典型的20-25%的丢包密度。
Figure 4. Trace W3 Scatter diagram of Burst Length vs Weight for packet loss only
第二张表,显示的是在50ms的抖动缓冲下,突发长度和突发权重的散点图。这幅图表明,抖动是追踪中的一个非常显著的问题。突发密度达到500个数据包时,也就意味着突发密度接近30%
Figure 5. Trace W3 Scatter diagram of Burst Length vs Weight for packet loss and packet discard (50mS jitter buffer)
影响
突发性丢包,对VoIP的通话质量有非常大的影响。即使平均丢包率很小,短时间内的大量丢包也会导致通话质量的下降
总结
这篇文章对数据包丢失分布进行了深入的介绍,并显示出数据包丢失和数据包丢弃是自然的突发事件。并且,突发性丢包是稀疏分布而不是集中分布的。典型的突发丢包具有20-30%的丢包密度,时间长达几秒,而连续丢包可能会在极小概率的状态下发生。