成熟和完善的通訊接口支持是英創(chuàng)公司工控主板的一大亮點,對工業(yè)中常用的通訊接口在各種場合都有著穩(wěn)定的運行表現(xiàn),所以主板被大量應(yīng)用于和通訊相關(guān)的項目中。而對于通訊類的設(shè)備,有一些場合會要求通過網(wǎng)絡(luò)風(fēng)暴測試。網(wǎng)絡(luò)風(fēng)暴一般是指由于網(wǎng)絡(luò)中充滿了廣播包或組播包,以至于占滿整個網(wǎng)絡(luò)帶寬,導(dǎo)致網(wǎng)絡(luò)極慢甚至癱瘓的一種故障。
正常情況下,主板會接收發(fā)送過來的廣播包和組播包然后進(jìn)行相關(guān)處理和解析,如果整個網(wǎng)絡(luò)中充滿了廣播包或組播包,那么主板將會一直處在對網(wǎng)絡(luò)數(shù)據(jù)包的處理和解析中,這樣就會大量消耗主板的資源,導(dǎo)致主板出現(xiàn)系統(tǒng)響應(yīng)慢,甚至導(dǎo)致影響整個系統(tǒng)正常運行的情況。針對這種現(xiàn)象和需求,英創(chuàng)公司在ESM335x系列主板上增加了抵抗網(wǎng)絡(luò)風(fēng)暴的方案,讓主板即使處在網(wǎng)絡(luò)風(fēng)暴中也不會消耗過多的資源,保證主板功能的正常運行。
在ESM335x主板上采用的方法是控制接收廣播和組播包的速率,通過英創(chuàng)公司提供的軟件工具switch-configs設(shè)置,可以將ESM335x主板每秒接收廣播和組播包數(shù)量進(jìn)行限制,總共分為10個梯度,從每秒鐘分別最多接收10000個廣播包和組播包到每秒鐘1000個,每個梯度遞減1000,這樣就避免了接收過多的廣播包和組播包,從而導(dǎo)致消耗過多的硬件資源。
為了測試方案的效果,英創(chuàng)公司使用了PC和ESM3354主板搭建了實驗環(huán)境,讓ESM3354主板和PC通過交換機(jī)連接,然后在PC上使用大流量網(wǎng)絡(luò)數(shù)據(jù)包生成工具trafgen,產(chǎn)生大量廣播包模擬網(wǎng)絡(luò)風(fēng)暴的情況,觀察在限制接收廣播包和組播包速率前后,系統(tǒng)資源的消耗情況有無變化。關(guān)于trafgen工具的介紹,可以參考trafgen(8)或者網(wǎng)站:http://man7.org/linux/man-pages/man8/trafgen.8.html。測試硬件環(huán)境如下:
測試環(huán)境
trafgen工具可以讀取配置文件,根據(jù)文件內(nèi)容生成所設(shè)置的數(shù)據(jù)包,在這次測試中英創(chuàng)公司設(shè)計了生成廣播包的配置文件,在PC端運行后,就會有大量的廣播發(fā)出,讓局域網(wǎng)內(nèi)充滿了廣播包,執(zhí)行命令后效果如下:
生成廣播包
可以看到PC的8個核心同時在發(fā)出廣播包,這時通過top指令查看ESM3354主板的CPU狀態(tài),如下圖:
資源占用
上圖的信息說明ESM3354的CPU資源已經(jīng)被完全占用,說明處理接收到的廣播包已經(jīng)消耗了許多的硬件資源,導(dǎo)致CPU負(fù)載過高,可能會影響其他功能的正常運行。
這時通過英創(chuàng)公司提供的工具軟件switch-configs來限制廣播包的接收速率,運行程序時帶入?yún)?shù)1,效果為限制ESM3354主板每秒鐘最多分別接收1000個廣播包和組播包,參數(shù)1-10,分別對應(yīng)1000-10000個包,參數(shù)0則表示取消限制,如下圖:
設(shè)置網(wǎng)絡(luò)限制
運行后效果如下圖:
資源占用
從圖中的信息看出CPU的負(fù)載降下來了,說明板卡此時完全沒有受到網(wǎng)絡(luò)中大量廣播包的影響,系統(tǒng)正常運行。因為限制了ESM3354主板接收廣播包和組播包的速率,就算網(wǎng)絡(luò)中還有更多的廣播包和組播包,也不會影響ESM3354主板的正常運行。
所以這次實驗驗證了ESM3354主板在網(wǎng)絡(luò)風(fēng)暴情況下仍然能夠正常運行,不會受到網(wǎng)絡(luò)中大量廣播包和組播包的影響,大幅提升了在極端網(wǎng)絡(luò)條件下設(shè)備的穩(wěn)定性。最后在對主板不同的限制速率情況做了對比測試,并且統(tǒng)計了生成的廣播包數(shù)量,整理如下:
限制速率 | 測試時間 | 累計廣播包數(shù)量 | CPU負(fù)載 |
無限制 | 61s | 9201579個數(shù)據(jù)包 共552094740byte | 98% |
5000 | 61s | 9201579個數(shù)據(jù)包 共552094740byte | 2.5% |
1000 | 61s | 9201579個數(shù)據(jù)包 共552094740byte | 0% |
若對此功能有興趣,需要設(shè)置網(wǎng)絡(luò)設(shè)置的switch-configs工具,可與英創(chuàng)的工程師聯(lián)系。
成都英創(chuàng)信息技術(shù)有限公司 028-8618 0660