專利名稱:一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)設(shè)備拓?fù)浣Y(jié)構(gòu)的生成方法,更具體地說,涉及一種針對(duì)組成樹狀網(wǎng)絡(luò)的大規(guī)模網(wǎng)絡(luò)設(shè)備,快速、準(zhǔn)確、及時(shí)地生成其拓?fù)浣Y(jié)構(gòu)的方法。
背景技術(shù):
近幾年,中國的寬帶接入技術(shù)發(fā)展迅速,這為寬帶接入提供了巨大的商機(jī),使得越來越多的用戶可以通過寬帶登錄互聯(lián)網(wǎng)。
在寬帶運(yùn)營商根據(jù)需要擴(kuò)大網(wǎng)絡(luò)規(guī)模、增加網(wǎng)絡(luò)設(shè)備的同時(shí),他也面臨著因?yàn)榫W(wǎng)絡(luò)規(guī)模的擴(kuò)大和網(wǎng)絡(luò)設(shè)備數(shù)量的增加而帶來的對(duì)寬帶網(wǎng)絡(luò)和設(shè)備管理的困難。
在通常的網(wǎng)絡(luò)接入中,網(wǎng)絡(luò)運(yùn)營商會(huì)在其管理中心設(shè)置少量的管理設(shè)備,通過管理設(shè)備對(duì)連接在網(wǎng)絡(luò)中的數(shù)量巨大而管理級(jí)別較低的網(wǎng)絡(luò)設(shè)備進(jìn)行管理和簡單的故障診斷、處理。為了實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的各個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行管理的目的,管理者必須準(zhǔn)確、及時(shí)地掌握網(wǎng)絡(luò)中各個(gè)網(wǎng)絡(luò)設(shè)備的物理連接結(jié)構(gòu),即網(wǎng)絡(luò)設(shè)備的拓?fù)浣Y(jié)構(gòu),只有這樣才能提高管理效率、及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)故障、降低網(wǎng)絡(luò)運(yùn)營成本。因此,如何快速、準(zhǔn)確、及時(shí)地生成網(wǎng)絡(luò)設(shè)備拓?fù)浣Y(jié)構(gòu)就成為一個(gè)非常重要的問題。
發(fā)明內(nèi)容
由于在網(wǎng)絡(luò)設(shè)備接入時(shí),一般從管理中心到社區(qū)和樓道,網(wǎng)絡(luò)設(shè)備通常都連接成樹狀結(jié)構(gòu),所以,本發(fā)明的目的是提供一種針對(duì)組成樹狀網(wǎng)絡(luò)的大規(guī)模網(wǎng)絡(luò)設(shè)備,快速、準(zhǔn)確、及時(shí)地生成其拓?fù)浣Y(jié)構(gòu)的方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,該方法包括以下步驟第一步將所要管理的網(wǎng)絡(luò)設(shè)備連接成樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”,作為拓?fù)浣Y(jié)構(gòu)生成對(duì)象;第二步在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的一臺(tái)設(shè)備指定為“代理設(shè)備”;第三步使“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,從而,使每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”;第四步各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,比較計(jì)算得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”;第五步由“代理設(shè)備”對(duì)域內(nèi)各設(shè)備計(jì)算結(jié)果進(jìn)行記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu);第六步重復(fù)執(zhí)行第三步~第五步,定期進(jìn)行拓?fù)浣Y(jié)構(gòu)的維護(hù)及故障處理。
所述第三步“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”又由以下步驟完成(1)管理域中的每臺(tái)設(shè)備每隔一定間隔發(fā)送一次尋根請(qǐng)求(2)管理域內(nèi)的設(shè)備對(duì)其下聯(lián)設(shè)備的尋根請(qǐng)求發(fā)送尋根應(yīng)答(a)、尋根應(yīng)答的接收下聯(lián)設(shè)備接收其上聯(lián)設(shè)備發(fā)送的尋根應(yīng)答,并進(jìn)行解析,在設(shè)備內(nèi)生成自己的“上聯(lián)設(shè)備信息表”。
(b)、尋根應(yīng)答的發(fā)送當(dāng)上聯(lián)設(shè)備收到其下聯(lián)設(shè)備發(fā)送的尋根請(qǐng)求后,根據(jù)其自己的“上聯(lián)設(shè)備信息表”發(fā)送尋根應(yīng)答(3)在設(shè)備收到來自上聯(lián)設(shè)備的尋根應(yīng)答后,即發(fā)送尋根應(yīng)答確認(rèn)。
所述第四步中的鏈路計(jì)算方法是將“上聯(lián)設(shè)備信息表”中的各條記錄進(jìn)行比較,選擇各記錄中“上聯(lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”最多的一條記錄;因?yàn)槿绻擞涗浿小吧下?lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”個(gè)數(shù)最多,說明記錄中的這個(gè)上聯(lián)設(shè)備到頂級(jí)“代理設(shè)備”的路徑最長,也就說明這個(gè)上聯(lián)設(shè)備是在本鏈路中離自己最“近”的一個(gè)上聯(lián),則這個(gè)上聯(lián)設(shè)備即為自身的父設(shè)備。
所述第五步中由“代理設(shè)備”對(duì)這些計(jì)算結(jié)果進(jìn)行接收記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu)由以下步驟完成(1)、由“代理設(shè)備”收集其下的所有設(shè)備發(fā)送的父子信息,生成“父子關(guān)系表”(2)“代理設(shè)備”根據(jù)網(wǎng)絡(luò)管理員的指令,依據(jù)其“父子關(guān)系表”生成該“管理域”的拓?fù)浣Y(jié)構(gòu)(a)、查找“代理設(shè)備”的所有一級(jí)子設(shè)備(b)、查找“代理設(shè)備”的各個(gè)一級(jí)子設(shè)備的子設(shè)備(c)、逐級(jí)類推,最終查找出“代理設(shè)備”各級(jí)子設(shè)備的子設(shè)備,生成此“代理設(shè)備”下的網(wǎng)絡(luò)設(shè)備的樹狀拓?fù)浣Y(jié)構(gòu)。
本發(fā)明在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成過程中,“管理域”中的每臺(tái)設(shè)備都主動(dòng)發(fā)現(xiàn)、計(jì)算其父設(shè)備和代理設(shè)備,并將信息報(bào)告給“管理域”中的“代理設(shè)備”,由“代理設(shè)備”生成該“管理域”的拓?fù)浣Y(jié)構(gòu)?!胺谴碓O(shè)備”只進(jìn)行信息的收集和計(jì)算,而“代理設(shè)備”才進(jìn)行信息的收集、整理和拓?fù)浣Y(jié)構(gòu)的生成,平均了各個(gè)設(shè)備的負(fù)荷,使得拓?fù)渖蛇^程中,設(shè)備間握手次數(shù)和報(bào)文傳遞大大的減少,提高了拓?fù)浣Y(jié)構(gòu)生成的效率,減輕了網(wǎng)絡(luò)負(fù)荷,所以,本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)生成方法快速、及時(shí)、有效。
另外,本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)生成方法可以架構(gòu)于任何標(biāo)準(zhǔn)OSI模型的數(shù)據(jù)鏈路層之上進(jìn)行數(shù)據(jù)傳輸,由此可以不限定特定的數(shù)據(jù)鏈路層,即只要有數(shù)據(jù)鏈路支持,就可以進(jìn)行網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)。這對(duì)于在網(wǎng)絡(luò)通信設(shè)備組成的網(wǎng)絡(luò)中有較大的優(yōu)勢(shì),由于不依賴網(wǎng)絡(luò)層的支持,即可以在網(wǎng)絡(luò)通信設(shè)備沒有配置有效IP的情況下進(jìn)行拓?fù)浒l(fā)現(xiàn),這樣對(duì)于IP資源匱乏的運(yùn)營商來說可以節(jié)省大量的有效IP地址。
圖1為樹狀網(wǎng)絡(luò)結(jié)構(gòu)示意2為本發(fā)明公開的拓?fù)浣Y(jié)構(gòu)生成方法流程3為圖1中的設(shè)備對(duì)其下聯(lián)設(shè)備的尋根請(qǐng)求應(yīng)答過程示意4為兩個(gè)代理設(shè)備的拓?fù)浣Y(jié)構(gòu)示意5為本發(fā)明代理設(shè)備生成拓?fù)浣Y(jié)構(gòu)流程6為GNMP協(xié)議族協(xié)議結(jié)構(gòu)7為本發(fā)明設(shè)備通信時(shí)數(shù)據(jù)封裝和傳輸過程圖具體實(shí)施方式
由于在網(wǎng)絡(luò)設(shè)備接入時(shí),一般從管理中心到社區(qū)和樓道,網(wǎng)絡(luò)設(shè)備通常都連接成如圖1所示的樹狀結(jié)構(gòu),所以,本發(fā)明針對(duì)組成樹狀網(wǎng)絡(luò)的大規(guī)模網(wǎng)絡(luò)設(shè)備,提出了一種快速生成其拓?fù)浣Y(jié)構(gòu)的方法。該方法如圖2所示包括以下步驟第一步將所要管理的網(wǎng)絡(luò)設(shè)備連接成樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”,作為拓?fù)浣Y(jié)構(gòu)生成對(duì)象;第二步在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的一臺(tái)設(shè)備指定為“代理設(shè)備”;第三步使“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,從而,使每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”;第四步各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,比較計(jì)算得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”;第五步由“代理設(shè)備”對(duì)域內(nèi)各設(shè)備的計(jì)算結(jié)果進(jìn)行記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu);第六步重復(fù)執(zhí)行第三步~第五步,定期進(jìn)行拓?fù)浣Y(jié)構(gòu)的維護(hù)及故障處理。
下面結(jié)合附圖和圖表,詳細(xì)地說明本發(fā)明生成樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的方法。
該方法包括以下步驟第一步將所要管理的網(wǎng)絡(luò)設(shè)備連接成如圖1所示的樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”,作為拓?fù)浣Y(jié)構(gòu)生成對(duì)象。
第二步在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的一臺(tái)設(shè)備指定為“代理設(shè)備”。
如圖1所示,在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的設(shè)備A指定為“代理設(shè)備”。具體方法可以通過對(duì)A設(shè)備的一個(gè)屬性狀態(tài)位進(jìn)行設(shè)置來實(shí)現(xiàn)。在本發(fā)明中,被指定為“代理設(shè)備”的A設(shè)備為“管理域”的根設(shè)備,最終由它生成整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
第三步使“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,從而,使“管理域”內(nèi)的每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”。
在圖1所示的管理域中,設(shè)備間的物理拓?fù)潢P(guān)系由上至下類似于倒置的樹狀結(jié)構(gòu)。從管理域的最頂端設(shè)備A到最底端設(shè)備D1、C2、C3形成有三條鏈路,如A→B1→C1→D1,A→B1→C2,A→B2→C3。在信息交互環(huán)節(jié)中,其目的就是通過設(shè)備間的數(shù)據(jù)通信,使得每臺(tái)設(shè)備均得到本鏈路中自己的上聯(lián)設(shè)備信息。
具體通過以下步驟實(shí)現(xiàn)(1)管理域中的每臺(tái)設(shè)備每隔一定間隔發(fā)送一次尋根請(qǐng)求目的是對(duì)域內(nèi)的所有上聯(lián)設(shè)備進(jìn)行信息請(qǐng)求,請(qǐng)求獲得這些上聯(lián)設(shè)備的應(yīng)答。
具體操作每臺(tái)網(wǎng)絡(luò)設(shè)備開始工作后,就以一定的時(shí)間間隔連續(xù)發(fā)送N次尋根請(qǐng)求廣播信息,發(fā)送N次請(qǐng)求的目的是為了使自己上聯(lián)的所有設(shè)備都得到自己的請(qǐng)求信息。發(fā)送完成后,將自身的狀態(tài)位——“尋根請(qǐng)求完成狀態(tài)”置位,表示自己已經(jīng)發(fā)送完成N次尋根請(qǐng)求信息。
(2)尋根應(yīng)答對(duì)來自下聯(lián)設(shè)備的尋根請(qǐng)求發(fā)送尋根應(yīng)答。
當(dāng)網(wǎng)絡(luò)設(shè)備只有收到來自其下聯(lián)設(shè)備的尋根廣播后,才對(duì)請(qǐng)求設(shè)備發(fā)送點(diǎn)對(duì)點(diǎn)的應(yīng)答信息,目的是將自己的信息以及自己收集的所有上聯(lián)設(shè)備信息應(yīng)答給發(fā)送請(qǐng)求的這個(gè)下聯(lián)設(shè)備;而設(shè)備在對(duì)下聯(lián)設(shè)備進(jìn)行尋根應(yīng)答的同時(shí),也會(huì)收到來自上聯(lián)設(shè)備對(duì)自己尋根請(qǐng)求的應(yīng)答,將應(yīng)答報(bào)文中的各上聯(lián)設(shè)備信息進(jìn)行記錄。所有設(shè)備通過對(duì)尋根應(yīng)答報(bào)文的接收和發(fā)送,使得域內(nèi)各個(gè)設(shè)備可以得到自己所有上聯(lián)設(shè)備的信息。
(a)、尋根應(yīng)答的接收下聯(lián)設(shè)備接收其上聯(lián)設(shè)備發(fā)送的尋根應(yīng)答,并進(jìn)行解析,在設(shè)備內(nèi)生成自己的“上聯(lián)設(shè)備信息表”。
每臺(tái)設(shè)備都有一個(gè)“上聯(lián)設(shè)備信息表”,設(shè)備每收到一個(gè)上聯(lián)設(shè)備對(duì)自己的尋根應(yīng)答信息后,就對(duì)尋根應(yīng)答信息進(jìn)行信息解析,將信息中記錄的這個(gè)上聯(lián)設(shè)備、這個(gè)上聯(lián)設(shè)備的屬性特征和這個(gè)上聯(lián)設(shè)備的各個(gè)上聯(lián)設(shè)備都記錄下來,做成如下所示的“上聯(lián)設(shè)備信息表”,該表中包括
表1其中,“標(biāo)識(shí)”是指應(yīng)答設(shè)備的數(shù)據(jù)鏈路層通信標(biāo)識(shí),如基于以太網(wǎng)的網(wǎng)絡(luò)交換設(shè)備數(shù)據(jù)傳輸,設(shè)備的標(biāo)識(shí)即為MAC地址?!皩傩浴敝傅氖菓?yīng)答設(shè)備是否為“代理設(shè)備”?!吧下?lián)設(shè)備的上聯(lián)設(shè)備數(shù)”記錄此應(yīng)答設(shè)備的所有上聯(lián)設(shè)備個(gè)數(shù);“上聯(lián)設(shè)備的各個(gè)上聯(lián)設(shè)備標(biāo)識(shí)”記錄了這個(gè)應(yīng)答設(shè)備的各個(gè)上聯(lián)設(shè)備標(biāo)識(shí)。“記錄”時(shí)間表示記錄此條信息的時(shí)間。
具體接收處理操作如下設(shè)備對(duì)自身接收到的來自上聯(lián)設(shè)備發(fā)送的尋根應(yīng)答信息進(jìn)行解析,將應(yīng)答中攜帶的應(yīng)答上聯(lián)設(shè)備標(biāo)識(shí)和屬性,以及這個(gè)上聯(lián)設(shè)備的各個(gè)上聯(lián)設(shè)備標(biāo)識(shí)記錄到“上聯(lián)設(shè)備信息表”中,并填入記錄這些信息的時(shí)間。
(b)、尋根應(yīng)答的發(fā)送當(dāng)上聯(lián)設(shè)備收到其下聯(lián)設(shè)備發(fā)送的尋根請(qǐng)求后,根據(jù)其自己的“上聯(lián)設(shè)備信息表”發(fā)送尋根應(yīng)答。
各個(gè)設(shè)備在接收的同時(shí)也會(huì)對(duì)來自下聯(lián)的請(qǐng)求進(jìn)行尋根應(yīng)答。尋根應(yīng)答信息就是根據(jù)自己的“上聯(lián)設(shè)備信息表”中的信息記錄來填充。
應(yīng)答具體操作如下每臺(tái)設(shè)備都會(huì)收到來自上聯(lián)和下聯(lián)的尋根請(qǐng)求廣播,但尋根請(qǐng)求的目的是對(duì)上聯(lián)設(shè)備的發(fā)現(xiàn),因此設(shè)備只需對(duì)從下聯(lián)口處接收到的尋根請(qǐng)求進(jìn)行應(yīng)答。
設(shè)備每收到一個(gè)來自下聯(lián)的尋根請(qǐng)求,便對(duì)發(fā)送尋根請(qǐng)求的設(shè)備回應(yīng)一個(gè)尋根應(yīng)答;在應(yīng)答信息中,依次填入如下信息a.本設(shè)備的標(biāo)識(shí)信息;b.本設(shè)備的屬性特征(即是否為“代理設(shè)備”);c.本設(shè)備“上聯(lián)設(shè)備信息表”記錄的各個(gè)應(yīng)答上聯(lián)設(shè)備標(biāo)識(shí),即本設(shè)備此時(shí)收集到的各個(gè)應(yīng)答上聯(lián)設(shè)備信息。
例如圖1中鏈路A→B1→C1→D1中各設(shè)備對(duì)其下聯(lián)設(shè)備的尋根請(qǐng)求的應(yīng)答過程如圖3所示在A對(duì)B1、A對(duì)C1、A對(duì)D1的應(yīng)答中包含的信息為A設(shè)備自己的標(biāo)識(shí)和屬性;在B1對(duì)C1、B1對(duì)D1的應(yīng)答中包含的信息為B1設(shè)備自己的標(biāo)識(shí)和屬性,以及它的上聯(lián)設(shè)備A的標(biāo)識(shí);在C1對(duì)D1的應(yīng)答中包含的信息為C1設(shè)備自己的標(biāo)識(shí)和屬性,以及它的上聯(lián)設(shè)備B1、上聯(lián)設(shè)備A的標(biāo)識(shí)。
通過設(shè)備間的信息交互,即設(shè)備間的尋根請(qǐng)求、尋根請(qǐng)求的應(yīng)答以及尋根應(yīng)答的發(fā)送與接收,圖1中的網(wǎng)絡(luò)設(shè)備D1的“上聯(lián)設(shè)備信息表”中就記錄了以下三條信息
表2由這個(gè)表可以看出,通過尋根應(yīng)答信息的解析記錄,每臺(tái)設(shè)備的“上聯(lián)設(shè)備信息表”中實(shí)際記錄下了自己所在鏈路中,每臺(tái)設(shè)備到“代理設(shè)備”的鏈路信息。
由于每臺(tái)設(shè)備都會(huì)發(fā)送N次尋根請(qǐng)求信息,在通信正常的情況下,設(shè)備也會(huì)收到N個(gè)來自某個(gè)上聯(lián)的尋根應(yīng)答(如果某設(shè)備所在鏈路有M個(gè)上聯(lián)設(shè)備,則一共會(huì)收到M×N個(gè)尋根應(yīng)答信息)。各個(gè)設(shè)備通過對(duì)應(yīng)答信息的接收和解析,它們的“上聯(lián)設(shè)備信息表”中就可以完備的記錄下自己所在鏈路中的每臺(tái)上聯(lián)設(shè)備和這個(gè)上聯(lián)設(shè)備的所有上聯(lián)設(shè)備。
(3)在設(shè)備收到來自上聯(lián)設(shè)備的尋根應(yīng)答后,即發(fā)送尋根應(yīng)答確認(rèn)。
目的是通知上聯(lián)設(shè)備尋根應(yīng)答信息已被收到。具體操作設(shè)備收到上聯(lián)設(shè)備對(duì)自己的尋根應(yīng)答即給發(fā)送方回應(yīng)一個(gè)應(yīng)答確認(rèn)信息;尋根應(yīng)答發(fā)送完成后在N時(shí)間內(nèi)未收到確認(rèn)報(bào)文,就會(huì)重發(fā)一次應(yīng)答信息,直到收到相應(yīng)的應(yīng)答確認(rèn)信息或者重發(fā)次數(shù)超出限值。此確認(rèn)信息可以保證“上行鏈路發(fā)現(xiàn)”的完備性和穩(wěn)定性。
在信息交互環(huán)節(jié)中,通過設(shè)備間“請(qǐng)求”→“應(yīng)答”→“確認(rèn)應(yīng)答”幾次信息的交互,每臺(tái)設(shè)備的“上聯(lián)設(shè)備信息表”就記錄完備了計(jì)算鏈路所需的上行鏈路所有信息。
第四步各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,比較計(jì)算得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”。
在上一步完成后,每臺(tái)設(shè)備的“上聯(lián)設(shè)備信息表”中都記錄了自己的每臺(tái)上聯(lián)設(shè)備及相關(guān)信息,實(shí)際上就相當(dāng)于記錄下了自己上行鏈路中每臺(tái)上聯(lián)設(shè)備到“代理設(shè)備”的鏈路信息。鏈路計(jì)算就是根據(jù)“上聯(lián)設(shè)備信息表”的這些信息進(jìn)行計(jì)算,得出父子信息和代理信息。
方法是將“上聯(lián)設(shè)備信息表”中的各條記錄進(jìn)行比較,選擇各記錄中“上聯(lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”最多的一條記錄;因?yàn)槿绻擞涗浿小吧下?lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”個(gè)數(shù)最多,說明記錄中的這個(gè)上聯(lián)設(shè)備到頂級(jí)“代理設(shè)備”的路徑最長,也就說明這個(gè)上聯(lián)設(shè)備是在本鏈路中離自己最“近”的一個(gè)上聯(lián),則這個(gè)上聯(lián)設(shè)備即為自身的父設(shè)備。
如表2中所示,D1“上聯(lián)設(shè)備信息表”記錄的信息中,C1有B1和A兩個(gè)上聯(lián)設(shè)備,B1有A一個(gè)上聯(lián)設(shè)備,A的上聯(lián)設(shè)備數(shù)為0,則記錄中的C1的上聯(lián)設(shè)備數(shù)最多,也就說明C1是在鏈路中離D1最近的一個(gè)上聯(lián)設(shè)備,即C1是D1的父設(shè)備。
同理C1根據(jù)其“上聯(lián)設(shè)備信息表”可以確認(rèn)B1是它的父設(shè)備;A是B1的父設(shè)備。
同樣,根據(jù)此方法,每臺(tái)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”確定在本鏈路中自己的代理設(shè)備。
當(dāng)網(wǎng)絡(luò)中出現(xiàn)如圖4所示的不同管理域時(shí),即本設(shè)備的上行鏈路中有幾臺(tái)設(shè)備屬性均為“代理設(shè)備”時(shí),可以根據(jù)這幾個(gè)“代理設(shè)備”的“上聯(lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”多少,來得出鏈路中離自己“最近”的代理來,認(rèn)為這個(gè)“代理設(shè)備”即為自己所在“管理域”的“代理設(shè)備”。例如在D1的鏈路中如果B1和A均為“代理設(shè)備”屬性,則根據(jù)鏈路長短,可以計(jì)算得出B1是離D1最近的“代理設(shè)備”,D1屬于以B1為代理的管理域,記錄B1為自己的代理設(shè)備。
在此算法中,由于網(wǎng)絡(luò)故障或環(huán)境惡劣造成的信息丟失,可能會(huì)使各設(shè)備收集的上聯(lián)設(shè)備信息不完備,從而造成計(jì)算錯(cuò)誤,但是這種錯(cuò)誤會(huì)隨著維護(hù)過程中對(duì)信息的進(jìn)一步收集完善來解決。
第五步由“代理設(shè)備”對(duì)域內(nèi)各設(shè)備的計(jì)算結(jié)果進(jìn)行記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu);(1)、“代理設(shè)備”收集其下的所有設(shè)備發(fā)送的父子信息,生成“父子關(guān)系表”如“代理設(shè)備”A生成的“父子關(guān)系表”為
表3(2)“代理設(shè)備”根據(jù)網(wǎng)絡(luò)管理員的指令,依據(jù)其“父子關(guān)系表”生成該“管理域”的拓?fù)浣Y(jié)構(gòu)在通常情況下,“代理設(shè)備”只是保存本“管理域”的“父子關(guān)系表”,并不生成拓?fù)浣Y(jié)構(gòu),這樣可以減少計(jì)算量、節(jié)省存儲(chǔ)空間,并且方便父子信息的記錄更新。
只有當(dāng)管理員向“代理設(shè)備”發(fā)出拓?fù)洳樵冎噶顣r(shí),“代理設(shè)備”即根據(jù)“父子關(guān)系表”中記錄的各條父子關(guān)系信息,進(jìn)行信息整合,得出拓?fù)浣Y(jié)構(gòu)來。具體方法如圖5所示(a)、查找“代理設(shè)備”的所有一級(jí)子設(shè)備順序查找“父子關(guān)系表”各條記錄中“其父設(shè)備屬性”一欄為“代理設(shè)備”的所有記錄,這些記錄中的“子設(shè)備”就是“代理設(shè)備”的一級(jí)子設(shè)備;根據(jù)表3,可以查找出代理設(shè)備A的所有子設(shè)備為B1和B2。
(b)、查找“代理設(shè)備”的各個(gè)一級(jí)子設(shè)備的子設(shè)備依照上述方法,逐個(gè)查找“代理設(shè)備”的各個(gè)一級(jí)子設(shè)備是否為“父子關(guān)系表”中各條記錄的“父設(shè)備信息”,從而找出代理設(shè)備各個(gè)一級(jí)子設(shè)備的所有子設(shè)備,即代理設(shè)備的二級(jí)子設(shè)備。
根據(jù)表3,可以查找出B1的子設(shè)備為C1和C2,B2的子設(shè)備為C3。
(c)、逐級(jí)類推,最終查找出“代理設(shè)備”各級(jí)子設(shè)備的子設(shè)備,生成此“代理設(shè)備”下的網(wǎng)絡(luò)設(shè)備的樹狀拓?fù)浣Y(jié)構(gòu)。
第六步重復(fù)執(zhí)行第三步~第五步,定期進(jìn)行拓?fù)涞木S護(hù)及故障處理。
當(dāng)各個(gè)設(shè)備在完成初始的鏈路發(fā)現(xiàn)和計(jì)算后,直接進(jìn)入維護(hù)狀態(tài),對(duì)首次發(fā)現(xiàn)中的錯(cuò)誤進(jìn)行糾正,并且動(dòng)態(tài)對(duì)拓?fù)渥兓M(jìn)行更新。
在維護(hù)狀態(tài)中,設(shè)備仍會(huì)定時(shí)發(fā)送尋根請(qǐng)求報(bào)文,從而發(fā)起一次新的信息交互過程,然后對(duì)新的信息進(jìn)行計(jì)算,并將計(jì)算結(jié)果報(bào)告給代理,這樣“代理設(shè)備”就可以不斷的更新域內(nèi)設(shè)備的父子關(guān)系信息。通過這樣的定時(shí)維護(hù),可以做到1.錯(cuò)誤糾正。由于信息交互的不斷進(jìn)行,各個(gè)設(shè)備得到的上行鏈路信息也就更加完備,這樣可以將首次拓?fù)浒l(fā)現(xiàn)中由于信息不完備造成的錯(cuò)誤進(jìn)行更正;2.動(dòng)態(tài)更新。當(dāng)拓?fù)浣Y(jié)構(gòu)發(fā)生變化或添加新設(shè)備時(shí),由于設(shè)備定期進(jìn)行的信息交互和計(jì)算報(bào)告,及時(shí)對(duì)變化的狀態(tài)進(jìn)行了信息更新,從而維護(hù)了新的拓?fù)浣Y(jié)構(gòu)。
3.老化更新刪除設(shè)備。在維護(hù)狀態(tài)中,各個(gè)設(shè)備也會(huì)對(duì)“上聯(lián)設(shè)備信息表”和“父子關(guān)系表”進(jìn)行定期的刷新老化,根據(jù)各表中表項(xiàng)的記錄時(shí)間將超過老化期的信息項(xiàng)予以刪除,這樣可以將已不在域內(nèi)工作的設(shè)備從拓?fù)浣Y(jié)構(gòu)中去除。
下面以利用運(yùn)行于OSI數(shù)據(jù)鏈路層上的自定義協(xié)議-----長城網(wǎng)絡(luò)管理協(xié)議(簡稱GNMP協(xié)議)進(jìn)行信息交互和數(shù)據(jù)通信的組成樹狀結(jié)構(gòu)的網(wǎng)絡(luò)設(shè)備為例,說明本發(fā)明提供的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成方法是如何快速、準(zhǔn)確、及時(shí)地生成其拓?fù)浣Y(jié)構(gòu)的。
GNMP協(xié)議是一組自定義的網(wǎng)絡(luò)管理協(xié)議族。此協(xié)議為一個(gè)三層協(xié)議系統(tǒng),是一組分布在網(wǎng)絡(luò)層、傳輸層和應(yīng)用層的多個(gè)協(xié)議的組合。一般情況下,GNMP協(xié)議直接架構(gòu)在OSI模型中的數(shù)據(jù)鏈路層之上的,但在特殊情況下它可以被架構(gòu)在其它協(xié)議層之上。本協(xié)議族中的其它所有自定義協(xié)議如GNAP協(xié)議和GTDP協(xié)議數(shù)據(jù)均以GNMP數(shù)據(jù)包格式進(jìn)行傳輸。
GNAP協(xié)議(長城網(wǎng)絡(luò)應(yīng)用協(xié)議)是GNMP協(xié)議的一個(gè)簡單應(yīng)用協(xié)議,為傳輸層協(xié)議;GTDP協(xié)議(長城設(shè)備拓?fù)浒l(fā)現(xiàn)協(xié)議)是基于GNAP協(xié)議的設(shè)備拓?fù)渥詣?dòng)發(fā)現(xiàn)協(xié)議,為應(yīng)用層協(xié)議;三者關(guān)系如圖6所示。
下面對(duì)GNMP協(xié)議、GNAP協(xié)議和GTDP協(xié)議的報(bào)文格式進(jìn)行如下說明GNMP協(xié)議報(bào)文格式為
表4其中版本4bit,協(xié)議版本,定義不同的報(bào)文格式,此文檔描述的版本為0001;長度12bit,整個(gè)報(bào)文長度;保留8bit,保留;保留8bit,保留;狀態(tài)8bit,標(biāo)識(shí)設(shè)備狀態(tài);保留8bit,保留;保留8bit,保留;類型8bit,協(xié)議報(bào)文類型,定義了0x07為GTDP報(bào)文保留8bit,保留;目的ID24bit,目的設(shè)備標(biāo)識(shí);源ID24bit,源設(shè)備標(biāo)識(shí);保留8bit,保留;數(shù)據(jù)208~11840bit,填充GNAP首部及其數(shù)據(jù)區(qū)部分;填充碼16bit,填充碼,必須是0x00;校驗(yàn)計(jì)數(shù)16bit,整個(gè)報(bào)文數(shù)據(jù)的16位累加和。
GNAP協(xié)議報(bào)文格式
表5目的操作碼16bit,目標(biāo)操作碼;源操作碼16bit,源操作碼;狀態(tài)16bit,狀態(tài);保留16bit,保留;目標(biāo)系列號(hào)16bit,目標(biāo)系列號(hào);源系列號(hào)SN16bit,源系列號(hào);數(shù)據(jù)數(shù)據(jù),長度可變,填充GTDP協(xié)議不同報(bào)文的首部和數(shù)據(jù)區(qū)。
應(yīng)用層的GTDP協(xié)議是基于GNAP協(xié)議的設(shè)備拓?fù)渥詣?dòng)發(fā)現(xiàn)協(xié)議,為應(yīng)用層協(xié)議。GNAP協(xié)議的目的操作碼用于標(biāo)識(shí)區(qū)分GTDP協(xié)議中不同的操作報(bào)文類型。GTDP中不同的操作報(bào)文標(biāo)識(shí)如下
表6GTDP報(bào)文格式
表7保留8bit,保留;源設(shè)備狀態(tài)8bit,源設(shè)備的狀態(tài),“1”表示是代理;源ID24bit,源設(shè)備的標(biāo)識(shí);源Mac首字段32bit,源設(shè)備Mac地址的前4個(gè)Byte;源Mac尾字段16bit,源設(shè)備Mac地址的后2個(gè)Byte;源IP32bit,源設(shè)備的IP地址;源S/N152bit,源設(shè)備S/N;發(fā)送尋根次數(shù)8bit,發(fā)送尋根的次數(shù);連接端口8bit,在發(fā)送尋根應(yīng)答報(bào)文時(shí)有效,表示所在上連設(shè)備的端口號(hào);代理設(shè)備ID24bit,代理設(shè)備的標(biāo)識(shí);代理設(shè)備狀態(tài)8bit,所屬域代理設(shè)備的狀態(tài);代理Mac首字段32bit,根設(shè)備Mac地址的前4個(gè)Byte;代理Mac尾字段16bit,根設(shè)備Mac地址的后2個(gè)Byte;代理IP32bit,根設(shè)備的IP地址;第一數(shù)據(jù)區(qū)長度8bit,第一塊數(shù)據(jù)區(qū)的長度,長度以字節(jié)數(shù)記;第二數(shù)據(jù)區(qū)長度8bit,保留;本身的層次8bit,保留;本拓?fù)渥畲髮訑?shù)8bit,保留;第一個(gè)ID24bit,保留;數(shù)值8bit,保留;設(shè)備ID24bit,保留;數(shù)據(jù)填充數(shù)據(jù),長度可變,根據(jù)GTDP不同的報(bào)文包含不同長度的數(shù)據(jù),
下面的表格說明不同報(bào)文對(duì)應(yīng)的數(shù)據(jù)區(qū)內(nèi)容。
表8在本實(shí)施例中,樹狀網(wǎng)絡(luò)設(shè)備其拓?fù)浣Y(jié)構(gòu)生成方法是第一步將所要管理的網(wǎng)絡(luò)設(shè)備連接成如圖1所示的樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”。
第二步在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的一臺(tái)設(shè)備A指定為“代理設(shè)備”。
第三步使“管理域”內(nèi)的各個(gè)設(shè)備之間按照GNMP協(xié)議、GNAP協(xié)議和GTDP協(xié)議格式進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,建立完成自己的“上聯(lián)設(shè)備信息表”。
在整個(gè)拓?fù)浣Y(jié)構(gòu)生成過程中,“管理域”中的每臺(tái)設(shè)備所發(fā)送、接收的信息如發(fā)送尋根請(qǐng)求、進(jìn)行尋根請(qǐng)求應(yīng)答、發(fā)送尋根請(qǐng)求應(yīng)答確認(rèn)和進(jìn)行父子關(guān)系信息報(bào)告都先按照GNMP協(xié)議族中各層協(xié)議格式填充完整GNMP報(bào)文;然后,將其構(gòu)架于數(shù)據(jù)鏈路層之上進(jìn)行數(shù)據(jù)通信;同時(shí),對(duì)接收到的報(bào)文也按照GNMP協(xié)議族中各層協(xié)議格式進(jìn)行解析,從而完成設(shè)備間的信息交互。
“管理域”中的每臺(tái)設(shè)備所發(fā)送、接收的信息都是按照GTDP協(xié)議報(bào)文、GNAP報(bào)文和GNMP報(bào)文的順序進(jìn)行填充,具體步驟如下(1)填充GTDP報(bào)文根據(jù)發(fā)送報(bào)文的類型將需要發(fā)送的數(shù)據(jù)信息填入表7所示的GTDP協(xié)議的“數(shù)據(jù)區(qū)”,然后,封裝GTDP協(xié)議報(bào)文的首部信息,組成符合GTDP協(xié)議的應(yīng)用數(shù)據(jù)。
如尋根請(qǐng)求報(bào)文、尋根應(yīng)答報(bào)文、尋根應(yīng)答確認(rèn)報(bào)文、父子關(guān)系通知報(bào)文等,首先,按照GTDP協(xié)議中定義的報(bào)文類型標(biāo)號(hào)和相應(yīng)報(bào)文類型中需要填充的信息進(jìn)行填充,然后,封裝GTDP報(bào)文的首部信息,組成符合GTDP協(xié)議的應(yīng)用數(shù)據(jù)。
(2)填充GNAP報(bào)文首部將填寫好的應(yīng)用數(shù)據(jù)填寫到GNAP協(xié)議報(bào)文的“數(shù)據(jù)區(qū)”中,然后根據(jù)發(fā)送報(bào)文的類型,填充GNAP報(bào)文首部,組成符合GNAP協(xié)議的傳輸數(shù)據(jù)。
(3)填充GNMP報(bào)文首部將填充好GNAP報(bào)文首部信息的報(bào)文嵌入到GNMP協(xié)議報(bào)文的“數(shù)據(jù)區(qū)”中,然后根據(jù)GNMP協(xié)議中的定義填寫GNMP報(bào)文的其它數(shù)據(jù)信息經(jīng)過上面三步數(shù)據(jù)填充,就完成了一個(gè)完整的GNMP報(bào)文填充,將此報(bào)文通過數(shù)據(jù)鏈路層進(jìn)行傳輸就可以實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)通信。
在這樣的數(shù)據(jù)通信機(jī)制中,由于GNMP協(xié)議報(bào)文直接架構(gòu)于數(shù)據(jù)鏈路層之上,只要有數(shù)據(jù)鏈路層的支持,就可以進(jìn)行設(shè)備間的數(shù)據(jù)通信。而在GNMP協(xié)議族網(wǎng)絡(luò)層協(xié)議中定義的源ID和目的ID為自定義的設(shè)備標(biāo)識(shí),類似于TCP/IP協(xié)議中的IP,設(shè)備是否具有有效ID并不影響設(shè)備間的數(shù)據(jù)傳輸,即本實(shí)施例提出的優(yōu)點(diǎn)之一——拓?fù)渖煞椒梢栽跊]有網(wǎng)絡(luò)層支持的情況下,進(jìn)行數(shù)據(jù)通信,從而生成網(wǎng)絡(luò)設(shè)備拓?fù)浣Y(jié)構(gòu)。
如果將本例的GNMP協(xié)議構(gòu)架到基于以太網(wǎng)的數(shù)據(jù)鏈路層上,則在GNMP報(bào)文前封裝一個(gè)以太網(wǎng)首部即可通過以太網(wǎng)物理介質(zhì)進(jìn)行數(shù)據(jù)傳輸,則本例中設(shè)備通信時(shí)的數(shù)據(jù)封裝和傳輸過程如圖7所示。
按照GTDP報(bào)文、GNAP報(bào)文和GNMP報(bào)文的順序填充好的信息,在“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互的具體過程是(1)管理域中的每臺(tái)設(shè)備每隔一定間隔發(fā)送一次尋根請(qǐng)求報(bào)文具體操作每臺(tái)設(shè)備開始工作,就以一定的時(shí)間間隔連續(xù)發(fā)送N次尋根請(qǐng)求廣播報(bào)文,發(fā)送N次請(qǐng)求的目的是為了使自己上聯(lián)的所有設(shè)備都得到自己的請(qǐng)求信息。每發(fā)送一次尋根請(qǐng)求報(bào)文就進(jìn)行發(fā)送次數(shù)累計(jì),下一次尋根請(qǐng)求發(fā)送就將這個(gè)累計(jì)的發(fā)送次數(shù)填入GTDP報(bào)文的“發(fā)送尋根次數(shù)”字段;發(fā)送完N次后,將自身的狀態(tài)位——“尋根請(qǐng)求完成狀態(tài)”置位,表示自己已經(jīng)發(fā)送完成N次尋根請(qǐng)求信息。
(2)尋根應(yīng)答對(duì)來自下聯(lián)設(shè)備的尋根請(qǐng)求發(fā)送尋根應(yīng)答當(dāng)網(wǎng)絡(luò)設(shè)備只有收到來自其下聯(lián)設(shè)備的尋根廣播后,才對(duì)請(qǐng)求設(shè)備發(fā)送點(diǎn)對(duì)點(diǎn)的應(yīng)答信息,目的是將自己的信息以及自己收集的所有上聯(lián)設(shè)備信息應(yīng)答給發(fā)送請(qǐng)求的這個(gè)下聯(lián)設(shè)備;而設(shè)備在對(duì)下聯(lián)設(shè)備進(jìn)行尋根應(yīng)答的同時(shí),也會(huì)收到來自上聯(lián)設(shè)備對(duì)自己尋根請(qǐng)求的應(yīng)答,從而,使得其下聯(lián)設(shè)備可以得到自己所有上聯(lián)設(shè)備的信息。
(a)、尋根應(yīng)答的接收下聯(lián)設(shè)備接收其上聯(lián)設(shè)備發(fā)送的尋根應(yīng)答,并進(jìn)行解析,在設(shè)備內(nèi)生成自己的“上聯(lián)設(shè)備信息表”。
每臺(tái)設(shè)備有一個(gè)“上聯(lián)設(shè)備信息表”,設(shè)備每收到一個(gè)上聯(lián)設(shè)備對(duì)自己的尋根應(yīng)答報(bào)文,就進(jìn)行逐層的報(bào)文解析,將GTDP報(bào)文“數(shù)據(jù)區(qū)”中記錄的這個(gè)上聯(lián)設(shè)備、這個(gè)上聯(lián)設(shè)備的屬性特征和這個(gè)上聯(lián)設(shè)備的各個(gè)上聯(lián)設(shè)備都記錄下來,做為一條表項(xiàng)。
(b)、尋根應(yīng)答的發(fā)送當(dāng)上聯(lián)設(shè)備收到其下聯(lián)設(shè)備發(fā)送的尋根請(qǐng)求后,根據(jù)其自己的“上聯(lián)設(shè)備信息表”發(fā)送尋根應(yīng)答。
各個(gè)設(shè)備在接收的同時(shí)也會(huì)對(duì)來自下聯(lián)的請(qǐng)求進(jìn)行尋根應(yīng)答。應(yīng)答信息就是根據(jù)“上聯(lián)設(shè)備信息表”中的信息記錄來填充。
應(yīng)答具體操作如下每臺(tái)設(shè)備都會(huì)收到來自上聯(lián)和下聯(lián)的尋根請(qǐng)求廣播,但尋根請(qǐng)求的目的是對(duì)上聯(lián)設(shè)備的發(fā)現(xiàn),因此設(shè)備只需對(duì)從下聯(lián)口處接收到的尋根請(qǐng)求進(jìn)行應(yīng)答。
設(shè)備每收到一個(gè)來自下聯(lián)的尋根請(qǐng)求,便對(duì)發(fā)送尋根請(qǐng)求的設(shè)備回應(yīng)一個(gè)尋根應(yīng)答報(bào)文;在應(yīng)答報(bào)文的GTDP數(shù)據(jù)信息中,依次填入如下信息a.GTDP報(bào)文首部中“源設(shè)備狀態(tài)”字段,如果自己是“代理設(shè)備”,此位置1;否則置0;b.本設(shè)備的標(biāo)識(shí)信息;c.本設(shè)備的屬性特征(即是否為“代理設(shè)備”);d.本設(shè)備“上聯(lián)設(shè)備信息表”記錄的各個(gè)應(yīng)答上聯(lián)設(shè)備標(biāo)識(shí),即將自己此時(shí)收集到的各個(gè)應(yīng)答上聯(lián)設(shè)備信息連同自身信息一起應(yīng)答給了下聯(lián)的請(qǐng)求設(shè)備.
各個(gè)設(shè)備通過對(duì)應(yīng)答信息的接收和解析,它們的“上聯(lián)設(shè)備信息表”中就可以完備的記錄下自己所在鏈路中的每臺(tái)上聯(lián)設(shè)備和這個(gè)上聯(lián)設(shè)備的所有上聯(lián)設(shè)備。
(3)在設(shè)備收到來自上聯(lián)設(shè)備的尋根應(yīng)答后,即發(fā)送尋根應(yīng)答確認(rèn)。
在設(shè)備收到來自上聯(lián)的尋根應(yīng)答后,即回應(yīng)此信息,目的是通知上聯(lián)設(shè)備尋根應(yīng)答信息已被收到。
在信息交互環(huán)節(jié)中,通過設(shè)備間“請(qǐng)求”→“應(yīng)答”→“確認(rèn)應(yīng)答”幾次信息的交互,每臺(tái)設(shè)備的“上聯(lián)設(shè)備信息表”就記錄完備了計(jì)算鏈路所需的上行鏈路所有信息。
第四步各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,比較計(jì)算得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”。
第五步由“代理設(shè)備”對(duì)這些計(jì)算結(jié)果進(jìn)行接收記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu)。
第六步重復(fù)執(zhí)行第三步~第五步,定期進(jìn)行拓?fù)涞木S護(hù)及故障處理。
綜上所述可知,本發(fā)明在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成過程中,“管理域”中的每臺(tái)設(shè)備都主動(dòng)發(fā)現(xiàn)、計(jì)算其父設(shè)備和代理設(shè)備,并將信息報(bào)告給“管理域”中的“代理設(shè)備”,由“代理設(shè)備”生成該“管理域”的拓?fù)浣Y(jié)構(gòu)?!胺谴碓O(shè)備”只進(jìn)行信息的收集和計(jì)算,而“代理設(shè)備”才進(jìn)行信息的收集、整理和拓?fù)浣Y(jié)構(gòu)的生成,平均了各個(gè)設(shè)備的負(fù)荷,使得拓?fù)渖蛇^程中,設(shè)備間握手次數(shù)和報(bào)文傳遞大大的減少,提高了拓?fù)浣Y(jié)構(gòu)生成的效率,減輕了網(wǎng)絡(luò)負(fù)荷,所以,本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)生成方法快速、及時(shí)、有效。
本發(fā)明在完成首次拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn)后,即轉(zhuǎn)入拓?fù)涞木S護(hù)和故障處理過程,對(duì)首次發(fā)現(xiàn)中的錯(cuò)誤進(jìn)行糾正,并且動(dòng)態(tài)地對(duì)拓?fù)渥兓M(jìn)行更新,動(dòng)態(tài)的維護(hù)一個(gè)穩(wěn)定的拓?fù)浣Y(jié)構(gòu),使生成的拓?fù)浣Y(jié)構(gòu)更準(zhǔn)確。從而,解決了在大規(guī)模網(wǎng)絡(luò)設(shè)備管理中,對(duì)設(shè)備拓?fù)浣Y(jié)構(gòu)進(jìn)行發(fā)現(xiàn)并及時(shí)維護(hù)的問題。
另外,本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)生成方法可以架構(gòu)于任何標(biāo)準(zhǔn)OSI模型的數(shù)據(jù)鏈路層之上進(jìn)行數(shù)據(jù)傳輸,由此可以不限定特定的數(shù)據(jù)鏈路層,即只要有數(shù)據(jù)鏈路支持,就可以進(jìn)行網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)。這對(duì)于在網(wǎng)絡(luò)通信設(shè)備組成的網(wǎng)絡(luò)中有較大的優(yōu)勢(shì),由于不依賴網(wǎng)絡(luò)層的支持,即可以在網(wǎng)絡(luò)通信設(shè)備沒有配置有效IP的情況下進(jìn)行拓?fù)浒l(fā)現(xiàn),這樣對(duì)于IP資源匱乏的運(yùn)營商來說可以節(jié)省大量的有效IP地址。
權(quán)利要求
1.一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,該方法包括以下步驟第一步將所要管理的網(wǎng)絡(luò)設(shè)備連接成樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”,作為拓?fù)浣Y(jié)構(gòu)生成對(duì)象;第二步在這個(gè)“管理域”中,將處于這個(gè)樹狀網(wǎng)絡(luò)最上層的一臺(tái)設(shè)備指定為“代理設(shè)備”;第三步使“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,從而,使每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”;第四步各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,比較計(jì)算得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”;第五步由“代理設(shè)備”對(duì)域內(nèi)各設(shè)備計(jì)算結(jié)果進(jìn)行記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu);第六步重復(fù)執(zhí)行第三步~第五步,定期進(jìn)行拓?fù)浣Y(jié)構(gòu)的維護(hù)及故障處理。
2.根據(jù)權(quán)利要求1所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述第三步“管理域”內(nèi)的各個(gè)設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”又由以下步驟完成(1)管理域中的每臺(tái)設(shè)備每隔一定間隔發(fā)送一次尋根請(qǐng)求(2)管理域內(nèi)的設(shè)備對(duì)其下聯(lián)設(shè)備的尋根請(qǐng)求發(fā)送尋根應(yīng)答(a)、尋根應(yīng)答的接收下聯(lián)設(shè)備接收其上聯(lián)設(shè)備發(fā)送的尋根應(yīng)答,并進(jìn)行解析,在設(shè)備內(nèi)生成自己的“上聯(lián)設(shè)備信息表”。該表中包括
(b)、尋根應(yīng)答的發(fā)送當(dāng)上聯(lián)設(shè)備收到其下聯(lián)設(shè)備發(fā)送的尋根請(qǐng)求后,根據(jù)其自己的“上聯(lián)設(shè)備信息表”發(fā)送尋根應(yīng)答(3)在設(shè)備收到來自上聯(lián)設(shè)備的尋根應(yīng)答后,即發(fā)送尋根應(yīng)答確認(rèn)。
3.根據(jù)權(quán)利要求2所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述尋根應(yīng)答信息中,包括以下信息a.本設(shè)備的標(biāo)識(shí)信息;b.本設(shè)備的屬性特征(即是否為“代理設(shè)備”);c.本設(shè)備“上聯(lián)設(shè)備信息表”記錄的各個(gè)應(yīng)答上聯(lián)設(shè)備標(biāo)識(shí),即本設(shè)備此時(shí)收集到的各個(gè)應(yīng)答上聯(lián)設(shè)備信息。
4.根據(jù)權(quán)利要求3所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述第四步中的鏈路計(jì)算方法是將“上聯(lián)設(shè)備信息表”中的各條記錄進(jìn)行比較,選擇各記錄中“上聯(lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”最多的一條記錄;因?yàn)槿绻擞涗浿小吧下?lián)設(shè)備的上聯(lián)設(shè)備個(gè)數(shù)”個(gè)數(shù)最多,說明記錄中的這個(gè)上聯(lián)設(shè)備到頂級(jí)“代理設(shè)備”的路徑最長,也就說明這個(gè)上聯(lián)設(shè)備是在本鏈路中離自己最“近”的一個(gè)上聯(lián),則這個(gè)上聯(lián)設(shè)備即為自身的父設(shè)備。
5.根據(jù)權(quán)利要求4所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述第五步中由“代理設(shè)備”對(duì)這些計(jì)算結(jié)果進(jìn)行接收記錄,然后將收集到的信息進(jìn)行整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu)由以下步驟完成(1)、由“代理設(shè)備”收集其下的所有設(shè)備發(fā)送的父子信息,生成“父子關(guān)系表”該“父子關(guān)系表”包括
(2)“代理設(shè)備”根據(jù)網(wǎng)絡(luò)管理員的指令,依據(jù)其“父子關(guān)系表”生成該“管理域”的拓?fù)浣Y(jié)構(gòu)(a)、查找“代理設(shè)備”的所有一級(jí)子設(shè)備(b)、查找“代理設(shè)備”的各個(gè)一級(jí)子設(shè)備的子設(shè)備(c)、逐級(jí)類推,最終查找出“代理設(shè)備”各級(jí)子設(shè)備的子設(shè)備,生成此“代理設(shè)備”下的網(wǎng)絡(luò)設(shè)備的樹狀拓?fù)浣Y(jié)構(gòu)。
6.根據(jù)權(quán)利要求1或2或3所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述“管理域”內(nèi)各個(gè)設(shè)備之間所交互的信息,即“管理域”內(nèi)每臺(tái)設(shè)備所發(fā)送、接收的信息如發(fā)送尋根請(qǐng)求、進(jìn)行尋根請(qǐng)求應(yīng)答、發(fā)送尋根請(qǐng)求應(yīng)答確認(rèn)和進(jìn)行父子關(guān)系信息報(bào)告都是先按照GNMP協(xié)議格式、GNAP協(xié)議格式和GTDP協(xié)議格式進(jìn)行填充的完整GNMP報(bào)文;然后,將其構(gòu)架于數(shù)據(jù)鏈路層之上進(jìn)行數(shù)據(jù)通信;同時(shí),每臺(tái)設(shè)備對(duì)其接收到的報(bào)文也按照GNMP協(xié)議格式、GNAP協(xié)議格式和GTDP協(xié)議格式進(jìn)行解析,完成設(shè)備間的信息交互。
7.根據(jù)權(quán)利要求6所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述GNMP協(xié)議是一組自定義的網(wǎng)絡(luò)管理協(xié)議族,此協(xié)議為一個(gè)三層協(xié)議系統(tǒng),是一組分布在網(wǎng)絡(luò)層、傳輸層和應(yīng)用層的多個(gè)協(xié)議的組合;它直接架構(gòu)在OSI模型中的數(shù)據(jù)鏈路層之上或架構(gòu)在其它協(xié)議層之上;GNAP協(xié)議是GNMP協(xié)議的一個(gè)簡單應(yīng)用協(xié)議,為傳輸層協(xié)議;GTDP協(xié)議是基于GNAP協(xié)議的設(shè)備拓?fù)渥詣?dòng)發(fā)現(xiàn)協(xié)議,為應(yīng)用層協(xié)議;所述GNMP協(xié)議報(bào)文格式為
其中版本4bit,協(xié)議版本,定義不同的報(bào)文格式,長度12bit,整個(gè)報(bào)文長度;保留8bit,保留;保留8bit,保留;狀態(tài)8bit,標(biāo)識(shí)設(shè)備狀態(tài);保留8bit,保留;保留8bit,保留;類型8bit,協(xié)議報(bào)文類型,定義了0x07為GTDP報(bào)文保留8bit,保留;目的ID24bit,目的設(shè)備標(biāo)識(shí);源ID24bit,源設(shè)備標(biāo)識(shí);保留8bit,保留;數(shù)據(jù)208~11840bit,填充GNAP首部及其數(shù)據(jù)區(qū)部分;填充碼16bit,填充碼,必須是0x00;校驗(yàn)計(jì)數(shù)16bit,整個(gè)報(bào)文數(shù)據(jù)的16位累加和。所述GNAP協(xié)議報(bào)文格式
其中目的操作碼16bit,目標(biāo)操作碼;源操作碼16bit,源操作碼;狀態(tài)16bit,狀態(tài);保留16bit,保留;目標(biāo)系列號(hào)16bit,目標(biāo)系列號(hào);源系列號(hào)SN16bit,源系列號(hào);數(shù)據(jù)數(shù)據(jù),長度可變,填充GTDP協(xié)議不同報(bào)文的首部和數(shù)據(jù)區(qū)。GTDP協(xié)議是基于GNAP協(xié)議的設(shè)備拓?fù)渥詣?dòng)發(fā)現(xiàn)協(xié)議,為應(yīng)用層協(xié)議,GNAP協(xié)議的目的操作碼用于標(biāo)識(shí)區(qū)分GTDP協(xié)議中不同的操作報(bào)文類型,GTDP中不同的操作報(bào)文標(biāo)識(shí)如下
所述GTDP報(bào)文格式
其中保留8bit,保留;源設(shè)備狀態(tài)8bit,源設(shè)備的狀態(tài),“1”表示是代理;源ID24bit,源設(shè)備的標(biāo)識(shí);源Mac首字段32bit,源設(shè)備Mac地址的前4個(gè)Byte;源Mac尾字段16bit,源設(shè)備Mac地址的后2個(gè)Byte;源IP32bit,源設(shè)備的IP地址;源S/N152bit,源設(shè)備S/N;發(fā)送尋根次數(shù)8bit,發(fā)送尋根的次數(shù);連接端口8bit,在發(fā)送尋根應(yīng)答報(bào)文時(shí)有效,表示所在上連設(shè)備的端口號(hào);代理設(shè)備ID24bit,代理設(shè)備的標(biāo)識(shí);代理設(shè)備狀態(tài)8bit,所屬域代理設(shè)備的狀態(tài);代理Mac首字段32bit,根設(shè)備Mac地址的前4個(gè)Byte;代理Mac尾字段16bit,根設(shè)備Mac地址的后2個(gè)Byte;代理IP32bit,根設(shè)備的IP地址;第一數(shù)據(jù)區(qū)長度8bit,第一塊數(shù)據(jù)區(qū)的長度,長度以字節(jié)數(shù)記;第二數(shù)據(jù)區(qū)長度8bit,保留;本身的層次8bit,保留;本拓?fù)渥畲髮訑?shù)8bit,保留;第一個(gè)ID24bit,保留;數(shù)值8bit,保留;設(shè)備ID24bit,保留;數(shù)據(jù)填充數(shù)據(jù),長度可變,根據(jù)GTDP不同的報(bào)文包含不同長度的數(shù)據(jù);不同報(bào)文所對(duì)應(yīng)的數(shù)據(jù)區(qū)內(nèi)容為
所述GNAP協(xié)議和GTDP協(xié)議數(shù)據(jù)均以GNMP數(shù)據(jù)包格式進(jìn)行傳輸。
8.根據(jù)權(quán)利要求7所述的一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,其特征在于所述“管理域”內(nèi)的每臺(tái)設(shè)備所發(fā)送、接收的信息都是按照GTDP協(xié)議報(bào)文、GNAP報(bào)文和GNMP報(bào)文的順序進(jìn)行填充,具體步驟如下(1)填充GTDP報(bào)文根據(jù)發(fā)送報(bào)文的類型將需要發(fā)送的數(shù)據(jù)信息填入所述GTDP協(xié)議報(bào)文的“數(shù)據(jù)區(qū)”,然后,封裝GTDP協(xié)議報(bào)文的首部信息,組成符合GTDP協(xié)議的應(yīng)用數(shù)據(jù);(2)填充GNAP報(bào)文首部將填寫好的應(yīng)用數(shù)據(jù)填寫到GNAP協(xié)議報(bào)文的“數(shù)據(jù)區(qū)”中,然后根據(jù)發(fā)送報(bào)文的類型,填充GNAP報(bào)文首部,組成符合GNAP協(xié)議的傳輸數(shù)據(jù);(3)填充GNMP報(bào)文首部將填充好GNAP報(bào)文首部信息的報(bào)文嵌入到GNMP協(xié)議報(bào)文的“數(shù)據(jù)區(qū)”中,然后根據(jù)GNMP協(xié)議中的定義填寫GNMP報(bào)文的其它數(shù)據(jù)信息。
全文摘要
本發(fā)明公開了一種快速生成網(wǎng)絡(luò)設(shè)備樹狀拓?fù)浣Y(jié)構(gòu)的方法,該方法包括以下步驟1.將所要管理的網(wǎng)絡(luò)設(shè)備連接成樹狀網(wǎng)絡(luò)結(jié)構(gòu),并將其認(rèn)為是一個(gè)“管理域”;2.將“管理域”內(nèi)最上層的一臺(tái)設(shè)備指定為“代理設(shè)備”;3.“管理域”內(nèi)的各設(shè)備之間進(jìn)行信息交互,收集自己上層鏈路設(shè)備的信息,使每臺(tái)設(shè)備建立完成自己的“上聯(lián)設(shè)備信息表”;4.各個(gè)設(shè)備根據(jù)自己的“上聯(lián)設(shè)備信息表”進(jìn)行鏈路計(jì)算,得出自己的父設(shè)備和代理設(shè)備,并將計(jì)算結(jié)果發(fā)送給“代理設(shè)備”;5.由“代理設(shè)備”對(duì)域內(nèi)各設(shè)備的計(jì)算結(jié)果進(jìn)行記錄和信息整合,生成整個(gè)“管理域”內(nèi)設(shè)備的拓?fù)浣Y(jié)構(gòu);6.重復(fù)執(zhí)行第3~第5步,定期進(jìn)行拓?fù)浣Y(jié)構(gòu)的維護(hù)及故障處理。
文檔編號(hào)H04L12/44GK1885811SQ20051007735
公開日2006年12月27日 申請(qǐng)日期2005年6月22日 優(yōu)先權(quán)日2005年6月22日
發(fā)明者王曉朋, 陶英, 陳大鵬, 邵君, 曾劼 申請(qǐng)人:中國長城計(jì)算機(jī)深圳股份有限公司