HoloWAN模拟广域网丢包的类型介绍
HoloWAN丢包
丢包的概念和造成丢包的原因
丢包,顾名思义,在通信中是指通信数据包丢失。
数据在通信网络上是以数据包为单位传输的,每个数据包中有表示数据信息和提供数据路由的帧。所以无论网络情况多好,数据包之间都是有空隙的,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的损失。碰到这种情况,网络会自动的让通信的两端根据协议来补包。如果线路情况好,速度快,包的损失会非常小,补包的工作也相对较易完成,可以近似的将数据看作是无损传输。但是,如果线路较差,数据的损失量就会非常大,补包工作也不可能百分之百完成。在这种情况下,数据的传输就会出现空洞,造成丢包。
而HoloWAN的Loss功能就是模拟网络中的出现丢包的行为来仿真实际的数据传输情况。
丢包类型
固定概率丢包(Loss-Random)
系统可设定的丢包率为0%-100%,单位增量0.0001%。该丢包率是丢包事件发生的概率,而不是丢包数量占总包数的比例。所以需要比较大的数据量做比对,当需要处理的报文数量足够大的时候,丢包数占总包数的比例无限接近或者等于丢包率。
由于丢包一般是在广域网链路中发生的,所以被丢弃的数据包依然会消耗链路的带宽,例如有一个带宽为100Mbps的链路,设定丢包率为50%,那么它的平均吞吐量最大可能是在50Mbps左右。
周期性丢包(Loss-Cycle)
指定好固定的丢包周期和突发丢包的大小(二者单位均为报文个数)
如上图:设定1000个报文为周期,突发丢包10个报文,就是说每发送990个报文后,就会丢弃10个报文。
突发丢包(Loss-Burst)
通过设定 丢包概率Probability,最小连续丢包数量Minimum,最大连续丢包数Maximum,这三个参数来控制一定概率的连续丢包,丢包数是最小数量和最大数量之间的随机值。
**注意:**必须完结一个突发丢包事件burst之后才能再次判断是否会产生下一次burst,所以连续丢包的个数不会超过Maxmum。设定的最小值不能超过最大值,否则会出现红框,无法Apply。
如上图,设定丢包概率为10%,最小丢包数量为 2 Packets,最大丢包数量为 15 Packets。则当数据通过HoloWAN时,触发丢包事件的概率是10%,一旦触发了丢包事件,则连续丢弃多个数据包,数量在2-15之间。
Gilbert-Elliott双通道模式丢包
双通道模式分别指“良好”通道和“较差”通道,用于模拟网络的实际状况,并且指定每个数据包从其中一个通道转变到另一个通道的概率,丢包概率和转变概率都是由百分比设置0%-100%,增量为0.0001%,每次仿真开始的时候,数据的初始状态都是处于”良好“通道。
由上图示,良好状态下,丢包概率为10%,转变概率为10%,较差状态下丢包率为20%,转变概率为10%。
Jitter曲线控制丢包率的变化
如下图,丢包率随着设定的曲线形态周期性变化
Max:最大丢包率;
Min:最小丢包率;
Phase:曲线初始位置;
Period:抖动的周期(最大 3600 秒);
Change Mode:点击曲线图可以选择 6 种不同的曲线模型。
注意:注意:使用曲线控制带宽变化时,带宽变化的频率会根据周期的长短而改变,改变规则为:
4096 ÷ Period > 5 则变化频率为 5 次/秒,
4096 ÷ Period < 5 则每秒变化次数为 4096 ÷ Period 的结果的整数次。
例如:
Period=3600 秒
4096 ÷ 3600 =1.1377778
1.1377778 < 5
变化频率 = 1 次/秒
Period=1000 秒
4096 ÷ 1000 = 4.096
4.096 < 5
变化频率 = 4 次/秒
Period=100 秒
4096 ÷ 100 = 40.96
40.96 > 5
变化频率 = 5 次/秒。