一种基于网络抖动算法反应网络拥塞的方法转让专利

申请号 : CN201410505498.7

文献号 : CN104243242B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贺于峰梁二振

申请人 : 厦门亿联网络技术股份有限公司

摘要 :

本发明提供一种基于网络抖动算法反应网络拥塞的方法,所述方法包括如下步骤:步骤10、以一定时间间隔为单位把连续的时间离散化,用Di表示数据包的传输延时,计算Ti‑1到Ti时间内传输延时的平均值和Ti到Ti+1时间内传输延时的平均值根据和得到传输延时的变化率DRi;步骤20、每单位时间调整基准值:E=E+DRi×Δt,其中,E为期望值,Δt为两帧间的时间差;步骤30、判断是否需要重置基准值:若是,则将基准值重置为:E=Di+DRi×(Ti+1‑Ti)/2;步骤40、计算抖动值Ji为:Ji=(15×Ji‑1+|Di‑E|)/16,用抖动值表征网络拥塞情况,抖动值越大则即将发生的网络拥塞越严重。本发明能够及时准确的反应网络拥塞情况,提高对网络拥塞的敏感度,降低丢包率。

权利要求 :

1.一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述方法通过计算数据包的传输延时与基准值之间的差值来表征抖动值,再通过抖动值预测网络拥塞情况,所述基准值为一设定时间内传输延时的期望值,所述方法包括如下步骤:步骤10、以一时间间隔为单位把连续的时间离散化,用Di表示数据包的传输延时,计算Ti-1到Ti时间内传输延时的平均值 和Ti到Ti+1时间内传输延时的平均值 根据 和得到传输延时的变化率DRi;

步骤20、每单位时间调整基准值:E=E+DRi×Δt,其中,E为期望值,Δt为两帧间的时间差;

步骤30、判断是否需要重置基准值:若是,则将基准值重置为:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40;

步骤40、求传输延时与基准值的差值,并对这个差值的绝对值做指数平滑,计算抖动值Ji为:Ji=(15×Ji-1+|Di-E|)/16,用抖动值表征网络拥塞情况,抖动值越大则即将发生的网络拥塞越严重。

2.根据权利要求1所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述方法中以帧作为离散化的时间单位,Ti至Ti+1时间间隔内共20帧。

3.根据权利要求1所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述传输时延Di的计算公式为:Di=(Ri-Si),其中Ri为接收端收到数据包的时间,Si为数据包自带的发送时间。

4.根据权利要求1所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述步骤10中传输延时的平均值的计算方式为:用Ti至Ti+1时间内每个数据包传输延时Di的和除以Ti至Ti+1时间内数据包个数n得到所求传输延时的平均值为:

5.根据权利要求1所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述步骤30进一步包括:步骤31、判断连续三个变化率DRi、DRi-1和DRi-2的值是否相等,若是则直接进入步骤40;

否则,进入步骤32;

步骤32、计算基准值不可信度U:

判断基准值不可信度U是否超过预设的阈值,若是,则重置基准值:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40。

6.根据权利要求5所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述阈值为4000ms。

7.根据权利要求1所述的一种基于网络抖动算法反应网络拥塞的方法,其特征在于:所述基准值的初始值取 所述抖动值的初始值J0取0。

说明书 :

一种基于网络抖动算法反应网络拥塞的方法

技术领域

[0001] 本发明涉及网络传输技术领域,尤其涉及一种基于网络抖动算法反应网络拥塞的方法。

背景技术

[0002] 当前,信息技术高速发展,各大运营商之间竞争激烈,使得光纤网络极大的普及,但随着网络带宽资源的竞争越来越激烈,导致带宽不足,影响实时的多媒体通信过程中的用户体验,为此目前大多实时多媒体通信应用的开发者,采用网络自适应技术,调整当前的使用宽带与网络实际可用宽带相匹配,从而在可用宽带不足的情况下,降低网络丢包和抖动,以达到改善用户体验的目的,而网络自适应算法一般都采用“统计-反馈-调整”的循环收敛模型进行具体展开,延时、抖动、丢包率是表征网络拥塞情况以及预测网络带宽的常用表征量,丢包率是网络拥塞最直接的反馈,但在产生丢包时网络就已经恶化,对媒体数据的完整性已经造成破坏,而抖动和延时则是网络发生拥塞的前期征兆,抖动的突变往往预示着宽带瓶颈的到来,如果这个时候能够做出正确且及时的处理,就能够有效的防止丢包的发生,保证媒体数据的完整。
[0003] 抖动表示的是数据包延时变化的剧烈程度,如果把数据包的延时当作随机变量,那么抖动就是这个随机过程中各个时刻的方差,方差的计算需要一定个数的样本支持,而且需要一定的计算量,在实际应用中我们往往采取一种近似的计算方法,在计算精度与计算复杂度上做一个取舍平衡,以达到及时准确表征网络抖动的需求。现有的RFC3550协议中的抖动计算方法,是对相邻两个包的发送时间戳与接收时间戳进行差分,这种方法无法及时而明显的对网络拥塞进行指示,从数学模型上看,就是计算相邻两个包的传输延时的差值,再对这个差值的绝对值做指数平滑,最终得到的结果就是网络抖动值,这种求抖动值的方法并不能灵敏的反应网络抖动,只有当达到的包延时正负交替出现时,才可以反应拥塞情况,如果出现连续收到几个正延时包再连续收到几个负延时包,就无法及时准确的反馈网络情况,而实际视频应用中带宽拥塞时,往往比较容易出现这种情况。

