遇到了很多同学问过Burst流量的问题,为了大家更好的理解,本文在此我们就一起讨论一下,愿对大家有所帮助。
首先了解什么是Burst流?
Burst 流量,即突发流量。
在当今数字化高速发展的时代,网络已成为人们生活和工作中不可或缺的一部分。然而,网络的运行并非总是一帆风顺,其中突发流量的出现往往给网络的稳定性和性能带来巨大挑战。网络环境中,突发流量的存在具有一定的必然性。随着各类新兴技术和应用的不断涌现,网络流量的模式变得愈发复杂多变。例如,在重大活动的直播期间、热门游戏的上线时刻或是大规模的在线促销活动中,用户的集中访问会瞬间引发大量的数据传输,从而形成突发流量。这种突发流量的出现往往难以准确预测,却又可能对网络造成严重的冲击。与此同时,网络设备的存储容量并非无限。无论是路由器、交换机还是服务器等设备,其缓存空间都有一定的限制。当突发流量来袭时,这些设备的缓存能力面临着严峻的考验。大量的数据在短时间内涌入,可能会迅速填满缓存,导致数据处理延迟增加、丢包率上升甚至设备崩溃。突发流量在性能方面对网络设备缓存的能力提出了极高的要求,这也使得我们不得不深入研究如何应对这种挑战。鉴于此,只有通过对不同场景下突发流量的测试,我们才能更好地了解网络的承受能力,提前发现潜在问题并采取相应的优化措施,确保网络在各种复杂情况下都能稳定、高效地运行。
下面我们来学习如何使用Spirent TestCenter构建突发流量进行测试。
1. “Port Based”调度模式下的Burst流量配置
图(1) Port based 配置视图
Burst Size:一组(次)突发包含的数据帧的数量。Inter Frame Gap Unit:控制帧间隔的单位,可以设置线速百分比,速率,时间或者速率。Inter Frame Gap:帧的间隔,与Inter Frame Gap Unit一起控制突发流量的速率大小。Duration Mode:发流模式,可以设置为持续,或者突发次数,发流时长。Burst(s):Duration Mode设置为Bursts时候,控制突发次数。Port Load:端口流量的平均速率,影响着突发组之间间隔(Inter Burst Gap)的大小。
Burst 流量经典模型图如下:
图(2) Burst示意模型
2. “Priority Based”调度模式下的Burst流量配置
配置含义同上,配置界面如下:
图(3) Priority Based 配置视图
Priority Based的不同就是其可按照Stream Block单独设置突发,“Port Based”调度模式下的Burst配置是针对整个端口。
3.“Manual Based”调度模式下的Burst流量配置
当前模式下能够配置较为复杂的Burst配置,可以设置每条流的发送情况。
配置界面如下:
图(4) Manual Based配置视图
相比前面,这里多了“Inter-Entry Gap”的控制,即当前Entry执行完成后与执行下一条Entry的间隔。相比前两种调度模式,这里的控制更加精细。
图(5) 流调度示意图
4.Burst流量创建举例
曾经一同学问的问题,如何在1G端口的Port Based模式下创建一条180字节线速突发流量,打2ms,停18ms,持续周期发流。
我们先了解如下知识:
要计算发送 1 个比特的时间,可以使用公式:时间 = 1(比特)÷ 速度(比特 / 秒)。1G 的端口速度意味着 1Gbps(1×10⁹比特 / 秒)
所以1G发送 1 个比特的时间为 1÷(1×10⁹)=1×10⁻⁹秒(1 纳秒)
同理:
10G端口发送1个比特的时间0.1 纳秒;
100G端口发送1个比特的时间0.01 纳秒;
在标准以太网中1G端口线速发送一个180字节的数据包,所耗时间应该为 (180(字节,数据)+ 8(字节,前导码)+ 12(字节,线速情况下的帧间隙))* 8 (bits,比特) *1(ns,纳秒),等于1600纳秒。
确定Burst size:2000000(ns,2ms)/ 1600(ns) =1250。
由于确定是20ms一个周期,一秒50个周期,单位时间包速率可以确定为1250*50=62,500 (FPS);
也可以这样计算单位时间速率:
((2ms * 1G (1G线速率)+18ms*0 (速率为0)) / 20ms=0.1 (G)。
图(6) Port Based模式下配置样例
我们抓包看一下结果,结果与预期一致:
图(7) 流量抓包
对于支持“Manual Based”调度支持的卡来讲,配置起来可以更加方便。
配置如下:
图(8) Manual Based模式下配置样例
最后,希望本文使您对帧间隙,速率单位关系,Burst流量等的认识有所收获。