周毅
(中海油能源發(fā)展股份有限公司 采油服務公司,天津 300452)
作為智能船舶的“信息高速公路”,網(wǎng)絡平臺通過交換機、網(wǎng)關、服務器等網(wǎng)絡信息設備將船舶主要系統(tǒng)及設備如主推進系統(tǒng)、輔機及電站系統(tǒng)、輔助設備及系統(tǒng)采集納入到一個統(tǒng)一的網(wǎng)絡中,實現(xiàn)信息的統(tǒng)一采集、分發(fā)、共享并得到有效的管理[1-2]??紤]網(wǎng)絡設備故障、病毒攻擊、環(huán)路等因素,網(wǎng)絡平臺系統(tǒng)可能面臨網(wǎng)絡風暴的風險,導致網(wǎng)絡傳輸性能下降,甚至網(wǎng)絡癱瘓,影響各智能應用的正常運行。各船的網(wǎng)絡環(huán)境不同,需針對各種類型船舶設定適合的網(wǎng)絡風暴策略。目前挪威船級社(DNVGL)已經(jīng)強制要求船載計算機網(wǎng)絡系統(tǒng)需按照相關規(guī)范要求完成并通過網(wǎng)絡風暴測試[3]。CCS船級社要求智能船舶如需取得相應的智能符號,需完成并通過網(wǎng)絡風暴測試[4]。
1)網(wǎng)絡設備選型不當。三層網(wǎng)絡交換機在進行數(shù)據(jù)包轉發(fā)時,首先解析數(shù)據(jù)包中的目的IP物理設備的MAC地址(media access control address),如果交換機地址表中沒有對應的MAC地址,將會發(fā)出廣播幀尋址,如果局域網(wǎng)中存在對應MAC地址的物理終端,交換機將收到MAC地址回復幀,并加入到本身的路由表,且轉發(fā)數(shù)據(jù)包。如果交換機未收到MAC地址回復幀,則直接丟棄該數(shù)據(jù)包,從網(wǎng)絡通信機理上,三層交換機自身不會產(chǎn)生網(wǎng)絡風暴。但是如果在網(wǎng)絡平臺設計中,選用二層交換機或多端口轉發(fā)器(HUB),上述網(wǎng)絡設備在收到數(shù)據(jù)包后,不會檢查數(shù)據(jù)包中的目的IP物理設備的MAC地址,直接轉發(fā)給局域網(wǎng)內所有通信端口,很容易產(chǎn)生網(wǎng)絡風暴。
2)網(wǎng)線短路?,F(xiàn)代交換機多采用存儲轉發(fā)技術,將輸入端口接收的數(shù)據(jù)包暫時緩存,首先檢查數(shù)據(jù)包是否正確,同時過濾掉沖突包錯誤,待確定數(shù)據(jù)包內容、格式正確后,取出包中的目的地址,通過查找路由表確定目的端口地址,最后將該包發(fā)送出去。在船舶網(wǎng)線敷設、接線或者長期使用過程中,均可能因線路短路,導致該交換機接收到大量不符合轉發(fā)原則的數(shù)據(jù)包,造成交換機處理器長期處于繁忙狀態(tài),正常業(yè)務數(shù)據(jù)包無法及時轉發(fā),從而導致緩沖區(qū)溢出,產(chǎn)生丟包。
3)網(wǎng)卡損壞。網(wǎng)絡終端設備的網(wǎng)卡負責與其他網(wǎng)絡設備進行通信,產(chǎn)生/接收數(shù)據(jù)包。當網(wǎng)卡損壞后,一方面可能會導致該網(wǎng)絡終端離線,無法產(chǎn)生或接收網(wǎng)絡中的數(shù)據(jù)包,該情形下,無法產(chǎn)生網(wǎng)絡風暴;另一方面損壞的網(wǎng)卡可能會重復高頻地向網(wǎng)絡中發(fā)送大量無用數(shù)據(jù)包,或者與交換機形成環(huán)路,導致無用的數(shù)據(jù)包占用交換機大部分的處理轉發(fā)能力,阻塞正常的數(shù)據(jù)包轉發(fā)。
4)網(wǎng)絡環(huán)路。由于網(wǎng)線連接失誤,導致一條物理網(wǎng)絡線路的兩端,同時接在了一臺網(wǎng)絡交換機中,形成連接環(huán)路,或者由于2層交換機缺少生成樹協(xié)議(spanning tree protocol,STP協(xié)議),無法自動切斷級聯(lián)交換機之間的冗余端口,形成拓撲環(huán)路。上述2種網(wǎng)絡環(huán)路均會造成每一個數(shù)據(jù)幀均在網(wǎng)絡中重復廣播,網(wǎng)絡負載呈指數(shù)式上升,最終超出當前交換機處理能力,阻塞正常數(shù)據(jù)幀的處理業(yè)務。
5)網(wǎng)絡病毒。網(wǎng)絡病毒,如Funlove、震蕩波、RPC等,在局域網(wǎng)內快速傳播,占用大量網(wǎng)絡帶寬,引起網(wǎng)絡堵塞。
典型智能船舶網(wǎng)絡平臺架構見圖1[7],由1臺防火墻組成數(shù)據(jù)邊界安全層,1臺核心交換機和2臺匯聚交換機組成無冗余配置的數(shù)據(jù)傳輸層,設備接入層中各個網(wǎng)絡終端或其他信息系統(tǒng)(如局域網(wǎng)系統(tǒng)、CCTV系統(tǒng)等)按照冗余及就近原則連接至匯聚交換機或核心交換機。
圖1 典型智能船舶網(wǎng)絡平臺架構
在圖1所示架構基礎上,構造拓撲環(huán)路,見圖2。
圖2 網(wǎng)絡風暴故障分析拓撲
按照圖2所示的架構,在上海船舶研究設計院智能船舶創(chuàng)新實驗室(以下簡稱上船院實驗室)搭建測試環(huán)境,見圖3。
圖3 上船院實驗室模擬測試環(huán)境
將個人筆記本模擬為1#網(wǎng)絡終端,IP配置為192.168.0.1/24網(wǎng)段的任意一個地址,核心交換機IP配置為192.168.0.1/24網(wǎng)段的任一地址,然后將3臺交換機的STP協(xié)議通過“stp disenable”命令關閉。打開個人筆記本命令行界面,設置ping(Packet Internet Groper,因特網(wǎng)包探索器)命令的參數(shù),目的IP設置為核心交換機的IP地址,次數(shù)設置為10次,執(zhí)行上述ping命令。通過人為構造環(huán)路,模擬網(wǎng)絡風暴產(chǎn)生,單個網(wǎng)絡終端僅發(fā)送10個數(shù)據(jù)幀,10 s內在網(wǎng)絡中最終產(chǎn)生了16萬個廣播,網(wǎng)絡中充斥著大量廣播報文,導致交換機、服務器被動接收網(wǎng)絡中的廣播數(shù)據(jù)包并且進行相關處理,極大消耗了交換機的CPU資源、內存資源。如果沒有即時解決網(wǎng)絡風暴,會對交換機、服務器硬件造成不可挽回的損傷,導致交換機、服務器癱瘓,局域網(wǎng)整體無法工作。
1.3.1 主動抑制措施
1)優(yōu)化網(wǎng)絡拓撲。智能船舶網(wǎng)絡平臺所有交換機選用3層網(wǎng)管型交換機,且針對冗余配置的場景,所有冗余交換機默認開啟STP協(xié)議,避免因物理設備通信機理和拓撲環(huán)路而產(chǎn)生網(wǎng)絡風暴。
2)VLAN隔離及網(wǎng)絡風暴控制。合理規(guī)劃并配置智能船舶網(wǎng)絡平臺的網(wǎng)絡策略,合理劃分虛擬局域網(wǎng)(virtual local area network,VLAN)、縮小廣播域,進而將全網(wǎng)的廣播/組播/單播風暴隔離在單個VLAN中,不會對其他業(yè)務VLAN產(chǎn)生影響。同時在交換機每個千兆以太網(wǎng)口上設置報文速率上行/下行閾值,當某個端口在一個檢測時間間隔內接收廣播/組播/單播報文的平均速率大于配置的最大閾值時,設備會對該接口進行風暴控制,風暴控制動作包括阻塞報文和關閉接口。如果對報文進行阻塞,當該接口接收報文的平均速率小于設定最小閾值時,當前接口會放開對該報文的阻塞。如果風暴控制動作為關閉接口,則需要手動執(zhí)行命令來開啟接口,或者使能接口狀態(tài)自動恢復為UP功能。
1.3.2 被動抑制的措施
1)網(wǎng)絡監(jiān)測。在智能船舶網(wǎng)絡平臺中部署網(wǎng)絡流量監(jiān)控軟件,如eSight、sniffer等,實時監(jiān)測局域網(wǎng)內的通信情況。當發(fā)現(xiàn)廣播、組播或單播報文數(shù)據(jù)異常增多時,自動推送報警信息并迅速定位故障原因,切斷網(wǎng)絡風暴源頭。
2)系統(tǒng)升級。對局域網(wǎng)內的網(wǎng)絡設備定時升級補丁庫、病毒庫,防止因病毒入侵。
基于LNG加注船智能化關鍵技術項目,完成“海洋石油301”LNG運輸船網(wǎng)絡平臺架構,在上船院實驗室構建相應的測試環(huán)境,見圖4。為方便表示網(wǎng)絡風暴測試的輸入輸出數(shù)據(jù)流及環(huán)路測試,圖4所示的測試拓撲僅包括“海洋石油301”LNG運輸船網(wǎng)絡平臺的主干網(wǎng)絡部分(僅包括雙冗余交換網(wǎng)絡、防火墻)。其他接入設備,包括服務器、智能網(wǎng)關等,未在圖4中示出,不影響網(wǎng)絡風暴抑制策略的驗證。測試拓撲設備組成清單見表1,測試設備清單見表2,Test Center設備主要用于模擬產(chǎn)生廣播/組播/單播模式下的大流量,并注入到測試拓撲中,Windows PC主要用于監(jiān)測網(wǎng)絡狀態(tài)。
圖4 網(wǎng)絡平臺模擬測試拓撲
表1 測試拓撲設備組成清單
表2 測試設備清單
網(wǎng)絡風暴抑制策略驗證測試分為測試儀器模擬打入大流量、人為構造環(huán)路兩種測試場景。測試儀器模擬打流將測試本測試拓撲下的所有VLAN,見表3。按照圖4測試拓撲示意,將測試儀器接入到交換機空閑端口中,并將該端口配置為相應待測試的VLAN,并配置主動抑制策略和被動抑制策略進行廣播/組播/單播網(wǎng)絡風暴測試。人為構造環(huán)路測試場景僅隨機挑選2個交換機空閑端口作為測試端口,使用網(wǎng)絡跳線短接這2個測試端口進行測試。
表3 模擬測試拓撲的VLAN規(guī)劃
2.2.1 廣播風暴抑制測試
1)將Test Center連接至匯聚交換機的下行接口,如圖4中“入口流量”所示。在Test Center上位機軟件中,構造廣播報文,通過修改VLANID實現(xiàn)遍歷所有業(yè)務VLAN測試需求。
2)逐步增加Test Center注入流量的速率,觀察對業(yè)務的影響,直至找到流量速率上限max_threshold,并將該閾值配置在核心交換機和匯聚交換機所有端口中。
3)將測試儀器發(fā)送廣播報文速率調整至高于max_threshold,模擬大流量注入場景下的廣播風暴。
4)將測試儀器發(fā)送廣播報文速率調整至低于max_threshold,同時將匯聚交換機的2個測試端口短接,模擬人為構造環(huán)路場景下的廣播風暴。
5)查看交換機日志記錄,驗證廣播風暴抑制策略的有效性。
2.2.2 組播風暴抑制測試
在Test Center上位機軟件中,構造組播報文,重復廣播風暴抑制測試中的步驟,驗證組播風暴抑制策略的有效性。
2.2.3 單播風暴抑制測試
在Test Center上位機軟件中,構造單播報文,重復廣播風暴抑制測試中的步驟,驗證單播風暴抑制策略的有效性。
在廣播風暴抑制策略測試中,當測試儀器發(fā)送廣播報文速率高于max_threshold時,交換機產(chǎn)生對應端口的告警,并觸發(fā)風暴控制動作(阻塞報文或關閉接口);當測試儀器發(fā)送廣播報文速率低于max_threshold時,相應端口的報警消除,端口狀態(tài)恢復正常;人為構造環(huán)路形成后,廣播報文在2個測試端口間被重復轉發(fā),相應端口使用率很快達到100%狀態(tài),同時觸發(fā)風暴控制動作。
在組播風暴抑制策略測試中,當測試儀器發(fā)送廣播報文速率高于max_threshold時,交換機產(chǎn)生對應端口的告警,并觸發(fā)風暴控制動作(阻塞報文或關閉接口);當測試儀器發(fā)送廣播報文速率低于max_threshold時,相應端口報警消除,端口狀態(tài)恢復正常;人為構造環(huán)路形成后,組播報文在2個測試端口間被重復轉發(fā),相應端口的使用率很快達到100%狀態(tài),同時觸發(fā)風暴控制動作。
在單播風暴抑制策略測試中,當測試儀器發(fā)送廣播報文速率高于max_threshold時,交換機產(chǎn)生對應端口的告警,并觸發(fā)風暴控制動作(阻塞報文或關閉接口);當測試儀器發(fā)送廣播報文速率低于max_threshold時,相應端口的報警消除,端口狀態(tài)恢復正常;人為構造環(huán)路形成后,組播報文在2個測試端口間被重復轉發(fā),相應端口使用率很快達到100%狀態(tài),同時觸發(fā)風暴控制動作。
本文針對智能船舶網(wǎng)絡平臺可能面臨的網(wǎng)絡風暴,從網(wǎng)絡通信機理出發(fā),分析網(wǎng)絡風暴發(fā)生的可能原因,并提出了主動風暴抑制策略和被動分別抑制策略,從事前和事后兩個維度出發(fā),有效降低船舶網(wǎng)絡風暴發(fā)生的概率以及對其他業(yè)務系統(tǒng)的影響,最后基于“海洋石油301”LNG運輸船的網(wǎng)絡平臺架構,在上海船舶研究設計院智能船舶創(chuàng)新實驗室搭建模擬測試環(huán)境,驗證了針對單播、組播、廣播網(wǎng)絡通信模式的風暴抑制策略的有效性,降低網(wǎng)絡風暴產(chǎn)生的未知單播幀所造成的損害及蔓延。
希望測試能夠為行業(yè)包括設計方、建造方、營運管理方提供參考。