本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種復(fù)雜網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)的搜索算法。
背景技術(shù):
復(fù)雜網(wǎng)絡(luò)中心性的研究是網(wǎng)絡(luò)安全領(lǐng)域的一個(gè)重要分支,網(wǎng)絡(luò)節(jié)點(diǎn)的重要性可通過(guò)節(jié)點(diǎn)的中心性來(lái)衡量。度中心性、接近中心性、中介中心性和特征向量中心性等度量方法主要側(cè)重于從網(wǎng)絡(luò)的連通性對(duì)節(jié)點(diǎn)的重要性進(jìn)行描述,而本發(fā)明所定義的網(wǎng)絡(luò)中心節(jié)點(diǎn)則是從網(wǎng)絡(luò)信息擴(kuò)散的速度以及時(shí)間效率上對(duì)節(jié)點(diǎn)的重要性進(jìn)行度量。
網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)搜索算法與網(wǎng)絡(luò)病毒的傳播、網(wǎng)絡(luò)輿情的擴(kuò)散和ntp服務(wù)器的分層授時(shí)原則相一致,因此網(wǎng)絡(luò)中心節(jié)點(diǎn)理論既可以為復(fù)雜網(wǎng)絡(luò)防御提供理論基石,也可以為復(fù)雜網(wǎng)絡(luò)信息系統(tǒng)的精確授時(shí)提供解決方案。
復(fù)雜網(wǎng)絡(luò)防御的理論基石網(wǎng)絡(luò)中心節(jié)點(diǎn)是整個(gè)網(wǎng)絡(luò)的關(guān)鍵節(jié)點(diǎn)和關(guān)鍵路徑的必經(jīng)之處,應(yīng)該有針對(duì)性的對(duì)網(wǎng)絡(luò)中心節(jié)點(diǎn)的脆弱性和薄弱環(huán)節(jié)進(jìn)行防御。
網(wǎng)絡(luò)信息系統(tǒng)精確授時(shí)解決方案在不增加網(wǎng)絡(luò)硬件設(shè)備和不改變網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的情況下,在網(wǎng)絡(luò)中心節(jié)點(diǎn)配置ntp(網(wǎng)絡(luò)時(shí)間服務(wù)器)主服務(wù)器,減少了主服務(wù)器對(duì)全網(wǎng)分層授時(shí)的層數(shù),從而達(dá)到對(duì)整個(gè)網(wǎng)絡(luò)的最精確授時(shí)。
以網(wǎng)絡(luò)信息擴(kuò)散速度和時(shí)間效率度量節(jié)點(diǎn)重要性的復(fù)雜網(wǎng)絡(luò)中心節(jié)點(diǎn)求解問(wèn)題是非常有難度、有挑戰(zhàn)性的,當(dāng)前公開(kāi)發(fā)表的文獻(xiàn)中,尚未看到相關(guān)研究成果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了以網(wǎng)絡(luò)信息擴(kuò)散速度和時(shí)間效率度量節(jié)點(diǎn)重要性的一種復(fù)雜網(wǎng)絡(luò)中心節(jié)點(diǎn)的搜索算法,既可以為復(fù)雜網(wǎng)絡(luò)防御提供理論基石,也可以為復(fù)雜網(wǎng)絡(luò)信息系統(tǒng)的精確授時(shí)提供解決方案。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案:
一種復(fù)雜網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)的搜索算法,具體步驟如下:
步驟1、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)獲取
掃描目標(biāo)網(wǎng)絡(luò),發(fā)現(xiàn)活動(dòng)主機(jī),獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);
步驟2、節(jié)點(diǎn)無(wú)向圖獲取
將步驟1得到的目標(biāo)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的各節(jié)點(diǎn)及連通性用簡(jiǎn)單無(wú)向連通圖g=(v,e)表示,其中v和e分別為節(jié)點(diǎn)和邊的集合;
步驟3、節(jié)點(diǎn)遍歷度求解
對(duì)步驟2得到的簡(jiǎn)單無(wú)向連通圖g=(v,e)中求解節(jié)點(diǎn)v∈v到其它節(jié)點(diǎn)的最短路徑,選取最短路徑的最大值為節(jié)點(diǎn)遍歷度;設(shè)節(jié)點(diǎn)v1,v2∈v在圖g的最短路徑長(zhǎng)度為pl(v1,v2),則節(jié)點(diǎn)v在圖g的節(jié)點(diǎn)遍歷度為:nd(v)=maxu∈v(pl(u,v));
步驟4、網(wǎng)絡(luò)遍歷度求解
依據(jù)步驟3,求解簡(jiǎn)單無(wú)向連通圖g=(v,e)中每個(gè)節(jié)點(diǎn)v的節(jié)點(diǎn)遍歷度,選取節(jié)點(diǎn)遍歷度的最小值為網(wǎng)絡(luò)遍歷度;圖g的網(wǎng)絡(luò)遍歷度為:nd=minv∈v(nd(v));
步驟5、網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)求解
依據(jù)步驟4,若節(jié)點(diǎn)v∈v的節(jié)點(diǎn)遍歷度等于網(wǎng)絡(luò)遍歷度,即nd(v)=nd,則判定節(jié)點(diǎn)v為網(wǎng)絡(luò)中心節(jié)點(diǎn)。
由于采用如上所述的技術(shù)方案,本發(fā)明具有如下優(yōu)越性:
一種復(fù)雜網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)的搜索算法,采用以下步驟:網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)獲取;節(jié)點(diǎn)無(wú)向圖獲??;節(jié)點(diǎn)遍歷度求解;網(wǎng)絡(luò)遍歷度求解;網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)求解。本發(fā)明采用的網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)是從網(wǎng)絡(luò)信息擴(kuò)散速度以及時(shí)間效率上對(duì)節(jié)點(diǎn)的重要性進(jìn)行度量,既可以為復(fù)雜網(wǎng)絡(luò)防御提供理論基石,也可以為復(fù)雜網(wǎng)絡(luò)信息系統(tǒng)的精確授時(shí)提供解決方案。因此本發(fā)明尤其適用于復(fù)雜網(wǎng)絡(luò)防御的關(guān)鍵節(jié)點(diǎn)及網(wǎng)絡(luò)信息系統(tǒng)精確授時(shí)解決方案。
附圖說(shuō)明
圖1為本發(fā)明的實(shí)現(xiàn)流程圖;
圖2為復(fù)雜信息系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖。
具體實(shí)施方式
圖1為本發(fā)明的一種復(fù)雜網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)的搜索算法,其步驟如下:
步驟1、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)獲取
掃描目標(biāo)網(wǎng)絡(luò),發(fā)現(xiàn)活動(dòng)主機(jī),獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);
步驟2、節(jié)點(diǎn)無(wú)向圖獲取
將步驟1得到的目標(biāo)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的各節(jié)點(diǎn)及連通性用簡(jiǎn)單無(wú)向連通圖g=(v,e)表示,其中v和e分別為節(jié)點(diǎn)和邊的集合;
步驟3、節(jié)點(diǎn)遍歷度求解
對(duì)步驟2得到的簡(jiǎn)單無(wú)向連通圖g=(v,e)中求解節(jié)點(diǎn)v∈v到其它節(jié)點(diǎn)的最短路徑,選取最短路徑的最大值為節(jié)點(diǎn)遍歷度。設(shè)節(jié)點(diǎn)v1,v2∈v在圖g的最短路徑長(zhǎng)度為pl(v1,v2),則節(jié)點(diǎn)v在圖g的節(jié)點(diǎn)遍歷度為:nd(v)=maxu∈v(pl(u,v));
步驟4、網(wǎng)絡(luò)遍歷度求解
依據(jù)步驟3,求解簡(jiǎn)單無(wú)向連通圖g=(v,e)中每個(gè)節(jié)點(diǎn)v的節(jié)點(diǎn)遍歷度,選取節(jié)點(diǎn)遍歷度的最小值為網(wǎng)絡(luò)遍歷度。圖g的網(wǎng)絡(luò)遍歷度為:nd=minv∈v(nd(v));
步驟5、網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)求解
依據(jù)步驟4,若節(jié)點(diǎn)v∈v的節(jié)點(diǎn)遍歷度等于網(wǎng)絡(luò)遍歷度,即nd(v)=nd,則判定節(jié)點(diǎn)v為網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)。
網(wǎng)絡(luò)中心論的概念
定義1節(jié)點(diǎn)遍歷度:網(wǎng)絡(luò)中,節(jié)點(diǎn)到其它各個(gè)節(jié)點(diǎn)的最短路徑(最少跳數(shù))的最大值。
定義2網(wǎng)絡(luò)遍歷度:網(wǎng)絡(luò)中所有節(jié)點(diǎn)遍歷度的最小值。
定義3網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn):節(jié)點(diǎn)遍歷度等于網(wǎng)絡(luò)遍歷度的節(jié)點(diǎn)稱(chēng)為網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)。
證明1網(wǎng)絡(luò)拓?fù)浯嬖谥行墓?jié)點(diǎn),但有些網(wǎng)絡(luò)的拓?fù)渲行墓?jié)點(diǎn)非唯一。
證明:根據(jù)定義1、2和3,網(wǎng)絡(luò)必定存在網(wǎng)絡(luò)中心節(jié)點(diǎn)。構(gòu)造圖g為僅包含兩個(gè)節(jié)點(diǎn)的完全圖,則圖g中存在兩個(gè)網(wǎng)絡(luò)中心節(jié)點(diǎn),即圖g的中心節(jié)點(diǎn)不唯一。
證明2在遵循廣度優(yōu)先規(guī)則的前提下,以網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)為起點(diǎn),遍歷整個(gè)網(wǎng)絡(luò)的遍歷深度最小,遍歷深度是指遍歷樹(shù)中節(jié)點(diǎn)與網(wǎng)絡(luò)中心節(jié)點(diǎn)的最大距離。
證明:依據(jù)廣度優(yōu)先遍歷原則,以網(wǎng)絡(luò)中心節(jié)點(diǎn)v∈v為起點(diǎn)的遍歷路徑,對(duì)應(yīng)于圖g中以v為根節(jié)點(diǎn)的生成樹(shù)t。下面采用歸納法證明:對(duì)于任意節(jié)點(diǎn)u∈v,若在圖g中pl(u,v)=k,則節(jié)點(diǎn)u在且僅在以v為起點(diǎn)(根節(jié)點(diǎn))的第k次遍歷時(shí)加入生成樹(shù)t,且第k次遍歷獲得生成子樹(shù)
當(dāng)k=1時(shí),以v為起點(diǎn)的第1次遍歷,將與v相鄰的所有節(jié)點(diǎn)均加入生成樹(shù)t,即若pl(u,v)=1則節(jié)點(diǎn)u在且僅在以v為起點(diǎn)的第1次遍歷時(shí)加入生成樹(shù)t,且第1次遍歷獲得生成子樹(shù)
假設(shè)k≤l時(shí)成立,下面證明k=l+1時(shí)成立:
設(shè)l=v,v1,v2,…,u1,u為節(jié)點(diǎn)v,u之間的任意一條最短路徑;易知l1=v,v1,v2,…,u1為節(jié)點(diǎn)v,u1之間的最短路徑,且pl(u1,v)=l。根據(jù)假設(shè)條件,節(jié)點(diǎn)u1在且僅在以v為起點(diǎn)的第l次遍歷時(shí)加入生成樹(shù)t,且第l次遍歷獲得生成子樹(shù)
(1)若節(jié)點(diǎn)u在前l(fā)次遍歷時(shí)已加入生成樹(shù)t:因?yàn)榍發(fā)次遍歷獲得生成子樹(shù)
(2)若節(jié)點(diǎn)u在前l(fā)次遍歷時(shí)沒(méi)有加入生成樹(shù)t:
設(shè)集合u={u1|u1與u相鄰,且u1在v與u之間的最短路徑上},并設(shè)前l(fā)次遍歷獲得生成子樹(shù)為
因此,若在圖g中pl(u,v)=k,則節(jié)點(diǎn)u在且僅在以v為起點(diǎn)(根節(jié)點(diǎn))的第k次遍歷時(shí)加入生成樹(shù)t,且第k次遍歷獲得生成子樹(shù)
根據(jù)上述證明,易知若圖g中節(jié)點(diǎn)與節(jié)點(diǎn)v的最大距離為k,則以v為起點(diǎn)(根節(jié)點(diǎn))的遍歷深度為k。設(shè)節(jié)點(diǎn)v為圖g的網(wǎng)絡(luò)中心節(jié)點(diǎn),即節(jié)點(diǎn)v的節(jié)點(diǎn)遍歷度最小,因此,以v為起點(diǎn),遍歷整個(gè)網(wǎng)絡(luò)的遍歷深度最小。
證明3網(wǎng)絡(luò)遍歷度不小于最大的節(jié)點(diǎn)遍歷度的一半。
證明:設(shè)l=v1,v2,…,vn為圖g的直徑,即l為節(jié)點(diǎn)v1,vn之間的最短路徑,且l為圖g中的最長(zhǎng)最短路徑;則網(wǎng)絡(luò)遍歷度不小于最大節(jié)點(diǎn)遍歷度的一半。
易知,最大節(jié)點(diǎn)遍歷度為n。設(shè)v為圖g中的任意節(jié)點(diǎn),設(shè)nd(v)為v的節(jié)點(diǎn)遍歷度,并設(shè)l1=v,u1,u2,…,v1和l2=v,u′1,u′2,…,vn分別為節(jié)點(diǎn)v至v1和vn的最短路徑。易知l1和l2的長(zhǎng)度均不大于nd(v)。因?yàn)閘為節(jié)點(diǎn)v1,vn之間的最短路徑,所以路徑l1∪l2=v1,…,u1,v,v,u′1,…,vn的長(zhǎng)度不小于n。因此,2·nd(v)不小于l1∪l2的長(zhǎng)度,且l1∪l2的長(zhǎng)度不小于n,即nd(v)≥n/2。
因此,圖g中任意節(jié)點(diǎn)的節(jié)點(diǎn)遍歷度均不小于最大節(jié)點(diǎn)遍歷度的一半。網(wǎng)絡(luò)中心節(jié)點(diǎn)是圖g中的節(jié)點(diǎn),且網(wǎng)絡(luò)遍歷度為網(wǎng)絡(luò)中心節(jié)點(diǎn)的節(jié)點(diǎn)遍歷度,即網(wǎng)絡(luò)遍歷度不小于最大節(jié)點(diǎn)遍歷度的一半。
網(wǎng)絡(luò)中心論,任何一個(gè)網(wǎng)絡(luò)都存在網(wǎng)絡(luò)中心節(jié)點(diǎn)。節(jié)點(diǎn)遍歷度等于網(wǎng)絡(luò)遍歷度的節(jié)點(diǎn)稱(chēng)為網(wǎng)絡(luò)中心節(jié)點(diǎn)。在遵循廣度優(yōu)先規(guī)則的前提下,由網(wǎng)絡(luò)中心節(jié)點(diǎn)遍歷整個(gè)網(wǎng)絡(luò)的遍歷深度最小。
網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)的求解思想與網(wǎng)絡(luò)病毒的傳播、網(wǎng)絡(luò)輿情的擴(kuò)散和ntp服務(wù)器的分層授時(shí)原則相一致,因此網(wǎng)絡(luò)中心論既可以為復(fù)雜網(wǎng)絡(luò)防御提供理論基石,也可以為復(fù)雜網(wǎng)絡(luò)信息系統(tǒng)的精確授時(shí)提供解決方案。
網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)搜索算法
輸入:簡(jiǎn)單無(wú)向連通圖g=(v,e),其中||v||=n。
輸出:網(wǎng)絡(luò)中心節(jié)點(diǎn)集vc。
step1.采用dijkstra算法,計(jì)算v={v1,v2,…,vn}中任意節(jié)點(diǎn)對(duì)之間的最短路徑長(zhǎng)度,并建立最短路徑長(zhǎng)度矩陣d=(dij)n×n,其中dij表示節(jié)點(diǎn)vi與vj之間的最短路徑長(zhǎng)度,dii=0(i=1,2,…,n)。轉(zhuǎn)step2。
step2.計(jì)算向量
step3.計(jì)算網(wǎng)絡(luò)中心節(jié)點(diǎn)集:
網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)搜索算法的應(yīng)用,如圖2所示的一個(gè)復(fù)雜信息系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在圖2中,節(jié)點(diǎn)g1、g2、g3、g4、g5、g6、g7、g8、g9、g10、g11、g12、g13、g14和g15的節(jié)點(diǎn)遍歷度分別為6、5、4、5、5、5、6、5、6、7、5、5、5、6和7。
據(jù)此可知,網(wǎng)絡(luò)遍歷度為4,g3為網(wǎng)絡(luò)拓?fù)渲行墓?jié)點(diǎn)。
對(duì)于復(fù)雜信息系統(tǒng)的統(tǒng)一授時(shí),可在網(wǎng)絡(luò)中心節(jié)點(diǎn)g3處部署網(wǎng)絡(luò)時(shí)間主服務(wù)器(ntp),經(jīng)過(guò)4層分層授時(shí),可以達(dá)到對(duì)整個(gè)系統(tǒng)的最精確授時(shí),誤差只經(jīng)過(guò)4次累加,而網(wǎng)絡(luò)時(shí)間主服務(wù)器部署在其他節(jié)點(diǎn),誤差累加不小于4次。
對(duì)于復(fù)雜信息系統(tǒng)的網(wǎng)絡(luò)防御,可有針對(duì)性的對(duì)網(wǎng)絡(luò)中心節(jié)點(diǎn)g3進(jìn)行重點(diǎn)防護(hù),以防范敵方的網(wǎng)絡(luò)攻擊。