不完全信息下基于網絡探針的網絡拓撲圖自動發現方法
【技術領域】
[0001] 本發明設及網絡管理領域,特別設及一種在不完全信息下基于網絡探針的網絡拓 撲圖自動發現方法。
【背景技術】
[0002] 隨著網絡信息時代的不斷發展,網絡應用在日常生產生活中的日益普及,人們對 計算機網絡的依賴程度越來越高。網絡自身的安全性和可靠性變的尤為重要,特別是例如 工業控制運樣的特殊應用領域。隨著工業控制自動化進程的深入,工業控制網絡不斷面臨 著來自外部互聯網的惡意攻擊和內部人員的誤操作等安全威脅。因為早期工控設備使用環 境相對封閉,工控系統缺少對網絡安全自身的關注,運導致工業控制系統中存在不可避免 的安全缺陷。因此,對與之相關的網絡管理系統也提出了越來越高的要求。
[0003] 網絡拓撲的自動發現是指發現網絡元素并確定元素之間的連接關系,從而在此基 礎上繪制出網絡拓撲圖。其考慮因素包括互連設備(如路由器、網橋、交換機)、主機和子網。 網絡拓撲發現主要包含兩方面內容:一是發現設備節點的存在;二是確定設備節點的拓撲 位置(即節點連接信息)。在最初網絡OSI結構和TCP/IP進行構建時,并沒有將網絡拓撲發現 作為設計目標,因此目前并沒有一個完美的方案可W在無拓撲先驗知識的情況下對網絡拓 撲進行完美的繪制。目前存在的一些解決方法(如802. Ilab,LLTD協議等)都存在一些缺陷, 例如需要特殊硬件支持等。
[0004] 為得到一個含n個節點網絡的拓撲結構,在網絡中放置m個具有監測功能的網絡探 針(例如具有TAP功能的路由器等)。每個探針具有一定數目的端口并且可W檢測到通過每 個端口進行通信的設備信息,例如發送數據包和接收數據包設備的IP地址等。通過探針所 檢測的數據,可得知網絡設備與探針端口的連接情況,但值得注意的是,此連接情況并非一 定是直接相連,也可能是間接相連。如果網絡中每兩個設備間均有通信,稱此時探針所得到 的信息為完全信息。在完全信息下,通過特定的技術,利用網絡探針可把網絡劃分為若干個 區(zone),并且能知道設備對于區的隸屬情況。然而,對于大規模網絡,很難得到完全信息, 取而代之的是,只能得到部分信息,在運種不完全信息下,尋找網絡的拓撲會變的易常困 難。
【發明內容】
[0005] 為解決現有技術存在的上述問題及缺陷,本發明提出了一種不完全信息下基于網 絡探針的網絡拓撲自動發現方法。本發明不要求網絡的完全通信信息,即每兩兩設備間有 通信,而只需利用網絡的部分通信信息,便可在一定程度上推斷出網絡的拓撲結構。
[0006] 本發明的不完全信息下基于網絡探針的網絡拓撲自動發現方法,具體包含W下步 驟:
[0007] 步驟一:利用拆分推斷的性質對所有可拆分的雙鏈或長鏈進行拆分,直到沒有鏈 可拆分為止;
[0008] 步驟二:利用合并推斷的性質對可W合并的設備或區進行合并;
[0009] 步驟對于不能拆分的雙鏈和長鏈,根據其經過的探針集合并利用延伸推斷的 性質,構造新長鏈;
[0010] 步驟四:如果存在新的可合并的區或設備,則返回步驟二,否則執行步驟五;
[0011] 步驟五:利用端口推斷,找出新的單鏈;
[0012] 步驟六:如果存在新的可繼續拆分的鏈,則返回步驟一,否則執行步驟屯;
[0013] 步驟屯:對所有的信息鏈利用延伸推斷的性質進行組裝,形成拓撲圖并輸出結果;
[0014] 其中只經過一個探針的通信信息為單鏈;經過兩個探針的通信為雙鏈;經過多于 兩個探針的通信信息為長鏈;
[0015] 區定義為若干設備所構成的一個集合,可看作是由探針所分劃出的一個子網。
[0016] 進一步地,其中步驟一中的拆分推斷具體為:
[0017] 對于兩組通信數據,如果所經過的探針交集不為空,則可在W下兩種情況下進行 拆分:
[0018] (1)兩組通信有一個共同的區或設備,且一組通信所經過的探針集合是另一組的 一個子集,則可進行拆分;
[0019] (2)兩組通信無共同設備,探針的交集是各組探針集合的真子集,則可進行拆分;
[0020] 拆分推斷主要用于將多鏈或雙鏈拆分成短鏈或單鏈。
[0021 ]進一步地,其中步驟2中的合并推斷具體為:
[0022] 如果經過的探針及端口信息相同,則可將連通相同端口的設備或區進行合并。
[0023] 進一步地,其中步驟五中的端口推斷具體為:
[0024] 與探針其中一個端口相通的區或設備可同與探針其它端口相連的區或設備通信。
[0025] 進一步地,其中步驟屯中的延伸推斷具體為:
[0026] 兩組擁有共同區或設備的通信可進行拼接延伸;
[0027] 所述延伸推斷主要用于組裝單鏈發現拓撲;或將短鏈延伸成長鏈再進行合并推 斷。
[0028] 本發明的有益效果在于:
[0029] 本發明基于網絡探針,通過特定的方法,利用探針所獲取的網絡上下游的信息及 探針端口信息,在不完全信息的條件下,將網絡有效地分成若干分區,給出網絡設備與各分 區的隸屬關系,并得到探針與各分區間的連接關系,從而發現網絡拓撲,有助于對網絡做 進一步優化及提高網絡安全性能等。
[0030] 對比現有方法,本發明只需要獲取一定量的通信信息,而不要求每兩個網絡設備 間進行通信,無需特殊的硬件支持,不需要主動發送數據包去干擾網絡,并且可重復利用探 針對網絡結構進行逐步細化,具有廣泛的適用性。
【附圖說明】
[0031] 圖1為使用本發明的不完全信息下基于網絡探針的網絡拓撲自動發現的網絡連接 圖;
[0032] 圖2為使用本發明方法得到的網絡拓撲圖。
【具體實施方式】
[0033] 下面W-個簡單的網絡結構為例對本發明的方法進行詳細闡述,應當注意的是, 下列實施例僅用于對本發明進行說明而非對本發明的限制。本發明的不完全信息下基于網 絡探針的網絡拓撲自動發現方法除了可W應用在工業網絡中,還可W用于任何其它的分布 式網絡。
[0034] 首先介紹所設及的符號。網絡中的設備或區用大寫英文字每表示,比如設備A、設 備B等;網絡探針用數字表示,如探針1;探針的端口用探針數字加小寫字母上標表示