发明内容

[0004] 本发明要解决的技术问题,在于提供一种基于网络抖动算法反应网络拥塞的方法,能够更加及时准确的反应网络拥塞情况,提高对网络拥塞的敏感度,避免丢包的发生。
[0005] 本发明是这样实现的:一种基于网络抖动算法反应网络拥塞的方法,所述方法通过计算数据包的传输延时与基准值之间的差值来表征抖动值,再通过抖动值预测网络拥塞情况,所述基准值为一设定时间内传输延时的期望值,所述方法包括如下步骤:
[0006] 步骤10、以一时间间隔为单位把连续的时间离散化,用Di表示数据包的传输延时,计算Ti-1到Ti时间内传输延时的平均值 和Ti到Ti+1时间内传输延时的平均值 根据和 得到传输延时的变化率DRi;
[0007] 步骤20、每单位时间调整基准值:E=E+DRi×Δt,其中,E为期望值,Δt为两帧间的时间差;
[0008] 步骤30、判断是否需要重置基准值:若是,则将基准值重置为:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40;
[0009] 步骤40、求传输延时与基准值的差值,并对这个差值的绝对值做指数平滑,计算抖动值Ji为:Ji=(15×Ji-1+|Di-E|)/16,用抖动值表征网络拥塞情况,抖动值越大则即将发生的网络拥塞越严重,在抖动值超过一预设值时,能够及时预测到即将发生的网络拥塞,此时可通过采取措施,如调整发送码率等,避免丢包的发生。
[0010] 进一步的,所述方法中以帧作为离散化的时间单位,Ti至Ti+1时间间隔内共20帧。
[0011] 进一步的,所述传输时延Di的计算公式为:Di=(Ri-Si),其中Ri为接收端收到数据包的时间,Si为数据包自带的发送时间。
[0012] 进一步的,所述步骤10中传输延时的平均值的计算方式为:用Ti至Ti+1时间内每个数据包传输延时Di的和除以Ti至Ti+1时间内数据包个数n得到所求传输延时的平均值为:
[0013]
[0014] 进一步的,所述步骤30进一步包括:
[0015] 步骤31、判断连续三个变化率DRi、DRi-1和DRi-2的值是否相等,若是则直接进入步骤40;否则,进入步骤32;
[0016] 步骤32、计算基准值不可信度U:
[0017]
[0018] 判断基准值不可信度U是否超过预设的阈值,若是,则重置基准值:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40。
[0019] 进一步的,所述阈值为4000ms。
[0020] 进一步的,所述基准值的初始值取 所述抖动值的初始值J0取0。
[0021] 本发明具有如下优点:
[0022] (1)本发明把一定时间内的传输延时期望值作为基准值,利用数据包的传输延时与基准值之间的差值来表征抖动值,增大了对网络拥塞的敏感度,能够在实时多媒体通信的过程中,对由网络可用带宽能力变化而引起的网络拥塞做及时准确的反应,使多媒体应用能够迅速适应当前带宽,从而有效避免丢包的发生,大大降低丢包率;
[0023] (2)本发明引入延时变化率和调整基准值,兼容某些打时间戳频率不规范的设备以及不同时间戳频率的视频数据包;
[0024] (3)本发明通过引入基准值不可信度的概念,对时钟偏移或者链路路由切换等原因导致的拥塞假象做了异常处理,在基准值不准确情况下重置基准值,使得抖动计算更准确,增强算法的强壮性。

附图说明

[0025] 下面参照附图结合实施例对本发明作进一步的说明。
[0026] 图1为本发明方法执行流程图。
[0027] 图2为本发明时间—传输延时坐标图。

