Spirent TestCenter 中文教程(5)入门使用 - 如何创建流量

文摘   2024-12-11 11:40   北京  
STC创建流量方式有两种,一种是Bound stream,另一种是Raw stream.

Bound stream流量创建方式是基于对象建流方式,流量的源和目的节点基于的对象是不同仪表端口中的提前创建好的Endpoint Endpoint可以是普通的Device,路由协议发布的Route,或者DHCP等接入协议分配到的地址等等,报文头的源和目的MAC/VLAN/IP等属性值都是继承了Endpoint的地址,Bound Stream最大优势是结合各种网络协议,批量的为多达几百个测试端口创建各种拓扑的复杂流量

Raw stream是在每一个portTraffic generator下面添加的,不依赖于其他任何协议,也不需要提前创建device, 一般用于纯流量测试 报文头的源和目的MAC/VLAN/IP等属性值也可以灵活配置,通过在报文头部的某一个字段进行递增和递减等操作,也能够构造复杂的流量模型。

通过前期的文章,我们知道了如何通过向导创建BGP device和发布BGP Route,那么这一期将通过向导方式来创建基于BGP RouteBound Stream流量,另外后面还会讲解Raw Stream流量的创建



Bound Stream流量

下面是Bound Stream流量创建用到的测试网络拓扑图(1)以及STC预先做好的配置(2), STC使用4个仪表Portport1->port4,每个Port分别创建一个BGP device ( device1->device4 ), 分别与DUT建立BGP邻居,并分别发布各两条BGP路由(1.0.0.0->4.0.1.0).

1 测试网络拓扑图        

2  BGP DeviceRoute预配置

1.启动Bound Stream流量创建向导
图3

2. 选择Ports

图4

3.选择源和目的Endpoints
源选择port1port2 BGP route,目的选择port3port4 BGP route, 然后左边一列依次选择Pair, Bidirectional, one-to-one, stream only generation选项,然后点击Add, 那么下面会显示两行双向流,后面会用比较多篇幅讲解这个界面中选项的作用。

5


Endpoints界面各选项介绍:

3.1 端口拓扑(distribution)  选项
 

  

6  端口拓扑

参考了RFC2889标准,有三种拓扑(Fully meshed, Backbone, Pair)可以供选择,默认拓扑是PairPair拓扑比较灵活,除了可以选择一个源端口和一个目的端口,达到端口一对一效果流量之外,也可以选择多个源端口或者多个目的端口,达到端口一对多或者多对一效果根据测试目的选择相应拓扑,例如整机转发压力测试可以选择Fully meshed拓扑


3.2 ProtocolEncapsulation列表
过滤需要显示在SourceDestination表中的Endpoints.
7


3.3 Orientation选项
UnidirectionalA->B单向, BidirectionalA<->B双向

8


3.4 Endpoints Mapping选项

