Spirent TestCenter中文教程/操作指南 - Burst (突发) 流量的分析与构建
遇到了很多同学问过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流量等的认识有所收获。