具体实施方式

[0028] 请参考图1和图2,一种基于网络抖动算法反应网络拥塞的方法,所述方法通过计算数据包的传输延时与基准值之间的差值来表征抖动值,再通过抖动值预测网络拥塞情况,所述基准值为一设定时间内传输延时的期望值,所述方法包括如下步骤:
[0029] 步骤10、以一时间间隔为单位把连续的时间离散化,在视频应用中以帧作为离散化的时间单位,Ti至Ti+1时间间隔内共20帧,用Di表示数据包的传输延时,传输时延Di的计算公式为:Di=(Ri-Si),其中Ri为接收端收到RTP包时以时间戳为单位的接收时间,Si为RTP包自带时间戳,表示RTP包的发送时间;计算Ti-1到Ti时间内传输延时的平均值 和Ti到Ti+1时间内传输延时的平均值 传输延时的平均值的计算方式为:用Ti至Ti+1时间内每个数据包传输延时Di的和除以Ti至Ti+1时间内数据包个数n得到所求传输延时的平均值为:
[0030]
[0031] 根据相邻两平均值 和 得到传输延时的变化率DRi;
[0032] 步骤20、每单位时间调整基准值:E=E+DRi×Δt,即每收到一帧数据包,就需要调整一次基准值,其中,E为期望值,Δt为两帧间的时间差,所述基准值的初始值等于传输延时平均值的初始值,即 由于RTP包中依赖于发送方打时间戳的频率不同等都会导致计算Di值线性增大,从而导致抖动值线性增大,为了解决上述情况抖动值计算不准的问题,需要通过动态调整基准值,以得到更加准确的抖动值;
[0033] 步骤30、判断是否需要重置基准值:若是,则将基准值重置为:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40;由于网络情况的复杂多变,我们无法保证我们计算的基准值时刻都是准确的,如不同设备时钟存在偏移、链路路由发生变化等情况下,可能导致计算的基准值不准确,这时需要进行异常处理,即引入一个基准值不可信度的变量,作为重置基准值的条件,为了尽量反应网络波动,当基准值变化率在持续波动时,不对基准值进行重置,这样可以防止对网络情况的误判,因此以连续三个变化率DRi是否变化作为重置基准值的另一条件,因此步骤30可进一步包括:
[0034] 步骤31、判断连续三个变化率DRi、DRi-1和DRi-2的值是否相等,若是则直接进入步骤40;否则,进入步骤32;
[0035] 步骤32、计算基准值不可信度U:
[0036]
[0037] 基准值不可信度的计算是建立在“传输延时在基准值上下浮动”的事实上,实际上基准值表示的是Di的期望值,因此理想情况下,E与Di的差值累计和应该等于0,当基准值不准确时,会以二次幂速度增长;
[0038] 判断基准值不可信度U是否超过预设的实验测试得到的阈值4000ms,若是,则重置基准值:E=Di+DRi×(Ti+1-Ti)/2,进入步骤40;否则直接进入步骤40;
[0039] 步骤40、求传输延时与基准值的差值,并对这个差值的绝对值做指数平滑,计算抖动值Ji为:Ji=(15×Ji-1+|Di-E|)/16,用抖动值表征网络拥塞情况,抖动值越大则即将发生的网络拥塞越严重,在抖动值超过一预设值时,能够及时预测到即将发生的网络拥塞,此时可通过采取措施,如调整发送码率等,避免丢包的发生;所述抖动值的初始值J0取0,在无抖动的理想网络情况下,抖动值就是0,当网络发生抖动时,传输延时往往会在基准值附近上下波动,此时抖动值就是实际网络的传输延时的变化,对于某些路由缓存比较大的链路,网络拥塞时传输延时的绝对值往往也会随之增大,此时|Di-E|也会相应变大,这样Ji值不仅能够反应抖动情况,还能够在一定程度上反应链路单向传输延时绝对值的变化,以便能够更加及时准确的反应网络拥塞情况。
[0040] 另外,这里考虑到Di变化的随机性,因此计算Ri以及重置E时我们都采用平均值作为计算变量,而不采用某一时刻的Di值做为计算变量,这样可以提高计算的正确性,由于正常情况下传输延时的变化率Ri是恒定的,因此调整基准值时我们只需要按照Ri进行线性调整即可,当网络发生拥塞时,Di会表现出两种可能的行为:一种是在基准值E附近大幅度波动,另一种是由于传输延时增大Di也相应的增大而偏离基准值E,这两种情况下,抖动值都会马上增大反应出拥塞情况,当拥塞消失时又会马上变小。
[0041] 虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。