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