Spirent TestCenter中文教程/操作指南 - Burst (突发) 流量的分析与构建

发表日期:2025/02/18 浏览次数:

遇到了很多同学问过Burst流量的问题,为了大家更好的理解,本文在此我们就一起讨论一下,愿对大家有所帮助。


首先了解什么是Burst流?


图片


 Burst 流量,即突发流量。

在当今数字化高速发展的时代,网络已成为人们生活和工作中不可或缺的一部分。然而,网络的运行并非总是一帆风顺,其中突发流量的出现往往给网络的稳定性和性能带来巨大挑战。
网络环境中,突发流量的存在具有一定的必然性。随着各类新兴技术和应用的不断涌现,网络流量的模式变得愈发复杂多变。例如,在重大活动的直播期间、热门游戏的上线时刻或是大规模的在线促销活动中,用户的集中访问会瞬间引发大量的数据传输,从而形成突发流量。这种突发流量的出现往往难以准确预测,却又可能对网络造成严重的冲击。
与此同时,网络设备的存储容量并非无限。无论是路由器、交换机还是服务器等设备,其缓存空间都有一定的限制。当突发流量来袭时,这些设备的缓存能力面临着严峻的考验。大量的数据在短时间内涌入,可能会迅速填满缓存,导致数据处理延迟增加、丢包率上升甚至设备崩溃。突发流量在性能方面对网络设备缓存的能力提出了极高的要求,这也使得我们不得不深入研究如何应对这种挑战。
鉴于此,只有通过对不同场景下突发流量的测试,我们才能更好地了解网络的承受能力,提前发现潜在问题并采取相应的优化措施,确保网络在各种复杂情况下都能稳定、高效地运行。



下面我们来学习如何使用Spirent TestCenter构建突发流量进行测试。



1. “Port Based”调度模式下的Burst流量配置



1.png

                                                               图(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.png

                                                                图(2) Burst示意模型


2. “Priority Based”调度模式下的Burst流量配置



配置含义同上,配置界面如下:

3.png

                                                              图(3) Priority Based 配置视图


Priority Based的不同就是其可按照Stream Block单独设置突发,“Port Based”调度模式下的Burst配置是针对整个端口

 


3.“Manual Based”调度模式下的Burst流量配置



当前模式下能够配置较为复杂的Burst配置,可以设置每条流的发送情况。

配置界面如下:

4.png

                                                                 图(4) Manual Based配置视图


相比前面,这里多了“Inter-Entry Gap”的控制,即当前Entry执行完成后与执行下一条Entry的间隔。相比前两种调度模式,这里的控制更加精细。


5.png

                                                                     图(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.png

                                           图(6) Port Based模式下配置样例


我们抓包看一下结果,结果与预期一致:

7.png

                                                             图(7) 流量抓包


对于支持“Manual Based”调度支持的卡来讲,配置起来可以更加方便。

配置如下:

8.png

                                                      图(8) Manual Based模式下配置样例


最后,希望本文使您对帧间隙,速率单位关系,Burst流量等的认识有所收获。