工控防火墙测试之性能篇

  • A+
所属分类:安全文章

工控防火墙测试之性能篇

在上一篇文章《工控防火墙测试之功能篇_Fuzzing测试》中跟大家分享了工控防火墙功能测试的相关知识和方法,作为产品级的质量保证人员,我们不仅要对功能层面进行验证,还要从性能、稳定性和安全性这几个方面来对产品进行全面的测试,这样才能做到真正的产品级质量保证,满足客户的实际使用需求,也能够及时发现产品的深层次问题。

下面就跟大家分享下产品级质量保证测试中的另一个重要环节,性能测试。我们这里所说的性能测试不仅包括2-3层的性能,还包括客户现场具体使用的7层业务(如Modbus,Profinet,S7,IEC104等)的性能测试。涉及到的具体测试指标为吞吐、新建和并发。

业界对于性能测试的通用的、认可的做法是使用专业的硬件测试仪对网络设备进行测试,知名的测试仪厂商有思博伦 、IXIA。但是这两个厂商的设备价格都很昂贵,动辄几十万、上百万的价格对于一般的企业是很难负担的,即使是租用,一天几千块的费用,按整个项目周期核算,也是一笔不小的费用。

而公司全年的项目计划及各个项目的进度都是提前计划好的,特别是公司的重大战略项目,什么时间段开发,什么时间点转测试,什么时间点量产,什么时间点交付客户。如果我们没有从全局的视角去提前为之做准备,而是一味地按部就班按计划走,那么有很大的可能会在性能测试阶段碰到吞吐打不起来,或者即使打起来也与期望的指标相差甚远。这就会导致租用测试仪的金钱成本和整个项目的时间成本增加。

那么有没有一种方法 ,在不使用专业硬件测试仪的情况下先行对网络设备的性能进行摸底测试呢?测试的数据不一定非常精确,但是误差不大,这对实际工作具有重要意义,特别是在公司要研发的产品使用的是全新硬件平台的项目上。

注:本文所阐述的性能测试方法是指“使用硬件测试仪进行正式测试前的摸底测试的一种等价方法,而不是完全取代测试仪的方法”。意义在于可以避免项目实施过程中的进度风险和尽量减少租用仪器的金钱成本。

下面按照这一思路去找到可落地执行的具体方法,对工控网络设备的性能(本文讨论吞吐、新建和并发)进行摸底测试。以下内容是在实际工作中积累的经验、方法总结,供大家参考,涵盖以下性能测试内容:




  • 工控网络设备2-3层性能测试_吞吐(接口)

  • 工控网络设备2-3层性能测试_吞吐(整机)

  • 工控网络设备7层性能测试_吞吐

  • 工控网络设备性能测试_新建及并发



工控网络设备2-3层性能测试_吞吐(接口)


在落实具体的执行方法前,我们需要清楚测试仪的基本原理,其原理就是在双向两条流(通常取UDP协议)的条件下,测试仪发送端口发送的报文数与本端接收端口接收的报文数相等,即没有丢包,就达到了相应指标的吞吐。理解了这个基本原则,我们就可以具体执行了。

性能测试网络拓扑_透明模式
 

工控防火墙测试之性能篇


性能测试网络拓扑_路由模式   

工控防火墙测试之性能篇         

具体方法为(本文中的示例均以UDP 512 bytes为例):

  • 1.构造大量的UDP报文,包长为512字节。在发送前开启实体机(Windows操作系统)wireshark抓包,在发送过程中把构造的报文都抓取下来并保存为test1.pcap文件。


    这个操作可以利用我在《工控防火墙测试之功能测试》中介绍的报文构造方法,注意,在发送报文时,可以在脚本中使用 interval来指定发送报文的频率,即pps.


    在实际的工作实践中,PC机抓取200万数量级的报文并保存出来是没有问题的,当然,这取决于具体PC的硬件配置。工作中使用的笔记本配置为内存4G,CPU Intel(R) i5-4200 @1.60GHZ,供参考。


  • 2.把抓取的pcap文件使用tcpreplay进行回放,为了避免有突发流量对性能测试造成影响,要使用 -p 参数指定发送的pps。

    如:tcpreplay –i eth0 test1.pcap -p 5000


  • 3.以上只是实现了一个方向的流量灌入,为了测试设备接口工作在全双工时的报文转发能力,还需要同时在对端有对等流量灌入。

    即重复上面的步骤1和步骤2的过程,然后在两台主机上同时回放报文如:tcpreplay –i eth0 test2.pcap–p 5000


验证方法:

  • 1.两台pc在使用tcpreplay回放完报文后,会显示如下信息:

    1)发送了总共多少个报文

    2)发送用时多少秒

    3)发送速率,包括Mbps, pps

    4)发送多少条流

    5)发送在哪个网卡

    6)发送结果是否成功。

    我们将两台发包机发送的报文数分别记为a1、a2,然后将a1、a2相加,计算出的值记为A。

 

工控防火墙测试之性能篇


  • 2.在被测试设备上可以看到cpu总共处理了多少个报文,该数字记为B。如果是多核处理,会分别显示出每个核处理了多少报文,也可以清晰地看出不同核对报文的转发处理是否均衡,是否还有调优的空间。

    将B与A的值相对比,如果B与A相等,就说明没有丢包,被测试设备能够达到当前的吞吐值;反之,B不等于A,则说明被测试设备不能达到当前的吞吐值,需要降pps再次试验,直至不丢包。


  • 3.如果被测试设备没有丢包,就把当前的pps换算成Mbps(整机吞吐换算成Gbps)得到具体的吞吐值即可。注意,pps的值为两台主机发送报文时的pps之和。



