HoloWAN网络仿真损伤仪的基本功能及图解
1、HoloWAN连接路由器时选用WAN口和LAN口的区别?需要对路由器进行什么设置?
WAN口是路由器对外的接口,用于连接广域网。当路由器开启了 DHCP 时,路由器属于第三层设备(网络层),连接在路由器上均为第二层设备(数据链路层)。所以,当其余设备的数据包通过路由器转发后,这些包会被加上第三层报文头,报文的源 IP 地址变成了路由器 WAN 口的 IP 地址。
HoloWAN 的业务口连接 WAN 口时,接收到的数据包是经过NAT处理报文,所有报文的源 IP 地址均为路由器 WAN 口的 IP 地址。因此会对所有接收到的流量进行统一的损伤。
LAN是对内的接口,连接局域网。此时路由器仅做接收和转发数据包的功能,NAT没有对设备IP地址进行转换处理。
HoloWAN 的业务口连接 LAN 口时,报文分类器可以识别不同设备的源 IP 地址,从而可以针对单一的报文进行损伤。
在连接 LAN 口时,路由器当成交换机来使用,必须再添加一台网关路由器用于连接广域网。此时,需要对连接 HoloWAN 的路由器做以下处理:
- 关闭无线路由器的 DHCP 服务;
- 将 LAN 口的 IP 地址设置为与局域网位于同一网段;
- 检查 LAN 口的 IP 地址是否与局域网内其他设备的地址冲突。
2、HoloWAN 的带宽限制和 Queue 队列深度的原理?
带宽限制:HoloWAN可以在链路的两个方向都设置带宽。最小带宽限制为1bps,最大现在速率视具体产品而定,单位增量1bps。
带宽限制是用于限制 HoloWAN 转发的最大速率(TX Rate)。
在不添加其他损伤的情况下:
当 HoloWAN 接收的数据小于带宽限制时,HoloWNA 接收的数据等于转发的数据。
即:RX Rate < Bandwidth
RX Rate = TX Rtae
当 HoloWAN 接收的数据大于带宽限制时,HoloWAN 接收的数据大于转发的数据。并且溢出的数据会进入到队列 Queue 中。当 Queue 满了,溢出的数据会被直接丢弃。
即:RX Rate > Bandwidth
RX Rate > TX Rate
队列深度:队列深度指定了当收到的数据超过了模拟链路的带宽时能缓存的最大数据量。当队列已满时,任何到达的数据都会被丢弃。
HoloWAN 设置队列深度有 3 种方式:最大的数据包个数;以 KB 为单位的最大数据量;以 ms 为单位的最大排队时延。
3、 HoloWAN的报文过滤器的作用、设置方法?为什么一定要设置报文分类器?
HoloWAN 的报文过滤器用于将特定的数据包发送到指定的 WAN 链路。每个端口都有自己的分类规则来区分到达端口的数据包。一般规则包括:源IP地址和目标IP地址的范围;MAC地址;VLAN ID;TCP/UDP端口号;MPLS Lable;RAW 1-Byte offsets;RAW 4-Byte offsets;组合分类。
HoloWAN 中符合分类规则的数据包有三种执行动作:
- 使用链路( Path ):符合规则的数据包会通过指定的链路。
- 丢弃( Drop ):符合规则的数据包将被丢弃。
- 旁路( Bypass ):符合规则的数据将不进行损伤,直接转发。
Bypass 是报文分类器的默认动作,为不符合任何明确规则的数据包指定行为。
假如不设置报文分类,经过引擎的所有报文都将进行 Bypass 处理,用户配置的网络损伤将不会生效。所以在正式进行损伤之前一定要配置正确的报文分类器。
IP 地址(IPv4为例)范围,可以用以下格式指定:
- 单一的地址,例如: 10.0.0.10
- 通过掩码指定一个范围的 IP 地址,例如 10.0.0.0/24
- 通过填写 IP 地址-IP 地址的方式指定一个范围,例如:192.168.1.2 - 192.168.1.100
4、图解常量延迟
常量延迟是给所有通过链路的没一个报文都设置一个固定的延迟值。可以在Delay中设置数值。
5、图解延迟均匀分布抖动
- 均匀分布抖动:每个报文的延迟值在设置的最小值和最大值范围内均匀分布。也就是说,报文受到的延迟会在 minimum~maximum 之间,取得每个时延值的概率是相等的。
6、图解延迟正态分布抖动
- 正态分布:通过设置最小值Min、均值Mean和标准差Std Deviation指定一个截断的正态分布。
如上图所设置的参数,报文受到的延迟值的范围以及报文落在每个时延范围内的概率如下图所示:
7、图解延迟Custom抖动
通过设置 平均延迟值 Delay
、 最小延迟 Min.Delay
、最大延迟 Max.Delay
、 +Delta
、-Delta
、 Spread 弹性系数
这 6 个参数指定一个自定义的正态分布。
Delay:
延迟的均值、Mean Delay;
Min.Delay:
限定了延迟大小范围的最小值;
Max.Delay:
限定了延迟大小范围的最大值;
+Delta 和-Delta:
限制了相邻的两个报文的延迟变化的上限和下限。例如:+Delta=50ms 、-
Delta=30ms ,连续经过两个报文,第一个报文的延迟是 200ms, 则第二个报文的延迟大小最大不会超过 250ms,最小不会低于 170ms;
Spread 弹性系数:
Spread 值越大, Delay 远离均值的概率越大。
点击右下角的 [Preview] 按钮,可以生成用 350 个报文的延迟值描绘的折线预览图以及分布预览
图;预览图可以直观地反映出最终的仿真效果。
8、图解随机丢包
HoloWAN中的丢包率是一个概率,而不是丢包数量占总包数的比例。
HoloWAN丢包率可设定为 0%—100%,单位增量 0.0001%。当处理的报文数量足够多的时候,丢包数量占总包数的比例会无限接近或者等于丢包率。
9、图解周期性丢包
指定固定的丢包周期,指定突发的大小(单位是报文个数)。
如下图:设置 1000 个报文为周期,突发大小为 10 个报文,那么每发送 990 个报文随后有 10 个报文
被丢弃。
10、图解突发丢包
HoloWAN通过设定:Probability 丢包概率
、Minimum 最小连续丢包数量
、 Maximum 最大连续丢包数
三个参数控制一定概率的连续丢包,最少连续丢包数量可以等于最大连续丢包数量。
例如:设置 Probability 为 1% ,Minimum 为 3 Packets ,Maximum 为 8 Packets ,则每个数据包通过 HoloWAN 时触发丢包事件的概率为 1%,一旦判断丢包事件被触发,则最少连续丢弃多个数据包,连续丢包数量在 3 个到 8 个之间取随机值。
11、图解双通道丢包
HoloWAN分别指定良好通道(Good State)
和较差通道(Bad State)
的丢包率(Loss)
,并指定每个数据包由其中一个通道转变到另外一个通道的转变概率(Change)
,所有的数值都是按百分比设置 0%—100% ,增量为 0.0001% ;每次仿真开始的时候,数据的状态都处于良好通道
。
12、图解马尔科夫四状态丢包
数字 1、2、3、4 分别代表 4 种状态:
1:Received Successfully,成功收到报文。
2:Received Within a BURST,在BURST状态下接收报文。
3:Lost Within a BURST,在BURST状态下丢包。
4:Isolated Lost Within a Gap,孤立的丢包状态。
BURST 是指一个丢包比例高的时期。
HoloWAN可以设置4个状态之间的转化概率,以此来控制丢包率的变化。
13、图解误码率
遭受误码的报文不会被 HoloWAN 丢弃,而是在报文的随机位置加入 Bit Error 然后转发出去。遭受误码的报文会重新计算 CRC ,但不会重新计算Checksum 。
误码率是基于 Bit 计算的一个概率。当处理的报文足够,实际误码概率比例会无限接近或者等于我们设置的值。
14、图解重复报文
重复帧需要设定帧被重复发送的概率。重复的帧被插入到原始帧的后面,并在参与后续的带宽限制、时延、丢包和乱序等过程与原始帧保持独立。
-
Duplication-Normal:重复帧的普通模式;
重复概率可以设置为 0—10%,单位增量是 0.001%;要禁用重复帧可以设置重复率为 0%,重复帧默认状态为禁用。
-
Duplication-Jitter:曲线控制重复帧出现的概率;
Max
最大的概率;
Min:
最小的概率;
Phase:
曲线初始的位置;
Period:
抖动的周期;
Change Mode:
点击曲线图可以选择 6 种不同的曲线模型。
15、图解报文乱序
乱序需要指定每个帧发生乱序的概率以及新的位置相对于原来位置的时间范围,此行为由两个参数控制:
概率(ultimatebability):
指定每个单独的帧乱序的可能性。概率可以设置从0% — 20% ,单位增量是 0.001% 。
延迟(Delay):
指定了乱序的帧在被重新插入到数据流中相对于原来位置所滞后的时间。最小和最大乱序延迟设置范围为 0 ~ 10 秒,颗粒度为 0.1 毫秒。
- Reordering-Normal:乱序的普通模式。
- Reordering-Jitter:通过曲线控制乱序的概率的变化。