每个端口一般创建有多个Endpoints, 例如Port1包含Device D1D2, Port2包含DeviceD3D4, 那么选择one-to-one情况下,那么流量是D1<->D3D2<->D4单向两条Flow(双向共四条Flow, 如果选择many-to-many那么流量是D1<->D3D1<->D4, D2<->D3, D2<->D4,单向四条Flow(双向八条FlowFlow的概念下面会详细讲解。

            

3.5 Stream only Generation选项
10

数据统计的粗细粒度来决定是否勾选这个选项。
我们首先要理解一下FlowStream的概念,一条Flow表示构建这条流量的OSI L2-L7报文头部的字段是唯一的,类似唯一的IP五元组,能够区分不同的流量,DUT可以根据不同流量做出转发决策STC可以在创建Bound Stream流量中选择不同的源和目的,或者在创建Raw Stream流量中对报文头部中字段进行递增递减等操作,从而构造出很多不同的流量也就是很多不同的Flow.

Stream是用在统计分析中的,一条Stream包含一个唯一的Stream ID,四个字节的Stream ID包含在20字节的思博伦签名字段当中STC收到数据包首先会检查是否有签名字段,如果有,那么就会接着检查Stream ID的值,STC会基于相同Stream ID的数据包分别进行独立的统计分析。

Stream only Generation选项作用是Stream ID如何映射到Flow,例如创建了两条Flow的流量,那么如果勾选上,那么两条Flow会各有一个Stream ID, 也就是两条Stream,每条Flow都可以独立统计,如果不勾选,那么只生成一条Stream,两条Flow会共用一个Stream ID, 合并进行统计。一般的测试场景就是一条Stream会对应多条Flow,方便合并进行统计


3.6 Show All Headers选项
勾选后,流量向导中的Frame界面中会显示全部的报文头,包括以太网头部。

图11

3.7 Bypass IP Subnet Checking选项
如果流量的源和目的IP不在一个网段,默认不勾选的情况下,流量的目的MAC用的是网关的MAC,如果勾选这个选项,虽然源和目的不在一个网段,但是还是使用目的IPMAC地址

12


4.Tunnel Binding界面
该界面可选,配置跟MPLSSRV6协议标签绑定相关,由于现在是普通的BGP route的流量, 默认配置就行了。

13


5. Frame Size界面相配置
该界面可以配置StreamBlock名字1IP 头部protocolQOS字段的值2frame Size (Fixed, Random, Increment, Decrement, Auto, iMIX)3以及一些选项4,下面会利用一些篇幅讲解这些选项。

14


Frame Size界面各选项介绍:

5.1 Allow port to generate traffic to itself选项

15


有一种测试场景,Bound Stream的源和目的节点都在同一个仪表端口,也就是流量从发送端口发出到DUT后,DUT把流量原路返回给发送端口,那么勾上这个选项才能正常进行统计。


5.2 Expand Stream blocks under ports选项

16


前面讲过了FlowStream的概念,这里另外还要讲一下Streamblock概念才能更好理解这个选项,StreamBlock是具有一些共性stream的集合,StreamBlock提高了STC的扩展率和操作效率,能快速方便的配置大量的流

通过这个向导创建后在Traffic Generator主界面显示的也是一行一行的StreamBlock,一行Streamblock可能包含多条Stream

回到Endpoints界面的配置 (17),如果端口拓扑选择Backbone, 那么Port1端口会发送流量到Port3port4,然后这个选项选择“Multiple paths per streamblock”,那么Port1端口只生成一行Streamblock(图18,如果选择“One path per streamblock”,那么Port1端口会生成两行Streamblock(图19,分别对发往不同端口的流量单独创建一行Streamblock

17


18


19


5.3 High Speed Result Analysis选项
勾选上,发送和接收数据流都是硬件处理;不勾选,发送和接收都是CPU软件处理。默认是勾选上的,只有特殊情况才不勾选
20


5.4 Enable Analyzer Preload选项
勾选这个选项的目的是让接收端口知道期望收到哪条Stream的数据包,如果接收端口没有收到期望收到的某条Stream任何数据包,那么它将会为这条Stream统计为100%丢包

21


6. Frame界面配置
勾选 Show AllFields”显示报文头部的全部字段Bound Stream流量的报文头部继承了BGP RouteEthernetIP头部地址属性,所以这些属性显示的是灰色,无法在这里更改,但其它字段可以进行修改,可以通过点击 Add Header, 添加IPV4封装的上层头部,例如TCP/UDP头。

22


7. Traffic Load界面配置流量负载
配置流量调度模式和相应的流量负载,流量调度模式分别可以配置为Port based, Rate Based, Priority Based, Manual Based四种,具体四种详细定义需要单独另外文章展开讨论,在这里不做细谈,当前默认配置。
23


8. Rx Port界面选择流量的接收端口(24)
该界面配置可选,添加期望收到该流量的接收端口,根据测试的需要添加,如果添加了Rx Port并在Settings界面勾选 “collect stray frames” 选项(图25),那么如果不是期望的端口收到了该流量的数据包,这些数据包就会被统计为stray”帧(迷失帧)

24


25


9.完成流量创建并查看
9.1 可以通过点击 All Stream Blocks 查看全部端口已创建的StreamBlock(图26或者点击各自端口下的“Traffic Generator 查看这个端口作为发送端口的StreamBlock(图27

26


27


9.2 右键点击某条StreamBlock, 选择Preview, 可以查看这条StreamBlock包含两条Stream, 对应两条Flow  (已勾选Stream only generation)


28


10. 发送流量,查看结果
10.1 统计结果窗口依次选择“System Views->Streams->Stream Block Results”,启动BGP Device, BGP邻居建立完成,点击发送流量,一共有四个发送端口,每个端口一条Stream Block,那么在这个统计界面(图29)会显示四条Stream Block的统计,统计包含有丢包,乱序,重复包,时延值等等。
29


10.2 统计结果窗口依次选择“System Views->Streams-> Detailed Stream Results,因为每一条Streamblock包含两条Stream,那么统计界面会显示总共8Stream的统计(图30)。

30


Raw Stream流量

通过上一节创建bound stream流量,我们知道了FlowStream, Streamblock的概念,那么下面我将用Raw Stream方式建立一条Streamblock下表, 包含三条Stream, 每一条Stream对应一条Flow.


1. 占用两个仪表端口,端口1点击"Add Raw Stream Block"
两个端口使用光纤直接连接,端口1作为发送流量端口,端口2作为接收统计端口


2. StreamBlock编辑窗口
2.1 General页,配置数据帧的Frame Size, Payload
  • Frame size:Fixed, Increment, Decrement, Random, Auto, iMIX
  • Payload fill constant和Payload Fill type:  Payload fill constant配置的是payload的前四个16进制数,可以填全0,全1,AAAA,5555,0F0F, FFFF,剩余的payload填充
    由Payload fill type决定,可以配置Constant, Increment, Decrement, PRBS
  • Insert FCS error: 是否发送FCS error帧
  • Include Signature Field:  发送的数据帧payload是否带20字节的思博伦签名字段

2.2 Frame
a. 默认是EthernetII+IPV4封装,可以通过删除,添加,插入,修改等操作得到需要的各种头部和字段

b. 修改源和目的IP地址


c. 右键点击Source,选择Insert IPv4 Modifier


d. Modifier对话框
选择increment递增,递增数目Count3,选择Use Streams 该选项功能同Bound Stream向导中的“Stream only Generation),点击OK


e. 按照同样步骤给Destination添加递增选项,最终显示如下图


3.  Preview页,查看最终生成的流量


4. 查看统计
在左右统计窗口同时打开“Stream Block Results”和“Detail Stream Results
    

5. 抓包
在端口2中进行抓包,下面是实际发送的数据包,可以查看到是仪表是轮询着发送三条flow的数据包


关键词:stc,bound stream,raw stream, stream only generation, streamblock,one-to-one, many-to-many, pair, fully meshed, backbone, flow


联系我们:

思博伦官方网站: www.spirent.cn

技术中心热线:400-810-9529

支持邮箱:support@spirent.com

售后网站:support.spirent.com


版权归思博伦通信科技(北京)有限公司所有,思博伦技术中心(SpirentServices)原创发布,转载请联系授权。


长按识别二维码,关注思博伦技术中心


思博伦技术中心
思博伦技术中心由思博伦全球服务部的技术团队管理和维护。我们致力于提供完善的技术支持,并定期更新。通过我们的微信平台您将获取最新的产品发布信息,全面的产品使用技巧,实用的常见问题解决方案,以及完善的售后服务流程。
 最新文章