工控网络设备2-3层性能测试_吞吐(整机)


我们已经掌握了1对口的性能测试方法,那我们该如何去测试整机的吞吐性能呢?以12口型号的工控防火墙为例,如果使用测试仪测试,通过扩展板卡很容易进行测试;但是如果机械地按照上面测试1对口吞吐的方法,那么就需要很多台主机接入测试环境,这显然是不可取的。那有没有简单、高效的方法呢?答案是有的,而且可以还只用两台pc机。

  • 1.我们先分别测试6对口,确保每对口的吞吐性能都能达到线速。


  • 2.把6对接口从左到右依次排序为1,2,3,4,5,6.把pc1与第1对接口的入接口相连,把pc2与第6对接口的出接口连接,剩余的接口分别用1根网线依序连接,即把12个端口串起来打流量。


  • 3.分别抓取用于回放的测试“整机吞吐”的流量报文,与测试1对口性能不同是的,此处为UDP双向12条流,包长512字节。


  • 4.在两台pc上同时发送对等流量。


以上方法在工作实战中,测得一款网络设备整机吞吐性能为4.9 Gbps,与后来用思博伦测试仪测得数值5.2 Gbps相比,相对误差仅为5.8%,验证了该方法的可行性和准确度。


工控网络设备7层性能测试_吞吐


7层吞吐性能反映的是被测试工控网络设备对客户现场使用的特定工控协议的处理能力。测试方法与上面基本一样,只是需要把UDP中的负载换成具体的工控协议就可以了。如modbus协议写多个寄存器值

modbus_request=Ether()/IP(src="200.200.200.3",dst="200.200.200.2")/TCP(dport=502)/Raw(load='x36x33x00x00x00x1Bx04x10x00x64x00x0Ax14x00x0Ax01x02x06x10x07x08x09x10x06x10x06x10x06x10x06x10x06x10')


工控网络设备性能测试_新建、并发


构造并实时发送大量不同的数据流经过被测试设备,按照900ms的间隔读取流表内的建流数值,可以非常直观地看出新建流的能力,近乎等同于每秒新建多少条流。

在新建测试的基础上可以验证并发,具体方法为在保持现有新建速率的基础上可以保持30秒或60秒。

发包环境构造总结:

  • 1.成功之处在深刻理解硬件测试仪工作原理的基础上,使用等价法找到替换测试仪的替代方法。

  • 2.重点报文构造及获取,发包速率及匀速回放。


  • 3.难点匀速回放。

    解决方法:

    1)发送报文时指定发送频率

    2)回放报文时指定回放频率


  • 4.缺点本文中构造的发包环境是依赖于软件,内存只有4G,而且是在虚拟机中发包,发包速度无法与硬件测试仪的发包速度相比。也就是说瓶颈在于PC机的性能。所以测试性能吞吐时会有5.8%的误差。如果是在一台有8G内存的真实电脑上安装Linux操作系统作为发包机,一定会再次提高测试精度,减小误差!


  • 5.改进方案两台配有8G内存,性能好的CPU的真实电脑上安装Linux操作系统作为发包机.


  • 6.约束该性能测试方法要求被测试设备具备可测试性和排障接口,这也是软件工程中必须具备和满足的要素。比如,CPU收发报文数及每个核各自处理多少报文数的查看接口,流表内容及总条目数查看接口等。


个人及版权说明:本篇文章为个人在实际工作中的经验积累、总结,无抄袭他人内容。也请别人在引用该文章内容时注明出处!                                      
工控防火墙测试之性能篇
威努特简介
工控防火墙测试之性能篇

北京威努特技术有限公司(以下简称“威努特”), 是国内工控网络安全领军企业、全球六家荣获国际自动化协会安全合规学会ISASecure CRT Tool认证企业之一和亚太地区唯一国际自动化学会(ISA)全球网络安全联盟(GCA)创始成员。

威努特作为国家高新技术企业,以创新的“白环境”整体解决方案为核心,自主研发了全系列工控网络安全专用产品,拥有52项发明专利、50项软件著作权、52项原创漏洞证明等核心知识产权。积极牵头和参与工控网络安全领域国家、行业标准制定,受邀出色完成新中国70周年庆典、中共十九大、全国两会等重大活动的网络安保任务,被授予“国家重大活动网络安保技术支持单位”,得到了中央网信办、公安部、工信部等国家政府部门的高度认可。迄今已成功为电力、轨道交通、石油石化、军工、烟草、市政、智能制造、冶金等国家重要行业1000多家工业企业提供了全面有效的安全保障。

威努特始终以“专注工控,捍卫安全”为使命,致力于为我国关键信息基础设施网络空间安全保驾护航!

工控防火墙测试之性能篇

工控防火墙测试之性能篇
工控防火墙测试之性能篇
工控防火墙测试之性能篇
工控防火墙测试之性能篇
工控防火墙测试之性能篇
渠道合作咨询   张先生 18201311186
稿件合作   微信:shushu12121

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: