專(zhuān)利名稱(chēng):物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)中“啞元”設(shè)備的推測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)管理技術(shù)領(lǐng)域,是一種基于通用MIB(Management Information Base)庫(kù)信息的二層網(wǎng)絡(luò)拓?fù)?在本文檔中,二層網(wǎng)絡(luò)拓?fù)涞韧谖锢砭W(wǎng)絡(luò)拓?fù)?,二者可以互換)發(fā)現(xiàn)方法。本發(fā)明通過(guò)自行設(shè)計(jì)的算法,能夠準(zhǔn)確發(fā)現(xiàn)并定位二層網(wǎng)絡(luò)中各個(gè)物理設(shè)備的連接關(guān)系。本發(fā)明涉及通用的MIB庫(kù)信息,基于此類(lèi)信息的物理拓?fù)浒l(fā)現(xiàn)以及通用的拓?fù)浒l(fā)現(xiàn)技術(shù)。特別是一種物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)中“啞元”設(shè)備的推測(cè)方法。文中所提到的“啞元”指的是不可管理的交換機(jī)或HUB設(shè)備。
背景技術(shù):
交換機(jī)已成為現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)的關(guān)鍵設(shè)備,對(duì)于網(wǎng)絡(luò)管理員來(lái)說(shuō),能夠隨時(shí)獲取網(wǎng)絡(luò)的拓?fù)湫畔⒕哂袠O其重要的意義。它可以幫助判斷鏈路的通斷、進(jìn)行錯(cuò)誤相關(guān)性分析,以及將服務(wù)器安放在最合適的位置。
現(xiàn)有的物理拓?fù)浒l(fā)現(xiàn)技術(shù)著重于發(fā)現(xiàn)交換機(jī)與交換機(jī)之間的連接,發(fā)現(xiàn)這些連接的前提是這些交換機(jī)必須是可管理的,即必須配置有IP地址并且可使用SNMP(Simple Network Management Protocol)進(jìn)行查詢(xún)。但是,現(xiàn)在的物理網(wǎng)絡(luò)中存在著很多不可管理的“啞元”設(shè)備,包括沒(méi)有配置IP地址的“啞”交換機(jī)以及對(duì)于交換機(jī)透明的HUB設(shè)備,發(fā)現(xiàn)“啞元”設(shè)備的存在并對(duì)其進(jìn)行定位對(duì)于準(zhǔn)確發(fā)現(xiàn)二層網(wǎng)絡(luò)拓?fù)渚哂兄匾饬x。
發(fā)明內(nèi)容
本發(fā)明的目的是能在異構(gòu)網(wǎng)絡(luò)環(huán)境提供的有限信息基礎(chǔ)上,準(zhǔn)確地發(fā)現(xiàn)二層物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包括可管理交換機(jī)之間的連接、可管理設(shè)備與“啞元”設(shè)備之間的連接。而提出一種物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)中“啞元”設(shè)備的推測(cè)方法。
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)管理技術(shù)領(lǐng)域,是一種基于通用MIB庫(kù)信息的二層網(wǎng)絡(luò)拓?fù)?在本文檔中,二層網(wǎng)絡(luò)拓?fù)涞韧谖锢砭W(wǎng)絡(luò)拓?fù)?,二者可以互換)發(fā)現(xiàn)方法。本發(fā)明通過(guò)自行設(shè)計(jì)的算法,能夠準(zhǔn)確發(fā)現(xiàn)并定位二層網(wǎng)絡(luò)中各個(gè)物理設(shè)備的連接關(guān)系。
首先介紹我們所提出的包含“啞元”設(shè)備發(fā)現(xiàn)和定位的二層拓?fù)浒l(fā)現(xiàn)算法。
1定義轉(zhuǎn)發(fā)表交換機(jī)Si的端口j在交換過(guò)程中存儲(chǔ)的該端口收到的源MAC(Media Access Control)地址集合,記為F(Si,j);轉(zhuǎn)發(fā)表完整交換機(jī)Si的端口j的轉(zhuǎn)發(fā)表完整指F(Si,j)包含了所有該端口所能看到的設(shè)備MAC地址的集合;葉交換機(jī) 在轉(zhuǎn)發(fā)表完整的情形下,若某個(gè)交換機(jī)存在且僅存在一個(gè)端口,其轉(zhuǎn)發(fā)表包含其它交換機(jī)的MAC地址;標(biāo)志節(jié)點(diǎn) 當(dāng)算法運(yùn)行的主機(jī)為待發(fā)現(xiàn)子網(wǎng)中的成員,則該主機(jī)稱(chēng)為標(biāo)志節(jié)點(diǎn);否則,連接該子網(wǎng)的路由器稱(chēng)為標(biāo)志節(jié)點(diǎn);“啞元”設(shè)備Hub或不可管理的交換機(jī);交換機(jī)的葉端口如果交換機(jī)Si端口j的轉(zhuǎn)發(fā)表F(Si,j)在完整的情況下不包含其它任何交換機(jī)或標(biāo)志節(jié)點(diǎn)的MAC地址,則稱(chēng)為該交換機(jī)的葉端口;上行端口端口對(duì)應(yīng)的轉(zhuǎn)發(fā)表中出現(xiàn)標(biāo)志節(jié)點(diǎn)MAC地址的端口;下行端口端口對(duì)應(yīng)的轉(zhuǎn)發(fā)表中沒(méi)有出現(xiàn)標(biāo)志節(jié)點(diǎn)MAC地址的端口;假設(shè)可管理交換機(jī)和所有主機(jī)的MAC通過(guò)路由器的地址轉(zhuǎn)換表(Address Translation Table)都可以映射到相應(yīng)的IP地址,所有無(wú)法進(jìn)行映射的MAC地址都為不可管理交換機(jī)的MAC。
對(duì)于每個(gè)交換機(jī)S,記其上行端口為u(S),對(duì)于兩個(gè)交換機(jī)A、B,定義序關(guān)系<如下A<B當(dāng)且僅當(dāng)存在i≠u(mài)(B),A∈F(B,i)定義覆蓋關(guān)系如下B覆蓋A當(dāng)且僅當(dāng)A<B且不存在C,使得A<C和C<B同時(shí)成立。將所有被B覆蓋的節(jié)點(diǎn)稱(chēng)為B的覆蓋集C(B),記對(duì)應(yīng)于下行端口i的覆蓋集為C(B,i),則任意i≠j,有C(B,i)∩C(B,j)=φ,同時(shí)滿(mǎn)足 定義函數(shù)fmac→ip;若能通過(guò)Address Translation Table將MAC地址映射為IP地址,則返回相應(yīng)的IP地址,否則,返回null。
對(duì)MAC地址結(jié)合M,定義操作Split,其結(jié)果是將M劃分為兩個(gè)集合H和D,其中H={x|x∈M and f(x)!=null}D={x|x∈M and f(x)=null}根據(jù)H和D的定義,有H∩D=φ,H∪D=M2定理定理1對(duì)于交換機(jī)S的某個(gè)下行端口k,如果|C(S,k)|=1,則交換機(jī)S的下行端口k與該被覆蓋節(jié)點(diǎn)直接相連。如果該被覆蓋節(jié)點(diǎn)B為可管理交換機(jī),則與S相連的端口為u(B)。
定理2對(duì)于交換機(jī)S的某個(gè)下行端口K,如果|C(S,k)|>1,對(duì)C(S,k)應(yīng)用Split操作,將其劃分為∏1和∏2,其中∏1為可管理交換機(jī)集合,∏2為不可管理交換機(jī)集合,則有如下斷言(1)若|∏2|=0,則S與∏1中的交換機(jī)通過(guò)Hub相連(2)若|∏2|>0,則S與∏1中的交換機(jī)通過(guò)∏2中的啞交換機(jī)相連3算法描述(1)Ping管理域內(nèi)所有IP地址(2)讀取每臺(tái)可管理交換機(jī)的地址轉(zhuǎn)發(fā)表(3)對(duì)每臺(tái)可管理交換機(jī)S,計(jì)算其上行端口u(S)(4)初始化序關(guān)系集合T=φ(5)對(duì)每個(gè)可管理交換機(jī)A的下行端口i,若B∈F(A,i)并且B為交換機(jī),則將序關(guān)系B<A加入T(6)根據(jù)T構(gòu)造覆蓋關(guān)系以及覆蓋集合(7)對(duì)每個(gè)可管理交換機(jī)S下行端口k的覆蓋集合C(S,k),●若|C(S,k)|=1,設(shè)B∈C(S,k)
1)若B為可管理交換機(jī),則S的下行端口k直接和B的上行端口u(B)相連;2)若B為不可管理交換機(jī),則S的下行端口k和B相連,并且F(S,k)-{B}中的節(jié)點(diǎn)和B相連●|C(S,k)|>1,則對(duì)C(S,k)應(yīng)用Split操作,將其劃分為∏1和∏2,其中∏1為可管理交換機(jī)集合,∏2為不可管理交換機(jī)集合,1)若|∏2|=0,則S的下行端口k與∏1中的所有交換機(jī)的上行端口通過(guò)Hub相連2)若|∏2|=1,設(shè)B∈∏2,則S的下行端口k與B直接相連,而∏1中的所有交換機(jī)的上行端口與B相連3)若|∏2|>1,則將∏2中的所有交換機(jī)記為一個(gè)“啞交換云”,∏1中的所有交換機(jī)的上行端口都與該“啞交換機(jī)云”相連發(fā)明技術(shù)方案基于通用RFC(Request For Comment)定義的MIB信息的二層物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法,我們所提出的算法基于通用的RFC定義的MIB信息,適用于異構(gòu)網(wǎng)絡(luò),能夠確定物理網(wǎng)絡(luò)中交換機(jī)端口到端口的連接,并能確定“啞元設(shè)備”的存在性及其位置。
上述方法,其理論依據(jù)是序關(guān)系、覆蓋關(guān)系以及覆蓋集合的構(gòu)造。
所提出的算法,能夠發(fā)現(xiàn)“啞交換機(jī)”和Hub,對(duì)于一個(gè)Hub或啞交換機(jī),能準(zhǔn)確對(duì)其進(jìn)行定位;對(duì)于多個(gè)Hub或啞交換機(jī)相連,則將其發(fā)現(xiàn)為一個(gè)“啞設(shè)備云”。
圖1為一個(gè)包含啞元設(shè)備的物理子網(wǎng)環(huán)境圖。
圖2為使用我們提出的算法對(duì)圖1的實(shí)際網(wǎng)絡(luò)推測(cè)后得到的拓?fù)鋱D。
圖3為包含“啞元設(shè)備推測(cè)”的物理拓?fù)浒l(fā)現(xiàn)過(guò)程的流程圖。
具體實(shí)施例方式
圖1為一個(gè)包含Hub和啞交換機(jī)的環(huán)境,其中A-H為可管理交換機(jī),Ni(i=1..6)為啞交換機(jī),M為管理站,另外還包含一個(gè)Hub。
Ni(i=1..6)為啞交換機(jī),每個(gè)可管理交換機(jī)的上行端口均為端口1,應(yīng)用該算法進(jìn)行拓?fù)浒l(fā)現(xiàn)的過(guò)程如下各下行端口轉(zhuǎn)發(fā)表為F(A,2)={B,D,G,N1,N2,N3,N4} F(A,3)={C,E,F(xiàn),H,N5,N6}F(B,2)={G,N1,N2} F(B,3)={D,N3,N4}F(C,2)={E,F(xiàn),H,N5,N6 }F(D,2)={N3,N4}F(E,2)={H,N5}F(F,2)={N6}構(gòu)造序關(guān)系集合T如下T={B<A,D<A,G<A,N1<A,N2<A,N3<A,N4<A,C<A,E<A,F(xiàn)<A,H<A,N5<A,N6<A,G<B,N1<B,N2<B,D<B,N3<B,N4<B,E<C,F(xiàn)<C,H<C,N5<C,N6<C,N3<D,N4<D,H<E,N5<E,N6<F}根據(jù)T構(gòu)造覆蓋關(guān)系如下{G,N1,N2}<B<A,{N3,N4}<D<B<A{H,N5}<E<C<A,N6<F<C<A構(gòu)造覆蓋集如下C(A,2)={B},C(A,3)={C}C(B,2)={G,N1,N2},C(B,3)={D}C(D,2)={N3,N4}C(C,2)={E,F(xiàn)}C(E,2)={N5,H}C(F,2)={N6}對(duì)于交換機(jī)A,由于|C(A,2)|=1,|C(A,3)|=1,因此判斷A的下行端口2,3分別與B和C的上行端口1直接相連。
對(duì)于交換機(jī)B,|C(B,3)|=1,判斷B的下行端口3和D的上行端口1直接相連;|C(B,2)|>1,將C(B,2)劃分為{G}和{N1,N2},將{N1,N2}記為一個(gè)“啞交換云”,判斷G的上行端口1與{N1,N2}相連,B的端口2與{N1,N2}相連。
對(duì)于交換機(jī)C,|C(C,2)|>1,但劃分后相應(yīng)的啞交換機(jī)集合∏2為空,因此判斷C的端口2與E、F的上行端口1通過(guò)Hub相連。
對(duì)于交換機(jī)D,|C(D,2)|>1,劃分后|∏2|>1,將{N3,N4}記為啞交換云,判斷D的端口2與{N3,N4}相連對(duì)于交換機(jī)E,|C(E,2)|>1,劃分后|∏2|=1,判斷E的端口2與N5相連,H的上行端口1與N5相連對(duì)于交換機(jī)F,|C(F,2)|=1,判斷F的端口2與N6相連。
分析后所得出的拓?fù)淙鐖D2所示。其中,N1和N2,N3和N4分別形成“啞交換機(jī)云”。并且能將其作為一個(gè)整體在網(wǎng)絡(luò)中定位,但其內(nèi)部連接關(guān)系無(wú)法推測(cè)出來(lái),而N5、N6以及Hub能準(zhǔn)確定位。
圖3為包含“啞元設(shè)備推測(cè)”的物理拓?fù)浒l(fā)現(xiàn)過(guò)程的流程圖。其中步驟S1計(jì)算各個(gè)可管理交換機(jī)的上行端口需要對(duì)每個(gè)交換機(jī)的端口進(jìn)行檢測(cè),將包含標(biāo)識(shí)節(jié)點(diǎn)的端口標(biāo)記為上行端口;步驟S2構(gòu)造序關(guān)系集合T需要對(duì)每個(gè)交換機(jī)S的下行端口k進(jìn)行檢測(cè),起初T為空集,如果B∈F(S,k)且B為交換機(jī),則T=T∪{B<A};步驟S3構(gòu)造覆蓋關(guān)系和覆蓋集合是對(duì)序關(guān)系進(jìn)行分析得出的結(jié)果;步驟S4對(duì)C(S,k)進(jìn)行劃分,劃分的結(jié)果是分成可管理交換機(jī)和不可管理交換機(jī)兩個(gè)集合;步驟S5為第一條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2為空,則判斷∏1中的所有可管理交換機(jī)的上行端口與交換機(jī)S的端口k通過(guò)Hub相連;步驟S6為第二條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2僅包含一個(gè)元素,則判斷S的下行端口k與∏2中的B直接相連;步驟S7為第三條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2的基數(shù)大于1,則將∏2中的所有元素記為一個(gè)“啞交換機(jī)云”,而∏1中的所有交換機(jī)都與該“啞交換機(jī)云”相連。
本發(fā)明的特點(diǎn)在于,不僅能發(fā)現(xiàn)可管理設(shè)備之間的連接關(guān)系,同時(shí)能準(zhǔn)確地發(fā)現(xiàn)“啞元”設(shè)備(包括不可管理交換機(jī)和HUB)的存在以及其連接關(guān)系,大大地提高了物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的準(zhǔn)確性,同時(shí)算法的復(fù)雜度為O(n)。
權(quán)利要求
1.基于通用RFC定義的MIB信息的二層物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法,其特征在于,所提出的算法基于通用的RFC定義的MIB信息,適用于異構(gòu)網(wǎng)絡(luò),能夠確定物理網(wǎng)絡(luò)中交換機(jī)端口到端口的連接,并能確定“啞元設(shè)備”的存在性及其位置。
2.根據(jù)權(quán)利要求1所述的基于通用RFC定義的MIB信息的二層物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法,其特征在于,其理論依據(jù)是序關(guān)系、覆蓋關(guān)系以及覆蓋集合的構(gòu)造。
3.根據(jù)權(quán)利要求1所述的基于通用RFC定義的MIB信息的二層物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法,其特征在于,能夠發(fā)現(xiàn)“啞交換機(jī)”和Hub,對(duì)于一個(gè)Hub或啞交換機(jī),能準(zhǔn)確對(duì)其進(jìn)行定位;對(duì)于多個(gè)Hub或啞交換機(jī)相連,則將其發(fā)現(xiàn)為一個(gè)“啞設(shè)備云”。
4.一種物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)中“啞元”設(shè)備的推測(cè)方法,其具體步驟如下步驟S1計(jì)算各個(gè)可管理交換機(jī)的上行端口需要對(duì)每個(gè)交換機(jī)的端口進(jìn)行檢測(cè),將包含標(biāo)識(shí)節(jié)點(diǎn)的端口標(biāo)記為上行端口;步驟S2構(gòu)造序關(guān)系集合T需要對(duì)每個(gè)交換機(jī)S的下行端口k進(jìn)行檢測(cè),起初T為空集,如果B∈F(S,k)且B為交換機(jī),則T=T∪{B<A};步驟S3構(gòu)造覆蓋關(guān)系和覆蓋集合是對(duì)序關(guān)系進(jìn)行分析得出的結(jié)果;步驟S4對(duì)C(S,k)進(jìn)行劃分,劃分的結(jié)果是分成可管理交換機(jī)和不可管理交換機(jī)兩個(gè)集合;步驟S4對(duì)C(S,k)進(jìn)行劃分,劃分的結(jié)果是分成可管理交換機(jī)和不可管理交換機(jī)兩個(gè)集合;步驟S5為第一條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2為空,則判斷∏1中的所有可管理交換機(jī)的上行端口與交換機(jī)S的端口k通過(guò)Hub相連;步驟S6為第二條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2僅包含一個(gè)元素,則判斷S的下行端口k與∏2中的B直接相連;步驟S7為第三條判斷準(zhǔn)則,該準(zhǔn)則為如果步驟S4劃分后的不可管理交換機(jī)集合∏2的基數(shù)大于1,則將∏2中的所有元素記為一個(gè)“啞交換機(jī)云”,而∏1中的所有交換機(jī)都與該“啞交換機(jī)云”相連。
全文摘要
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)管理技術(shù),是一種基于通用MIB庫(kù)信息的二層網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法。本發(fā)明通過(guò)自行設(shè)計(jì)的算法,能夠準(zhǔn)確發(fā)現(xiàn)并定位二層網(wǎng)絡(luò)中各個(gè)物理設(shè)備的連接關(guān)系。步驟為1.計(jì)算各個(gè)可管理交換機(jī)的上行端口,2.構(gòu)造序關(guān)系集合,3.構(gòu)造覆蓋關(guān)系和覆蓋集合,4.分析覆蓋集合,推斷設(shè)備連接關(guān)系。本發(fā)明的特點(diǎn)在于,不僅能發(fā)現(xiàn)可管理設(shè)備之間的連接關(guān)系,同時(shí)能準(zhǔn)確地發(fā)現(xiàn)“啞元”設(shè)備(不可管理交換機(jī)和HUB)的存在以及其連接關(guān)系,大大地提高了物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的準(zhǔn)確性,同時(shí)算法的復(fù)雜度為0(n)。
文檔編號(hào)H04L29/06GK1564527SQ20041003680
公開(kāi)日2005年1月12日 申請(qǐng)日期2004年4月13日 優(yōu)先權(quán)日2004年4月13日
發(fā)明者張國(guó)強(qiáng), 張國(guó)清 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所