英创信息技术ESM335x主板对网络风暴的应对措施简介

描述

成熟和完善的通讯接口支持是英创公司工控主板的一大亮点,对工业中常用的通讯接口在各种场合都有着稳定的运行表现,所以主板被大量应用于和通讯相关的项目中。而对于通讯类的设备,有一些场合会要求通过网络风暴测试。网络风暴一般是指由于网络中充满了广播包或组播包,以至于占满整个网络带宽,导致网络极慢甚至瘫痪的一种故障。

正常情况下,主板会接收发送过来的广播包和组播包然后进行相关处理和解析,如果整个网络中充满了广播包或组播包,那么主板将会一直处在对网络数据包的处理和解析中,这样就会大量消耗主板的资源,导致主板出现系统响应慢,甚至导致影响整个系统正常运行的情况。针对这种现象和需求,英创公司在ESM335x系列主板上增加了抵抗网络风暴的方案,让主板即使处在网络风暴中也不会消耗过多的资源,保证主板功能的正常运行。

在ESM335x主板上采用的方法是控制接收广播和组播包的速率,通过英创公司提供的软件工具switch-configs设置,可以将ESM335x主板每秒接收广播和组播包数量进行限制,总共分为10个梯度,从每秒钟分别最多接收10000个广播包和组播包到每秒钟1000个,每个梯度递减1000,这样就避免了接收过多的广播包和组播包,从而导致消耗过多的硬件资源。

为了测试方案的效果,英创公司使用了PC和ESM3354主板搭建了实验环境,让ESM3354主板和PC通过交换机连接,然后在PC上使用大流量网络数据包生成工具trafgen,产生大量广播包模拟网络风暴的情况,观察在限制接收广播包和组播包速率前后,系统资源的消耗情况有无变化。关于trafgen工具的介绍,可以参考trafgen(8)或者网站:http://man7.org/linux/man-pages/man8/trafgen.8.html。测试硬件环境如下:

Linux

测试环境

trafgen工具可以读取配置文件,根据文件内容生成所设置的数据包,在这次测试中英创公司设计了生成广播包的配置文件,在PC端运行后,就会有大量的广播发出,让局域网内充满了广播包,执行命令后效果如下:

Linux

生成广播包

可以看到PC的8个核心同时在发出广播包,这时通过top指令查看ESM3354主板的CPU状态,如下图:

Linux

资源占用

上图的信息说明ESM3354的CPU资源已经被完全占用,说明处理接收到的广播包已经消耗了许多的硬件资源,导致CPU负载过高,可能会影响其他功能的正常运行。

这时通过英创公司提供的工具软件switch-configs来限制广播包的接收速率,运行程序时带入参数1,效果为限制ESM3354主板每秒钟最多分别接收1000个广播包和组播包,参数1-10,分别对应1000-10000个包,参数0则表示取消限制,如下图:

Linux

设置网络限制

运行后效果如下图:

Linux

资源占用

从图中的信息看出CPU的负载降下来了,说明板卡此时完全没有受到网络中大量广播包的影响,系统正常运行。因为限制了ESM3354主板接收广播包和组播包的速率,就算网络中还有更多的广播包和组播包,也不会影响ESM3354主板的正常运行。

所以这次实验验证了ESM3354主板在网络风暴情况下仍然能够正常运行,不会受到网络中大量广播包和组播包的影响,大幅提升了在极端网络条件下设备的稳定性。最后在对主板不同的限制速率情况做了对比测试,并且统计了生成的广播包数量,整理如下:

限制速率 测试时间 累计广播包数量 CPU负载
无限制 61s 9201579个数据包
共552094740byte
98%
5000 61s 9201579个数据包
共552094740byte
2.5%
1000 61s 9201579个数据包
共552094740byte
0%
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分