成熟和完善的通訊接口支持是英創公司工控主板的一大亮點,對工業中常用的通訊接口在各種場合都有著穩定的運行表現,所以主板被大量應用于和通訊相關的項目中。而對于通訊類的設備,有一些場合會要求通過網絡風暴測試。網絡風暴一般是指由于網絡中充滿了廣播包或組播包,以至于占滿整個網絡帶寬,導致網絡極慢甚至癱瘓的一種故障。
正常情況下,主板會接收發送過來的廣播包和組播包然后進行相關處理和解析,如果整個網絡中充滿了廣播包或組播包,那么主板將會一直處在對網絡數據包的處理和解析中,這樣就會大量消耗主板的資源,導致主板出現系統響應慢,甚至導致影響整個系統正常運行的情況。針對這種現象和需求,英創公司在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。測試硬件環境如下:
測試環境
trafgen工具可以讀取配置文件,根據文件內容生成所設置的數據包,在這次測試中英創公司設計了生成廣播包的配置文件,在PC端運行后,就會有大量的廣播發出,讓局域網內充滿了廣播包,執行命令后效果如下:
生成廣播包
可以看到PC的8個核心同時在發出廣播包,這時通過top指令查看ESM3354主板的CPU狀態,如下圖:
資源占用
上圖的信息說明ESM3354的CPU資源已經被完全占用,說明處理接收到的廣播包已經消耗了許多的硬件資源,導致CPU負載過高,可能會影響其他功能的正常運行。
這時通過英創公司提供的工具軟件switch-configs來限制廣播包的接收速率,運行程序時帶入參數1,效果為限制ESM3354主板每秒鐘最多分別接收1000個廣播包和組播包,參數1-10,分別對應1000-10000個包,參數0則表示取消限制,如下圖:
設置網絡限制
運行后效果如下圖:
資源占用
從圖中的信息看出CPU的負載降下來了,說明板卡此時完全沒有受到網絡中大量廣播包的影響,系統正常運行。因為限制了ESM3354主板接收廣播包和組播包的速率,就算網絡中還有更多的廣播包和組播包,也不會影響ESM3354主板的正常運行。
所以這次實驗驗證了ESM3354主板在網絡風暴情況下仍然能夠正常運行,不會受到網絡中大量廣播包和組播包的影響,大幅提升了在極端網絡條件下設備的穩定性。最后在對主板不同的限制速率情況做了對比測試,并且統計了生成的廣播包數量,整理如下:
限制速率 | 測試時間 | 累計廣播包數量 | CPU負載 |
無限制 | 61s | 9201579個數據包 共552094740byte | 98% |
5000 | 61s | 9201579個數據包 共552094740byte | 2.5% |
1000 | 61s | 9201579個數據包 共552094740byte | 0% |
若對此功能有興趣,需要設置網絡設置的switch-configs工具,可與英創的工程師聯系。
成都英創信息技術有限公司 028-8618 0660