工控網絡拓撲管理系統設計研究
時間:2022-07-13 09:25:10
導語:工控網絡拓撲管理系統設計研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:在工業互聯網中安全廠家研制了各種網絡安全管理的產品和軟件,它們和路由器、交換機以及各類終端一起構建了網絡拓撲圖中的拓撲節點,但是人們很難對網絡中的拓撲節點和各個資產節點進行統一有效的管理。本文針對這一技術難點,設計了一種可以對工控網絡進行拓撲管理的Web系統,前端主要通過Antv-X6進行拓撲圖形的編輯和顯示,后端主要通過SNMP和ICMP協議進行拓撲的自動發現,同時支持拓撲圖的分層管理,解決了不同安全廠家軟件資產的有效性管理問題。
關鍵詞:工控網絡;自動發現;拓撲編輯;拓撲分層
1引言
工控網絡安全是現代社會工業和企業安全生產的基礎,每一次發生的網絡攻擊和威脅都會導致嚴重的后果。各個廠家為了應對工業互聯網中發生的網絡威脅,研制了各種網絡安全管理的產品和軟件。它們和路由器、交換機以及各類終端一起構建了網絡拓撲圖中的一個個節點。但是人們很難對網絡中的拓撲圖和各個資產節點進行統一的管理。本文針對這一技術難點,設計了一種可以對工控網絡進行拓撲管理的Web系統。
2平臺設計原理
2.1前后端分離模式
本系統采用基于前后端分離的開發模式。線上采用docker容器化的部署方式,部署時restful接口請求通過nginx進行代理和轉發。
2.2前端框架和組件
前端的實現采用基于Vue2.0的開發框架,工程初始化時采用Vue-Cli進行項目框架的搭建。系統選用ElementUI和Ecarts組件庫,實現表格、表單和圖表的編輯和顯示功能。為了能夠有效地處理前端圖形化的數據,使用了螞蟻金服的Antv-X6組件進行拓撲圖形的編輯和顯示。Antv-X6組件支持最多1萬個節點的編輯,因此本系統主要針對的是中小型企業網絡。前端拓撲圖自動發現時的漸進顯示采用了websocket進行前后端通信。
2.3服務端框架和組件
服務端實現選用SpringBoot框架。SpringBoot是在Spring基礎上發布的全新開源框架,去除了大量的配置文件,簡化了復雜的依賴管理。數據庫選用Mysql關系型數據庫和Redis內存數據庫。圖數據庫選擇國產的NebulaGraph圖數據庫,其中NebulaGraph是一種可靠、分布式、線性擴容、性能高效的圖數據庫。此處如果選用Neo4j圖數據庫也是可行的。消息訂閱和通知選用kafka組件。
2.4數據結構
該系統底層的數據結構分為兩種。一種是圖形化數據結構,存儲在NebulaGraph圖數據庫中。圖由點和邊構成,點的數據結構包括點的id、坐標、屬性等。邊的數據結構包括邊的id、起點和終點的id以及邊路徑上各個節點的坐標、邊的屬性等。一種是關系型數據結構,主要用于存儲工控網絡中資產數據的信息,例如資產的名稱、ip、位置、標簽、mac地址、分組、分類和描述信息等。此處通過資產id和圖數據庫中點的id進行關聯,NebulaGraph更偏向于圖形化數據的存儲,Mysql更偏向于資產關系型數據的存儲。
3拓撲自動發現
在工業互聯網環境中,網絡拓撲圖一般具有層次性,一般分為主拓撲發現和子拓撲發現。主拓撲顯示了網絡中子網及網關間的互連結構,而子拓撲則顯示子網內部網絡設備間的互連關系。本系統在網絡拓撲結構的自動發現過程中,使用SNMP協議搜索路由表信息構造網絡主拓撲[1],之后使用ICMP協議來發現子網中的終端設備實現網絡子拓撲[3],主拓撲和子拓撲一起構建了網絡拓撲圖。
3.1主拓撲
計算機網絡由各種不同規模的子網構成。各個子網之間通過各自的路由器同其他的子網進行網絡通信。這些發現的子網可能是局域網,也可能是局域網中的子網。路由器的端口可以和路由器相互連接,也可以和子網相互連接。主拓撲反映了工業互聯網中的路由設備和子網之間的連接關系,包括路由器到路由器、路由器到子網以及接口之間的相互關系。主拓撲的自動探測采用基于SNMP(SimpleNetworkManagementProtocol)協議訪問路由表的策略來實現。在網絡的拓撲發生變化時,MIB(ManagementInformationBase)的信息也會發生變化。SNMP協議的優點是整個拓撲圖更新的速度非常快,可以在較小的網絡開銷下快速得到比較可靠的結果。
3.2子拓撲
SNMP協議只能發現在網絡系統中的路由器和子網信息,對于子網內部的結構無法感知。為了實現子拓撲的自動探測,本系統采用ICMP(InternetControlMessageProtocol)協議實現了子拓撲的自動探測。ICMP協議是一種面向無連接的協議,用于傳輸錯誤報告。作為一種網絡層的協議,使用ICMPechoreNy消息檢測主機是否可達,主要用于在主機與路由器之間發送消息,包括報告錯誤、交換受限控制和狀態信息等功能。當遇到IP數據無法訪問目標或者IP路由器無法按當前的傳輸速率轉發數據包時,會自動發送ICMP消息。
3.3自動發現
圖1為根據SNMP協議和ICMP協議自動繪制的網絡拓撲圖。將拓撲數據封裝為樹形結構,在前端使用Antv-X6組件進行拓撲顯示,后端將探測到的數據通過websocket發送到前端。前端漸進式地調用樹形布局算法,并在前端重繪全網拓撲圖。
4拓撲管理
4.1拓撲編輯
在第一次使用該系統時,會使用自動發現探測并繪制網絡拓撲圖。由于防火墻等網絡配置的原因,系統自動探測的拓撲圖很可能不完整,因此在自動發現完成后,系統還支持拓撲圖形的編輯。系統支持在拓撲圖中新建交換機、路由器、終端、工控防火墻、工控安全審計等資產,同時支持對資產的刪除、資產連接關系的配置以及資產屬性的定義。其中圖形化數據結構存儲在NebulaGraph圖數據庫中,資產的屬性存儲在Mysql數據庫中,之間通過id進行關聯。在資產管理模塊中新增的資產和各個業務子系統中上報的資產,不直接放置到拓撲圖中,而是顯示在左邊的已發現資產列表中,支持用戶的拖拽和編輯。拓撲圖編輯還支持拓撲圖的導入、導出、放大、縮小、居中顯示等基本功能。
4.2分層管理
在企業控制網絡中,網絡一般進行分層管理,包括生產管理層、企業管理層、過程監控層、現場控制層和現場設備層共五個層級。因此如果將自動探測的網絡拓撲圖直接通過樹形布局或者力導圖布局的形式顯示,達不到分層顯示的效果,因此本系統支持對拓撲圖形的分層管理。每個資產都具有一個分層屬性,通過分層將網絡拓撲圖的層次結構更加形象地表示出來,方便用戶的管理,見圖2.為了解決不同企業在不同場景下自定義分層的需求,本系統同時支持對拓撲分層的自定義配置。系統默認顯示三個分層Layer1、Layer2、Layer3。系統支持修改圖層的名稱、顯示位置和大小,圖3顯示了分層管理自定義配置的修改界面。
5拓撲資產統一監控
系統首頁增加了儀表盤,可以很清晰地顯示資產類型分布、資產創建趨勢、資產安裝的軟件、資產重要性等級分布、告警趨勢、告警類型統計,支持在拓撲圖儀表盤中直接查看資產的屬性,見圖4。
6結論
本文在工控網絡資產管理系統的基礎上設計與實現了一款對拓撲數據管理的系統,解決了在中小型工業互聯網中,網絡拓撲的自動發現、手工編輯和拓撲分層問題,實現了拓撲和資產的聯動,在實際的工業生產環境中具有重要的意義。
參考文獻
[1]孫德文,高儒振.基于SNMP網絡拓撲圖的自動構造實現[J].上海交通大學學報,1997(08):100-104
[2]李秋銳.計算機網絡安全掃描技術研究.網絡安全技術與應用,2012(1):23-25
[3]楊時茂.基于ICMP和UDP的非合作網絡拓撲發現技術研究與實現[碩士學位論文].西安電子科技大學,西安,2014
[4]喬宏,張大方,曾彬,等.基于改進DoubleTree算法的網絡拓撲發現方法.計算機工程與科學,2010(4):18-21
[5]王谷,胡華平,張怡,等.多報文組合的骨干網絡拓撲發現.計算機工程與科學.2007(8):4-6
作者:宋恒嘉 仲偉煒 陳潔 單位:博智安全科技股份有限公司
- 上一篇:談職業技術學院思政課信息化教學變革
- 下一篇:職業生涯下高職大學生黨員教育路徑