專利名稱:彈性分組多環(huán)互連網(wǎng)絡(luò)自動(dòng)拓?fù)浒l(fā)現(xiàn)的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及彈性分組多環(huán)互連網(wǎng)絡(luò)自動(dòng)拓?fù)浒l(fā)現(xiàn)的實(shí)現(xiàn)方法,用于在多環(huán)互連的彈性分組環(huán)網(wǎng)絡(luò)中實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)和鏈路狀態(tài)等拓?fù)湫畔⒌淖詣?dòng)發(fā)現(xiàn),屬于通信與信息系統(tǒng)網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域。
背景技術(shù):
目前,以IP為基礎(chǔ)的因特網(wǎng)的迅速發(fā)展使得通信網(wǎng)絡(luò)正逐漸由基于電路交換,優(yōu)化承載話音業(yè)務(wù)的方式向基于分組交換,優(yōu)化承載數(shù)據(jù)業(yè)務(wù)的方式發(fā)展。傳統(tǒng)的電信運(yùn)營(yíng)商開(kāi)始在城域范圍內(nèi)(10~100公里)將原來(lái)的局間中繼網(wǎng)升級(jí)為多業(yè)務(wù)供應(yīng)平臺(tái),對(duì)以傳送話音業(yè)務(wù)為主的SDH/TDM(同步數(shù)字系列/時(shí)分復(fù)用)傳送網(wǎng)做了較大的改進(jìn)以適應(yīng)指數(shù)增長(zhǎng)的數(shù)據(jù)和視頻業(yè)務(wù)的需求,而許多不同背景的新興運(yùn)營(yíng)公司則沒(méi)有先期投資的顧慮,利用各種新的先進(jìn)技術(shù)直接組建區(qū)域型IP寬帶通信網(wǎng)。傳統(tǒng)的“干線網(wǎng)+本地網(wǎng)”正在演變?yōu)椤昂诵木W(wǎng)+接入網(wǎng)”的結(jié)構(gòu),其中核心網(wǎng)由骨干網(wǎng)和城域網(wǎng)構(gòu)成,其職責(zé)是傳送各種服務(wù)質(zhì)量的大量信息流,就其性質(zhì)而言是屬于傳送網(wǎng)的范疇。
相對(duì)于骨干網(wǎng)來(lái)說(shuō),城域網(wǎng)有其自身的特點(diǎn)。它面向企事業(yè)用戶和居民小區(qū)用戶,需要支持多種協(xié)議和速率的客戶層信號(hào),連接不同方式的接入設(shè)備,最大可覆蓋城市及其郊區(qū)范圍。城域網(wǎng)應(yīng)該具有很強(qiáng)的帶寬管理功能,為不同帶寬和時(shí)延要求的業(yè)務(wù)迅速、高效地提供所需傳輸帶寬。隨著骨干網(wǎng)、接入網(wǎng)容量的大幅度提升,帶寬和距離的矛盾越來(lái)越明顯地集中于幾十公里的數(shù)量級(jí),因此如何合理、科學(xué)地配置城域網(wǎng)的拓?fù)浣Y(jié)構(gòu)、簡(jiǎn)化通信協(xié)議棧的層次結(jié)構(gòu),從而經(jīng)濟(jì)有效地提高城域網(wǎng)傳送性能已成為社會(huì)和業(yè)界關(guān)注的熱點(diǎn)和競(jìng)爭(zhēng)點(diǎn)。
市場(chǎng)的需求推動(dòng)人們?nèi)パ芯?、尋找新的技術(shù)。SDH和ATM(異步轉(zhuǎn)移模式)技術(shù)成功地應(yīng)用于城域網(wǎng),但是其技術(shù)復(fù)雜、價(jià)格昂貴;以太網(wǎng)技術(shù)在局域網(wǎng)中得到了廣泛應(yīng)用,走的是低價(jià)、簡(jiǎn)單的技術(shù)路線,但是缺乏有效的QoS(服務(wù)質(zhì)量)、網(wǎng)絡(luò)恢復(fù)與保護(hù)和網(wǎng)管機(jī)制,不能滿足城域網(wǎng)的可靠性和擴(kuò)展性方面的要求。人們于是很自然地想到了在城域范圍內(nèi)構(gòu)建新的環(huán)形拓?fù)浣Y(jié)構(gòu),通過(guò)傳輸類似以太網(wǎng)結(jié)構(gòu)的分組來(lái)提供各種增強(qiáng)型業(yè)務(wù),在不降低網(wǎng)絡(luò)性能和可靠性的前提下提供更加經(jīng)濟(jì)的WAN/MAN(廣域網(wǎng)/城域網(wǎng))解決方案。彈性分組環(huán)(Relisient Packet Ring,RPR)技術(shù)正是在這一背景下提出的,很快受到了多個(gè)國(guó)際化標(biāo)準(zhǔn)組織、研究機(jī)構(gòu)和網(wǎng)絡(luò)設(shè)備廠商的重視。
目前基于RPR環(huán)網(wǎng)協(xié)議的標(biāo)準(zhǔn)化目標(biāo)的大致輪廓已經(jīng)形成,各界已就靈活性、可靠性、兼容性和可擴(kuò)展性幾個(gè)方面的問(wèn)題達(dá)成共識(shí)。
RPR的媒質(zhì)接入控制(MAC)層應(yīng)該能無(wú)縫地嵌入IEEE802工程協(xié)議棧中,對(duì)下支持802.3和SONET/SDH(同步光網(wǎng)絡(luò))物理層,對(duì)上支持802.1高層和互操作規(guī)范,并能與802.3 MAC層互相兼容。盡管RPR技術(shù)采用了較多的新機(jī)制提高環(huán)網(wǎng)的資源利用效率,但是單個(gè)環(huán)的架構(gòu)在一定程度上會(huì)造成帶寬的浪費(fèi),資源利用效率不高。因此,國(guó)際上目前正在積極研究RPR多環(huán)互連技術(shù),通過(guò)減小RPR環(huán)網(wǎng)的規(guī)模,把多個(gè)較小規(guī)模的RPR環(huán)網(wǎng)互連起來(lái)構(gòu)成多環(huán)傳輸網(wǎng)絡(luò),可以充分利用網(wǎng)絡(luò)資源,拓展RPR技術(shù)的使用范圍。例如容量10G,二十個(gè)節(jié)點(diǎn)的純環(huán)網(wǎng)結(jié)構(gòu)每個(gè)節(jié)點(diǎn)分配的容量?jī)H0.5G,若采用容量為10G的兩個(gè)彈性分組環(huán)網(wǎng)互連,且每個(gè)環(huán)網(wǎng)中各分布十個(gè)節(jié)點(diǎn),那么每個(gè)節(jié)點(diǎn)分配的容量為10G/10=1G。顯然,相對(duì)于單個(gè)環(huán)網(wǎng),節(jié)點(diǎn)的平均分配容量增加了一倍,采用多環(huán)互連結(jié)構(gòu)還可以把彈性分組環(huán)技術(shù)的應(yīng)用范圍從城域拓展到廣域。
在RPR多環(huán)互連網(wǎng)絡(luò)中,自動(dòng)拓?fù)浒l(fā)現(xiàn)算法是待于深入研究的重要技術(shù)內(nèi)容之一,通過(guò)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)能夠詳細(xì)掌握網(wǎng)絡(luò)的拓?fù)鋱D和每條鏈路的狀態(tài)。從而使得網(wǎng)絡(luò)初始化配置變得極其簡(jiǎn)單,并避免了手工配置帶來(lái)的錯(cuò)誤。為了兼容RPR技術(shù)的分布式自動(dòng)控制特性,吸收RPR單環(huán)技術(shù)中自動(dòng)拓?fù)浒l(fā)現(xiàn)算法的優(yōu)點(diǎn),在RPR多環(huán)互連網(wǎng)絡(luò)中怎樣有效實(shí)現(xiàn)RPR多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法將是目前研究的核心內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提出一種彈性分組多環(huán)互連網(wǎng)絡(luò)自動(dòng)拓?fù)浒l(fā)現(xiàn)的實(shí)現(xiàn)方法,通過(guò)減小彈性分組環(huán)網(wǎng)的規(guī)模,把多個(gè)較小規(guī)模的彈性分組環(huán)網(wǎng)互連起來(lái)構(gòu)成彈性分組環(huán)多環(huán)傳輸網(wǎng)絡(luò),以更充分地利用網(wǎng)絡(luò)資源,解決網(wǎng)絡(luò)拓?fù)涞穆酚尚畔⒆詣?dòng)發(fā)現(xiàn)和網(wǎng)絡(luò)自動(dòng)控制的問(wèn)題,為多環(huán)互連的具體實(shí)現(xiàn)提供強(qiáng)有力的技術(shù)支撐。
為了實(shí)現(xiàn)這樣的目的,本發(fā)明首先將標(biāo)準(zhǔn)化的彈性分組環(huán)(RPR)單環(huán)網(wǎng)絡(luò)(以下稱RPR子網(wǎng))的媒質(zhì)介入控制(MAC)地址表示方法作了擴(kuò)展定義,擴(kuò)展定義后仍然兼容單環(huán)網(wǎng)絡(luò)的MAC地址識(shí)別,這樣就為RPR多環(huán)互連網(wǎng)絡(luò)的自動(dòng)拓?fù)浒l(fā)現(xiàn)提供了實(shí)現(xiàn)依據(jù)。其次是構(gòu)建樹(shù)狀鏈接的雙向鏈表,主要是為了存儲(chǔ)RPR-X節(jié)點(diǎn)和RPR-S節(jié)點(diǎn)的信息,同時(shí)保存第2層(Layer 2)路由時(shí)的相關(guān)數(shù)據(jù)。其中RPR-X節(jié)點(diǎn)為兩個(gè)RPR子網(wǎng)間的交叉連接節(jié)點(diǎn),除了支持標(biāo)準(zhǔn)的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點(diǎn)為RPR的標(biāo)準(zhǔn)節(jié)點(diǎn),只支持RPR子網(wǎng)傳輸。然后構(gòu)建拓?fù)湫畔⒈韱卧Y(jié)構(gòu),它主要存儲(chǔ)每個(gè)子網(wǎng)的拓?fù)湫畔?。拓?fù)湫畔⒈碇械拿恳恍袨橐粋€(gè)單元結(jié)構(gòu),存放一個(gè)MAC地址和該MAC的屬性信息。樹(shù)狀鏈接雙向鏈表結(jié)合簡(jiǎn)單的拓?fù)湫畔⒈砜梢园讶W(wǎng)的拓?fù)湫畔⒂成涞奖镜氐耐負(fù)鋱D中,同時(shí)該數(shù)據(jù)結(jié)構(gòu)能夠?yàn)橥瓿傻诙勇酚捎?jì)算提供信息,實(shí)現(xiàn)RPR多環(huán)互連網(wǎng)絡(luò)中的Layer 2路由計(jì)算。最后根據(jù)構(gòu)建的樹(shù)狀鏈接雙向鏈表和拓?fù)湫畔⒈恚詮椥苑纸M環(huán)多環(huán)交叉互連節(jié)點(diǎn)(RPR-X節(jié)點(diǎn))為核心,由RPR-X節(jié)點(diǎn)以順時(shí)針?lè)较蚍謱哟蜗蚓W(wǎng)絡(luò)中的其它RPR-X節(jié)點(diǎn)查詢跨環(huán)拓?fù)湫畔?,最終完成全網(wǎng)的拓?fù)湫畔l(fā)現(xiàn)。
本發(fā)明的這四個(gè)步驟的具體定義、操作和解釋如下1.RPR單環(huán)網(wǎng)絡(luò)MAC地址的擴(kuò)展定義RPR子網(wǎng)最多只包含255個(gè)節(jié)點(diǎn),節(jié)點(diǎn)用一個(gè)字節(jié)就可以表示其地址(目前一些商用的非標(biāo)準(zhǔn)化RPR產(chǎn)品就是采用這種單字節(jié)方式)。本發(fā)明將標(biāo)準(zhǔn)的MAC地址(長(zhǎng)度為6字節(jié))的最高字節(jié)作了擴(kuò)展定義,剩余的5個(gè)字節(jié)在邏輯上被區(qū)分為2部分。最低字節(jié)為邏輯域0,用來(lái)表示RPR子網(wǎng)中的節(jié)點(diǎn)地址。剩余的4字節(jié)為邏輯域1,用來(lái)表示節(jié)點(diǎn)所處的RPR子網(wǎng)的網(wǎng)絡(luò)地址,最多可以表示232-1個(gè)子網(wǎng)地址,足夠保證RPR的多環(huán)互連使用。雖然6字節(jié)的MAC地址被區(qū)分成兩部分,但這僅僅是邏輯上的區(qū)分,對(duì)于實(shí)際的RPR網(wǎng)絡(luò)并沒(méi)有影響,在鋪設(shè)RPR多環(huán)互連網(wǎng)絡(luò)時(shí),同一個(gè)RPR子網(wǎng)中的節(jié)點(diǎn),其MAC地址域?qū)?yīng)于網(wǎng)絡(luò)地址部分的4個(gè)字節(jié)必須采用相同的值,節(jié)點(diǎn)的區(qū)分在于MAC地址的最低字節(jié)(節(jié)點(diǎn)地址域)。對(duì)于不同的RPR子網(wǎng),相互之間的MAC地址對(duì)應(yīng)于網(wǎng)絡(luò)地址部分的4字節(jié)必須采用不同的值,以區(qū)分不同的RPR子網(wǎng)。也就是說(shuō)網(wǎng)絡(luò)地址域區(qū)分不同的RPR子網(wǎng),節(jié)點(diǎn)地址域區(qū)分同一RPR子網(wǎng)中的不同節(jié)點(diǎn),網(wǎng)絡(luò)地址加上節(jié)點(diǎn)地址組成的MAC地址,可以唯一確定RPR多環(huán)互連網(wǎng)絡(luò)中的任何一個(gè)節(jié)點(diǎn)。
2.構(gòu)建樹(shù)狀鏈接的雙向鏈表樹(shù)狀鏈接的雙向鏈表主要存儲(chǔ)RPR-X節(jié)點(diǎn)和RPR-S節(jié)點(diǎn)的信息,同時(shí)保存第2層(Layer 2)路由時(shí)的相關(guān)數(shù)據(jù)。RPR-X節(jié)點(diǎn)為兩個(gè)RPR子網(wǎng)間的交叉連接節(jié)點(diǎn),除了支持標(biāo)準(zhǔn)的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點(diǎn)為RPR的標(biāo)準(zhǔn)節(jié)點(diǎn),只支持RPR子網(wǎng)傳輸。樹(shù)狀鏈接的雙向鏈表由以下結(jié)構(gòu)單元組成·“邏輯層”保存本MAC所屬的RPR子網(wǎng)在多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)時(shí)屬于第幾層的RPR子網(wǎng)。其值為1時(shí)表示是根節(jié)點(diǎn),即多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法的執(zhí)行節(jié)點(diǎn)。
·“當(dāng)前節(jié)點(diǎn)地址+當(dāng)前網(wǎng)絡(luò)地址”一起組成5字節(jié)長(zhǎng)度的當(dāng)前MAC地址,以唯一識(shí)別RPR多環(huán)互連網(wǎng)絡(luò)中的任何一個(gè)節(jié)點(diǎn);·“當(dāng)前節(jié)點(diǎn)MAC屬性”保存當(dāng)前RPR節(jié)點(diǎn)的MAC屬性;·“交叉連接節(jié)點(diǎn)MAC屬性”保存交叉連接節(jié)點(diǎn)的MAC屬性。
·“交叉連接節(jié)點(diǎn)MAC地址+交叉連接節(jié)點(diǎn)網(wǎng)絡(luò)地址”一起組成5字節(jié)長(zhǎng)度的MAC地址,以唯一識(shí)別RPR多環(huán)互連網(wǎng)絡(luò)中的任何交叉連接節(jié)點(diǎn)的MAC;·“前置MAC地址+前置網(wǎng)絡(luò)地址”保存了距離當(dāng)前MAC地址最近的RPR-X節(jié)點(diǎn)的5字節(jié)長(zhǎng)度MAC地址。當(dāng)邏輯層為1時(shí),前置MAC地址設(shè)定為-1,前置網(wǎng)絡(luò)地址設(shè)定為0(表示不存在前置節(jié)點(diǎn));當(dāng)邏輯層為2時(shí),“前置MAC地址+前置網(wǎng)絡(luò)地址”的值為根節(jié)點(diǎn)MAC地址。
·“當(dāng)前環(huán)上的MAC地址數(shù)”保存當(dāng)前MAC地址所在的RPR子網(wǎng)上的節(jié)點(diǎn)數(shù)目。
·“當(dāng)前地址表中的MAC地址總數(shù)”保存當(dāng)前MAC地址所在的RPR子網(wǎng)在自動(dòng)拓?fù)浒l(fā)現(xiàn)時(shí)所有的MAC數(shù)。RPR-X節(jié)點(diǎn)在完成標(biāo)準(zhǔn)的本地子網(wǎng)自動(dòng)拓?fù)浒l(fā)現(xiàn)時(shí),如果檢測(cè)到本地子網(wǎng)自動(dòng)拓?fù)浒l(fā)現(xiàn)的起始節(jié)點(diǎn)也是RPR-X節(jié)點(diǎn),則該RPR-X節(jié)點(diǎn)將把自己的兩個(gè)MAC地址均寫(xiě)入拓?fù)浒l(fā)現(xiàn)幀中,先寫(xiě)當(dāng)前MAC地址,再寫(xiě)交叉連接節(jié)點(diǎn)MAC地址。當(dāng)前地址表中的MAC地址總數(shù)一定不小于當(dāng)前環(huán)上的MAC地址數(shù)。
·“MAC地址表指針”指向完成跨環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)后,樹(shù)狀鏈接雙向鏈表上本單元中“當(dāng)前節(jié)點(diǎn)地址+當(dāng)前網(wǎng)絡(luò)地址”所指定的RPR-X節(jié)點(diǎn)的MAC所在的RPR子網(wǎng)的拓?fù)湫畔⒃诟?jié)點(diǎn)中所存放位置的地址空間。
·“前置地址指針”指向從根節(jié)點(diǎn)到達(dá)雙向鏈表上本單元中當(dāng)前節(jié)點(diǎn)地址所在的RPR-X節(jié)點(diǎn)的前一個(gè)RPR-X在雙向鏈表上的位置。
·next_ptr和prior_ptr是構(gòu)建雙向鏈表用的指針。由next_ptr和prior_ptr構(gòu)建的雙向鏈表之所以稱為樹(shù)狀鏈接,是由于前置地址指針的作用,構(gòu)建了從根節(jié)點(diǎn)到第二層的RPR-X節(jié)點(diǎn)的拓?fù)湫畔?,然后從第二層的RPR-X節(jié)點(diǎn)到第三層的RPR-X節(jié)點(diǎn)的拓?fù)湫畔?,依次類推,直到最外面一層。這一層層的鏈接在數(shù)據(jù)結(jié)構(gòu)中稱之為樹(shù),同時(shí)采用雙向鏈表的結(jié)構(gòu)存放,所以構(gòu)建的RPR-X節(jié)點(diǎn)信息數(shù)據(jù)結(jié)構(gòu)鏈表被稱為樹(shù)狀鏈接雙向鏈表。
3.構(gòu)建拓?fù)湫畔⒈頌榱藢?shí)現(xiàn)RPR多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn),除了能識(shí)別如上所述的網(wǎng)絡(luò)節(jié)點(diǎn)信息外,還需要識(shí)別網(wǎng)絡(luò)拓?fù)湫畔?,本發(fā)明提出的拓?fù)湫畔⒈碇饕鎯?chǔ)每個(gè)子網(wǎng)的拓?fù)湫畔?。拓?fù)湫畔⒈碇械拿恳恍袨橐粋€(gè)該單元結(jié)構(gòu),存放一個(gè)MAC地址和該MAC的屬性信息。拓?fù)湫畔⒈韱卧Y(jié)構(gòu)由以下幾部分組成·“節(jié)點(diǎn)地址(一個(gè)八位位組)+網(wǎng)絡(luò)地址(四個(gè)八位位組)”存放5字節(jié)的MAC地址。
·“節(jié)點(diǎn)屬性”兩字節(jié)長(zhǎng)度,存放節(jié)點(diǎn)的MAC屬性參數(shù)。屬性參數(shù)的定義如下最低位 最高位
其中RX節(jié)點(diǎn)類型標(biāo)記比特。RX=1表示RPR-X節(jié)點(diǎn);RX=0表示RPR-S節(jié)點(diǎn)。
SD節(jié)點(diǎn)中的轉(zhuǎn)發(fā)緩沖區(qū)配置標(biāo)記。SD=1表示采用STQ+PTQ;SD=0表示只有PTQ。
RI節(jié)點(diǎn)MAC所在環(huán)標(biāo)記。RI=0表示外環(huán),RI=1表示內(nèi)環(huán)。由于順時(shí)針多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)特性,決定了RI的值在多環(huán)拓?fù)湫畔⒈碇泻愣?。
WP保護(hù)倒換標(biāo)志位。WP=1表示該節(jié)點(diǎn)處于保護(hù)倒換狀態(tài);WP=0表示該節(jié)點(diǎn)正常。
WC節(jié)點(diǎn)MAC是否可倒換標(biāo)志位。WC=1表示該節(jié)點(diǎn)具有保護(hù)倒換功能;WC=0表示沒(méi)有保護(hù)倒換功能。
FAV表示該節(jié)點(diǎn)使用的公平性算法的版本,數(shù)值為從1-7。
WT表示該節(jié)點(diǎn)MAC的權(quán)重,數(shù)值為從1-7。
REV保留位,可作為WT的擴(kuò)展。
4.獲得整個(gè)網(wǎng)絡(luò)的拓?fù)湫畔⒈懋?dāng)各節(jié)點(diǎn)分別構(gòu)造了本地RPR子網(wǎng)的拓?fù)湫畔⒈砗螅總€(gè)RPR子網(wǎng)即完成了本地子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。由于RPR-X節(jié)點(diǎn)的MAC地址由左右兩部分組成(分屬于兩個(gè)不同的RPR子網(wǎng)),標(biāo)記為左MAC和右MAC,分別保存有各自所屬RPR子網(wǎng)的拓?fù)湫畔?,所以,如果左MAC為當(dāng)前MAC地址,那么交叉連接節(jié)點(diǎn)的MAC就是右MAC,反之也成立。這兩個(gè)MAC之間的通信采用交叉MAC端口進(jìn)行,RPR-X節(jié)點(diǎn)中跨環(huán)轉(zhuǎn)發(fā)的功能就是當(dāng)前MAC通過(guò)交叉MAC端口向交叉連接節(jié)點(diǎn)的MAC轉(zhuǎn)發(fā)跨環(huán)幀的過(guò)程。本地RPR子網(wǎng)拓?fù)湫畔⒃赗PR-X節(jié)點(diǎn)的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法中被命名為第一層子網(wǎng)拓?fù)湫畔?。進(jìn)行多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)的MAC稱為根MAC,該節(jié)點(diǎn)為根節(jié)點(diǎn)。
當(dāng)RPR-X節(jié)點(diǎn)MAC控制層的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)模塊檢測(cè)到本地自動(dòng)拓?fù)浒l(fā)現(xiàn)已完成后,即啟動(dòng)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,具體如下1)初始化多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu),分配多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)存儲(chǔ)空間,把本地RPR子網(wǎng)的拓?fù)湫畔⒁皂槙r(shí)針?lè)较虼嫒攵喹h(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)空間的起始部分。初始化完畢后進(jìn)入第2步。
2)每個(gè)RPR-X節(jié)點(diǎn)開(kāi)始RPR多環(huán)網(wǎng)中第二層子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。這里,第二層子網(wǎng)定義為與第一層子網(wǎng)直接相鄰的RPR子網(wǎng)。根MAC向互連第一、二層RPR子網(wǎng)的RPR-X節(jié)點(diǎn)發(fā)送跨環(huán)拓?fù)湫畔⒉樵兛刂茙⑶乙皂槙r(shí)針?lè)较蛳騌PR-X節(jié)點(diǎn)發(fā)送查詢幀,被查詢的RPR-X節(jié)點(diǎn)的MAC控制層接收到查詢幀后,構(gòu)造跨環(huán)拓?fù)湫畔⒉樵兎答伩刂茙?,把本RPR子網(wǎng)中的拓?fù)湫畔⒁皂槙r(shí)針?lè)较蚪M織后(即RPR子網(wǎng)外環(huán)的拓?fù)湫畔?,組裝到拓?fù)湫畔⒉樵兎答伩刂茙?,發(fā)送回根MAC。根MAC接收到拓?fù)湫畔⒉樵兎答伩刂茙?,從該幀中提取拓?fù)湫畔?。第二層自?dòng)拓?fù)浒l(fā)現(xiàn)完成后,進(jìn)入第3步。
3)每個(gè)RPR-X節(jié)點(diǎn)開(kāi)始RPR多環(huán)網(wǎng)中第三層子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。第三層子網(wǎng)定義為與第二層子網(wǎng)直接相鄰,并且不屬于第一層、第二層子網(wǎng)的RPR子網(wǎng)。第三層子網(wǎng)的拓?fù)浒l(fā)現(xiàn)與第二層子網(wǎng)類似,根MAC采用順時(shí)針?lè)较蛞来伟l(fā)送拓?fù)湫畔⒉樵兛刂茙?,接收到拓?fù)湫畔⒎答伩刂茙?,從該幀中提取拓?fù)湫畔?。第三層自?dòng)拓?fù)浒l(fā)現(xiàn)完成后,進(jìn)入第4步。
4)采用相同的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,自動(dòng)發(fā)現(xiàn)第四層、第五層等拓?fù)湫畔?,直到完成所有RPR子網(wǎng)的拓?fù)湫畔⒌淖詣?dòng)發(fā)現(xiàn)。此時(shí),每個(gè)RPR-X節(jié)點(diǎn)上規(guī)律的保存有整個(gè)RPR多環(huán)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)信息。進(jìn)入第5步。
5)RPR-X節(jié)點(diǎn)把樹(shù)狀鏈接雙向鏈表的數(shù)據(jù)信息(保存了所有RPR-X節(jié)點(diǎn)信息)組織成廣播幀,在本地RPR子網(wǎng)中廣播,每個(gè)RPR-S節(jié)點(diǎn)從該廣播幀中可以獲取RPR多環(huán)互連網(wǎng)絡(luò)中RPR-X節(jié)點(diǎn)的互連信息,從該RPR-X節(jié)點(diǎn)的互連信息,可以獲得RPR多環(huán)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
以上過(guò)程中,RPR-X節(jié)點(diǎn)的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)模塊在進(jìn)行主動(dòng)的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)的同時(shí),如果接收到跨環(huán)拓?fù)洳樵?,則立即暫停主動(dòng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,只有把本地子網(wǎng)的拓?fù)湫畔⒔M裝到自動(dòng)拓?fù)浒l(fā)現(xiàn)反饋控制幀,并向查詢節(jié)點(diǎn)反饋后,才能繼續(xù)暫停的自動(dòng)拓?fù)浒l(fā)現(xiàn)進(jìn)程。
根MAC在向各RPR-X節(jié)點(diǎn)發(fā)送跨環(huán)拓?fù)湫畔⒉樵兛刂茙瑫r(shí),該跨環(huán)控制幀中的地址域信息是由構(gòu)建的樹(shù)狀鏈接雙向鏈表中的信息進(jìn)行初始化的。該初始化過(guò)程相當(dāng)于找到一條從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的轉(zhuǎn)發(fā)途徑(由RPR-X節(jié)點(diǎn)構(gòu)成MAC地址序列),由于MAC地址屬于OSI-7層協(xié)議模型第二層中內(nèi)容,因此該地址序列的計(jì)算稱之為L(zhǎng)ayer 2路由算法。根據(jù)跨環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)規(guī)律,目的地節(jié)點(diǎn)一定是RPR-X節(jié)點(diǎn),目的MAC地址(子網(wǎng)地址+節(jié)點(diǎn)地址)一定是RPR-X節(jié)點(diǎn)兩個(gè)MAC中與根MAC相距較遠(yuǎn)的一個(gè)MAC地址。所以地址域中最后一個(gè)地址信息為目的MAC(子網(wǎng)地址+節(jié)點(diǎn)地址),倒數(shù)第二個(gè)地址信息一定是目的地MAC所在RPR-X節(jié)點(diǎn)中交叉連接節(jié)點(diǎn)的MAC地址?;诖?,可確定Layer 2路由的計(jì)算過(guò)程如下1)由目的地節(jié)點(diǎn)的MAC地址(子網(wǎng)地址+節(jié)點(diǎn)地址)所在的拓?fù)湫畔⒈?,得到指向該拓?fù)湫畔⒈淼腞PR-X節(jié)點(diǎn)在雙向鏈表中的位置(該RPR-X節(jié)點(diǎn)是從源節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn)的路由途徑中最近的一個(gè)RPR-X節(jié)點(diǎn)。其左MAC和右MAC地址是Layer 2路由途徑中的倒數(shù)第三,第四個(gè)地址。由自動(dòng)拓?fù)浒l(fā)現(xiàn)算法和數(shù)據(jù)結(jié)構(gòu)決定該RPR-X節(jié)點(diǎn)所對(duì)應(yīng)的雙向鏈表中的“當(dāng)前MAC地址+當(dāng)前網(wǎng)絡(luò)地址”為倒數(shù)第三個(gè)地址,“交叉連接節(jié)點(diǎn)MAC地址+交叉連接節(jié)點(diǎn)網(wǎng)絡(luò)地址”為倒數(shù)第四個(gè)地址)。
2)由步驟1)中得到的雙向鏈表中RPR-X節(jié)點(diǎn)單元信息中的前置地址指針可以得到路由途徑中再前一個(gè)RPR-X節(jié)點(diǎn),計(jì)算相關(guān)的地址信息。再依次向前處理前置地址指針,直到前置地址指針指向表頭地址時(shí)(此時(shí)源節(jié)點(diǎn)就是表頭地址所指向的RPR-X節(jié)點(diǎn)兩個(gè)MAC中的一個(gè),為當(dāng)前MAC地址,而前一個(gè)RPR-X節(jié)點(diǎn)是屬于邏輯第二層RPR子網(wǎng)中的節(jié)點(diǎn)),轉(zhuǎn)步驟3)。
3)判定到目前為止已經(jīng)構(gòu)建的路由序列中最新的節(jié)點(diǎn)地址是否為雙向鏈表表頭指向的RPR-X節(jié)點(diǎn)的當(dāng)前MAC地址(即根MAC地址)。如果是,則不作操作,Layer 2路由計(jì)算完成;如果否,則把該當(dāng)前MAC地址加入到路由序列中,Layer2路由計(jì)算完成。
本發(fā)明的方法有效解決了RPR多環(huán)互連網(wǎng)絡(luò)拓?fù)涞穆酚尚畔⒆詣?dòng)發(fā)現(xiàn)和網(wǎng)絡(luò)自動(dòng)控制等方面的問(wèn)題,解決了彈性分組環(huán)(RPR)單環(huán)架構(gòu)的資源浪費(fèi)問(wèn)題,同時(shí)兼容單環(huán)架構(gòu)的分布式自動(dòng)控制特性及吸取其自動(dòng)拓?fù)浒l(fā)現(xiàn)算法的優(yōu)點(diǎn),克服了傳統(tǒng)路由設(shè)備中每一個(gè)節(jié)點(diǎn)都必須計(jì)算路由信息的低效率問(wèn)題。
附圖1為本發(fā)明的RPR多環(huán)互連拓?fù)浣Y(jié)構(gòu)圖。
如圖1所示,RPR多環(huán)互連網(wǎng)絡(luò)由RPR-S節(jié)點(diǎn)和RPR-X節(jié)點(diǎn)通過(guò)光纖鏈路互連構(gòu)成多環(huán)傳輸拓?fù)洌琑PR-S節(jié)點(diǎn)完成標(biāo)準(zhǔn)的RPR環(huán)網(wǎng)傳輸,RPR-X節(jié)點(diǎn)除完成RPR-S節(jié)點(diǎn)的功能外,還將支持跨環(huán)業(yè)務(wù)的傳輸。圖1中給出了四個(gè)RPR子網(wǎng)相切,在切點(diǎn)上通過(guò)RPR-X節(jié)點(diǎn)互連的的示意圖。
圖2為本發(fā)明的RPR多環(huán)互連自動(dòng)拓?fù)浒l(fā)現(xiàn)實(shí)現(xiàn)方法流程圖。
圖2給出了RPR-X節(jié)點(diǎn)MAC控制層中多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法流程圖。多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)進(jìn)程首先初始化多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)的數(shù)據(jù)空間和數(shù)據(jù)結(jié)構(gòu),然后依次以順時(shí)針?lè)较颍謱哟蔚南蚱渌黂PR-X節(jié)點(diǎn)查詢跨環(huán)拓?fù)湫畔?,并最終在本地構(gòu)建成全網(wǎng)的拓?fù)湫畔⒂成鋱D。
圖3為多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)實(shí)例的拓?fù)浣Y(jié)構(gòu)。
圖3給出了基于附圖1的拓?fù)鋱D,以RPR子網(wǎng)2中節(jié)點(diǎn)4為根節(jié)點(diǎn)時(shí)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)的拓?fù)湫畔⒔Y(jié)構(gòu)。圖3中,(a)給出了以RPR子網(wǎng)2中節(jié)點(diǎn)4為根節(jié)點(diǎn)時(shí)的三層樹(shù)狀拓?fù)湫畔⒔Y(jié)構(gòu),(b)給出了該樹(shù)狀拓?fù)湫畔⒔Y(jié)構(gòu)采用本發(fā)明中的樹(shù)狀鏈接雙向鏈表所構(gòu)成的拓?fù)湫畔⒈斫Y(jié)構(gòu)。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明技術(shù)方案的具體實(shí)施方式
作詳細(xì)描述。
以附圖1中的RPR多環(huán)網(wǎng)絡(luò)拓?fù)錇槔?,具體討論RPR子網(wǎng)2中節(jié)點(diǎn)4(簡(jiǎn)稱Sub2/Nd4,之后節(jié)點(diǎn)采用類似命名法)的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,也就是該RPR-X節(jié)點(diǎn)的左MAC控制層中的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)算法的運(yùn)行過(guò)程,由于每個(gè)RPR-X節(jié)點(diǎn)運(yùn)行兩個(gè)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)進(jìn)程,整個(gè)網(wǎng)絡(luò)中共運(yùn)行了8個(gè)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)進(jìn)程。
由附圖1的網(wǎng)絡(luò)拓?fù)浞治?,Sub2/Nd4發(fā)起多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn),因此該節(jié)點(diǎn)為根節(jié)點(diǎn),并且RPR子網(wǎng)2是第一層子網(wǎng)。與第一層子網(wǎng)直接相鄰的RPR子網(wǎng)3、RPR子網(wǎng)5、RPR子網(wǎng)1(按順時(shí)針?lè)较?屬于第二層子網(wǎng)。RPR子網(wǎng)4為第三層子網(wǎng)。附圖1中的網(wǎng)絡(luò)拓?fù)湟許ub2/Nd4為根節(jié)點(diǎn),總共具有三層子網(wǎng)的拓?fù)浣Y(jié)構(gòu),各層子網(wǎng)經(jīng)由RPR-X節(jié)點(diǎn)相互聯(lián)系,因此可以直接用RPR-X節(jié)點(diǎn)信息表示出該拓?fù)浣Y(jié)構(gòu)。表示結(jié)果見(jiàn)附圖3(a),為一個(gè)以Sub2/Nd4為根的簡(jiǎn)單樹(shù)狀數(shù)據(jù)結(jié)構(gòu)。下面將詳細(xì)討論Sub2/Nd4節(jié)點(diǎn)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。
(1)RPR子網(wǎng)首先完成標(biāo)準(zhǔn)的本地自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,每個(gè)節(jié)點(diǎn)存儲(chǔ)有本地環(huán)的拓?fù)湫畔?,RPR-X節(jié)點(diǎn)的左MAC和右MAC各自分別存有所在RPR子網(wǎng)的拓?fù)湫畔ⅰ?br>
(2)Sub2/Nd4節(jié)點(diǎn)檢測(cè)到RPR子網(wǎng)2完成了本地自動(dòng)拓?fù)浒l(fā)現(xiàn),啟動(dòng)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。首先建立雙向鏈表的表頭節(jié)點(diǎn),記錄根MAC節(jié)點(diǎn)Sub2/Nd4(RPR-X節(jié)點(diǎn)的左MAC)的信息,信息的結(jié)構(gòu)在樹(shù)狀鏈接的雙向鏈表單元結(jié)構(gòu)中定義,其中邏輯層設(shè)定為1,前置MAC地址設(shè)定為-1,前置網(wǎng)絡(luò)設(shè)定為0,前置地址指針設(shè)定為0,next_ptr與prior_ptr皆設(shè)定為0。MAC地址表指針指向本地的拓?fù)湫畔⒈砜臻g,當(dāng)前環(huán)上的MAC地址數(shù)為Sub2的節(jié)點(diǎn)數(shù),為6,當(dāng)前地址表中的MAC地址總數(shù)為本地拓?fù)湫畔⒈碇械腗AC數(shù)目,為9(在拓?fù)湫畔⒈碇?,每個(gè)RPR-X節(jié)點(diǎn)將占用兩個(gè)MAC存儲(chǔ)空間,第一個(gè)空間存放當(dāng)前節(jié)點(diǎn)的MAC信息,第二空間存放交叉連接節(jié)點(diǎn)的MAC信息,Sub2中有3個(gè)RPR-X節(jié)點(diǎn),所以共有9個(gè)地址信息)。Sub2/Nd4信息在樹(shù)狀鏈接雙向鏈表中的相應(yīng)位置為附圖3(b)的第一個(gè)單元結(jié)構(gòu)。
(3)Sub2/Nd4完成第一層拓?fù)湫畔⒈順?gòu)建后,開(kāi)始進(jìn)行第二層RPR子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)。搜索第一層RPR子網(wǎng)的拓?fù)湫畔⒈?,發(fā)現(xiàn)本拓?fù)湫畔⒈碇杏?個(gè)RPR-X節(jié)點(diǎn)(即判定屬性字節(jié)1中的最低比特位),而該3個(gè)RPR-X節(jié)點(diǎn)中的交叉連接節(jié)點(diǎn)MAC連接的是第二層RPR子網(wǎng)(三個(gè)節(jié)點(diǎn)為Sub3/Nd1,Sub5/Nd1,Sub1/Nd4)。Sub2/Nd4節(jié)點(diǎn)按順時(shí)針?lè)较颍来蜗蛟撊齻€(gè)節(jié)點(diǎn)MAC的控制層發(fā)送跨環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)查詢控制幀,這些節(jié)點(diǎn)接收到拓?fù)湫畔⒉樵兛刂茙螅謩e向根MAC發(fā)送跨環(huán)拓?fù)湫畔㈨憫?yīng)控制幀。根MAC節(jié)點(diǎn)接收到拓?fù)湫畔⒑髽?gòu)建樹(shù)狀鏈接雙向鏈表(圖3(b)中雙向鏈表的2,3,4單元)和拓?fù)湫畔⒈怼5诙覴PR-X節(jié)點(diǎn)構(gòu)建的樹(shù)狀鏈接雙向鏈表的參數(shù)設(shè)置計(jì)算結(jié)果如下邏輯層設(shè)定為2,前置MAC地址值設(shè)定為-4,前置網(wǎng)絡(luò)地址設(shè)定為Sub2的子網(wǎng)地址,前置地址指針指向鏈表頭(根MAC的鏈表單元),MAC地址表指針指向相應(yīng)存儲(chǔ)拓?fù)湫畔⒌牡刂房臻g。其余的參數(shù)按照相關(guān)的定義進(jìn)行計(jì)算設(shè)定。
(4)Sub2/Nd4節(jié)點(diǎn)完成了第二層拓?fù)浒l(fā)現(xiàn)后,搜索第二層拓?fù)湫畔⒈碇械腞PR-X節(jié)點(diǎn),如果搜索到的RPR-X節(jié)點(diǎn)在雙向鏈表中已經(jīng)出現(xiàn),則表示該節(jié)點(diǎn)屬于已處理完的拓?fù)鋵?;如果搜索到的RPR-X節(jié)點(diǎn)在雙向鏈表中沒(méi)有出現(xiàn),表示該節(jié)點(diǎn)是屬于第三層RPR子網(wǎng)。在本例中,搜索到的第三層RPR-X節(jié)點(diǎn)為Sub4/Nd1,根MAC節(jié)點(diǎn)Sub2/Nd4向該節(jié)點(diǎn)發(fā)送跨環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)控制幀,得到Sub4子網(wǎng)的拓?fù)湫畔?,?gòu)建樹(shù)狀鏈接雙向鏈表(附圖3(b)中雙向鏈表的第5單元)和跨環(huán)拓?fù)湫畔⒈怼?br>
(5)第三層RPR子網(wǎng)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)完后,依次進(jìn)行第四層、第五層等后面層次的拓?fù)渥詣?dòng)發(fā)現(xiàn)過(guò)程(如果存在的話)。本例中只有三層RPR子網(wǎng),所以完成第(4)步后,Sub4/Nd2判定出沒(méi)有可發(fā)現(xiàn)的RPR子網(wǎng)信息,即停止本節(jié)點(diǎn)上的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程。
(6)Sub2/Nd4完成多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)后,把樹(shù)狀鏈接雙向鏈表的數(shù)據(jù)信息組織成廣播幀,在RPR子網(wǎng)2中廣播,該子網(wǎng)中的每個(gè)RPR-S節(jié)點(diǎn)從該廣播幀中可以獲取附圖1多環(huán)互連網(wǎng)絡(luò)拓?fù)渲蠷PR-X節(jié)點(diǎn)的互連信息,進(jìn)而推導(dǎo)出整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)。
綜上過(guò)程,可得Sub2/Nd4所構(gòu)造的全網(wǎng)的拓?fù)湫畔⒈砣缦隆?br>
子網(wǎng)2/節(jié)點(diǎn)4的多環(huán)拓?fù)湫畔⒈?
以上子網(wǎng)2/節(jié)點(diǎn)4的多環(huán)拓?fù)湫畔⒈斫o出了在附圖1所示拓?fù)涞腞PR子網(wǎng)2中,以節(jié)點(diǎn)4為根節(jié)點(diǎn)完成多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)后所獲得的拓?fù)湫畔⒈恚褪窃摴?jié)點(diǎn)所獲的全網(wǎng)拓?fù)湫畔ⅰ?br>
其中,List-1為第一層子網(wǎng)的拓?fù)湫畔ⅲ琇ist-2,List-3,List-4為第二層子網(wǎng)的拓?fù)湫畔ⅲ謩e對(duì)應(yīng)了RPR子網(wǎng)3,5和1。List-5為第三層子網(wǎng)的拓?fù)湫畔?,?duì)應(yīng)了RPR子網(wǎng)4。對(duì)于List-1,它包含6個(gè)節(jié)點(diǎn),其中的3個(gè)節(jié)點(diǎn)為RPR-S節(jié)點(diǎn)(3個(gè)MAC地址),另外3個(gè)為RPR-X節(jié)點(diǎn),它們有6個(gè)MAC地址(每個(gè)RPR-X節(jié)點(diǎn)有兩個(gè)MAC)。所以LIST-1共有9行數(shù)據(jù),同理可知List2-5中的情況。對(duì)于每個(gè)List來(lái)說(shuō),它有四列數(shù)據(jù),其含義由拓?fù)湫畔⒈韱卧Y(jié)構(gòu)定義。從左往右分別為節(jié)點(diǎn)地址,子網(wǎng)地址,節(jié)點(diǎn)屬性字節(jié)2,節(jié)點(diǎn)屬性字節(jié)1。由屬性字節(jié)1的最低位比特是否為1,可以判定該MAC所在的節(jié)點(diǎn)是否為RPR-X節(jié)點(diǎn)。例如由LIST-1的第一行數(shù)據(jù)“4 2 19 1”,可得節(jié)點(diǎn)地址和子網(wǎng)地址分別為4和2,由數(shù)值1可得該節(jié)點(diǎn)的屬性為RPR-X節(jié)點(diǎn)。數(shù)值19為節(jié)點(diǎn)屬性字節(jié)2,為節(jié)點(diǎn)MAC的權(quán)重,本發(fā)明未著重強(qiáng)調(diào)。
最后,以Sub2/Nd4自動(dòng)發(fā)現(xiàn)第三層子網(wǎng)過(guò)程中路由地址計(jì)算過(guò)程補(bǔ)充說(shuō)明Layer 2路由的實(shí)現(xiàn)實(shí)例。Sub2/Nd4節(jié)點(diǎn)完成了第二層拓?fù)浒l(fā)現(xiàn)后,搜索第二層拓?fù)湫畔⒈碇械腞PR-X節(jié)點(diǎn),搜索到Sub3/Nd4與Sub4/Nd1所構(gòu)成的RPR-X節(jié)點(diǎn)尚不存在于雙向鏈表中,即該節(jié)點(diǎn)是屬于第三層RPR子網(wǎng)。其中目的地Sub4/Nd1節(jié)點(diǎn)為RPR-X節(jié)點(diǎn)的當(dāng)前MAC地址,該MAC地址為L(zhǎng)ayer 2路由序列中的最末地址(0-0-0-4-1),而Sub3/Nd4為該RPR-X節(jié)點(diǎn)的交叉連接節(jié)點(diǎn)的MAC,該MAC地址為路由序列的倒數(shù)第二個(gè)地址(0-0-0-3-4)。由剛才搜索的第二層拓?fù)湫畔⒈砜梢缘玫街赶蛟撔畔⒈淼碾p向鏈表中的RPR-X節(jié)點(diǎn)信息,即附圖3(b)中的第二個(gè)單元(Sub3/Nd1作為當(dāng)前MAC地址的RPR-X節(jié)點(diǎn))。顯然雙向鏈表中該RPR-X節(jié)點(diǎn)是與目的Sub4/Nd1節(jié)點(diǎn)相鄰最近的RPR-X節(jié)點(diǎn),該雙向鏈表單元的“當(dāng)前節(jié)點(diǎn)地址+當(dāng)前網(wǎng)絡(luò)地址”的值為L(zhǎng)ayer 2路由序列的倒數(shù)第三個(gè)地址(0-0-0-3-1),而“交叉連接節(jié)點(diǎn)MAC地址+交叉連接節(jié)點(diǎn)網(wǎng)絡(luò)地址”的值為L(zhǎng)ayer2路由序列的倒數(shù)第四個(gè)地址(0-0-0-2-4)。此時(shí)雙向鏈表該單元中前置地址指針指向表頭,“前置MAC地址+前置網(wǎng)絡(luò)地址”的值為根節(jié)點(diǎn)的MAC地址,同時(shí)最前的Layer 2路由序列地址(即倒數(shù)第四個(gè)地址)就是根節(jié)點(diǎn)的MAC地址,此時(shí)Layer 2路由序列計(jì)算結(jié)束。
權(quán)利要求
1.一種彈性分組多環(huán)互連網(wǎng)絡(luò)自動(dòng)拓?fù)浒l(fā)現(xiàn)的實(shí)現(xiàn)方法,其特征在于包括如下具體步驟(1)彈性分組環(huán)RPR單環(huán)網(wǎng)絡(luò)媒質(zhì)接入控制MAC地址的擴(kuò)展定義將標(biāo)準(zhǔn)的MAC地址中剩余的5個(gè)字節(jié)在邏輯上區(qū)分為2部分,最低字節(jié)為邏輯域0,用來(lái)表示RPR子網(wǎng)中的節(jié)點(diǎn)地址,剩余的4字節(jié)為邏輯域1,用來(lái)表示節(jié)點(diǎn)所處的RPR子網(wǎng)的網(wǎng)絡(luò)地址,網(wǎng)絡(luò)地址域區(qū)分不同的RPR子網(wǎng),節(jié)點(diǎn)地址域區(qū)分同一RPR子網(wǎng)中的不同節(jié)點(diǎn),網(wǎng)絡(luò)地址加上節(jié)點(diǎn)地址組成的MAC地址,可以唯一確定RPR多環(huán)互連網(wǎng)絡(luò)中的任何一個(gè)節(jié)點(diǎn);(2)構(gòu)建樹(shù)狀鏈接的雙向鏈表雙向鏈表主要存儲(chǔ)RPR-X節(jié)點(diǎn)和RPR-S節(jié)點(diǎn)的信息,同時(shí)保存第二層路由時(shí)的相關(guān)數(shù)據(jù),RPR-X節(jié)點(diǎn)為兩個(gè)RPR子網(wǎng)間的交叉連接節(jié)點(diǎn),除了支持標(biāo)準(zhǔn)的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點(diǎn)為RPR的標(biāo)準(zhǔn)節(jié)點(diǎn),只支持RPR子網(wǎng)傳輸,樹(shù)狀鏈接的雙向鏈表的結(jié)構(gòu)包括邏輯層、當(dāng)前節(jié)點(diǎn)地址+當(dāng)前網(wǎng)絡(luò)地址、當(dāng)前節(jié)點(diǎn)MAC屬性、交叉連接節(jié)點(diǎn)MAC屬性、交叉連接節(jié)點(diǎn)MAC地址+交叉連接節(jié)點(diǎn)網(wǎng)絡(luò)地址、前置MAC地址+前置網(wǎng)絡(luò)地址、當(dāng)前環(huán)上的MAC地址數(shù)、當(dāng)前地址表中的MAC地址總數(shù)、MAC地址表指針、前置地址指針、next_ptr和prior_ptr;其中邏輯層保存本MAC所屬的RPR子網(wǎng)在多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)時(shí)屬于第幾層的RPR子網(wǎng),其值為1時(shí)表示是根節(jié)點(diǎn);前置MAC地址+前置網(wǎng)絡(luò)地址保存距離當(dāng)前MAC地址最近的RPR-X節(jié)點(diǎn)的5字節(jié)長(zhǎng)度MAC地址;MAC地址表指針指向?yàn)橥瓿煽绛h(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)后,當(dāng)前節(jié)點(diǎn)地址+當(dāng)前網(wǎng)絡(luò)地址所指定的RPR-X節(jié)點(diǎn)的MAC所在的RPR子網(wǎng)的拓?fù)湫畔⒃诟?jié)點(diǎn)中所存放位置的地址空間;前置地址指針指向?yàn)閺母?jié)點(diǎn)到達(dá)雙向鏈表上本單元中當(dāng)前節(jié)點(diǎn)地址所在的RPR-X節(jié)點(diǎn)的前一個(gè)RPR-X在雙向鏈表上的位置;next_ptr和prior_ptr是構(gòu)建雙向鏈表用的指針;(3)構(gòu)建拓?fù)湫畔⒈硗負(fù)湫畔⒈韱卧Y(jié)構(gòu)包括節(jié)點(diǎn)地址+網(wǎng)絡(luò)地址、節(jié)點(diǎn)屬性,其中節(jié)點(diǎn)屬性的最低比特RX為節(jié)點(diǎn)類型標(biāo)記比特,RX=1表示RPR-X節(jié)點(diǎn),RX=0表示RPR-S節(jié)點(diǎn);(4)獲得整個(gè)網(wǎng)絡(luò)的拓?fù)湫畔⒈懋?dāng)RPR-X節(jié)點(diǎn)MAC控制層的多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)模塊檢測(cè)到本地自動(dòng)拓?fù)浒l(fā)現(xiàn)已完成后,即啟動(dòng)多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程1)初始化多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu),分配多環(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)存儲(chǔ)空間,把本地RPR子網(wǎng)的拓?fù)湫畔⒁皂槙r(shí)針?lè)较虼嫒攵喹h(huán)自動(dòng)拓?fù)浒l(fā)現(xiàn)數(shù)據(jù)空間的起始部分;2)每個(gè)RPR-X節(jié)點(diǎn)開(kāi)始RPR多環(huán)網(wǎng)中第二層子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,第二層子網(wǎng)定義為與第一層子網(wǎng)直接相鄰的RPR子網(wǎng),根MAC向互連第一、二層RPR子網(wǎng)的RPR-X節(jié)點(diǎn)發(fā)送跨環(huán)拓?fù)湫畔⒉樵兛刂茙⑶乙皂槙r(shí)針?lè)较蛳騌PR-X節(jié)點(diǎn)發(fā)送查詢幀,被查詢的RPR-X節(jié)點(diǎn)的MAC控制層接收到查詢幀后,構(gòu)造跨環(huán)拓?fù)湫畔⒉樵兎答伩刂茙?,把本RPR子網(wǎng)中的拓?fù)湫畔⒁皂槙r(shí)針?lè)较蚪M織后,組裝到拓?fù)湫畔⒉樵兎答伩刂茙l(fā)送回根MAC,根MAC接收到拓?fù)湫畔⒉樵兎答伩刂茙?,從該幀中提取拓?fù)湫畔ⅲ?)每個(gè)RPR-X節(jié)點(diǎn)開(kāi)始RPR多環(huán)網(wǎng)中第三層子網(wǎng)的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,第三層子網(wǎng)定義為與第二層子網(wǎng)直接相鄰,并且不屬于第一層、第二層子網(wǎng)的RPR子網(wǎng),根MAC采用順時(shí)針?lè)较蛞来伟l(fā)送拓?fù)湫畔⒉樵兛刂茙?,接收到第三層子網(wǎng)拓?fù)湫畔⒎答伩刂茙螅瑥脑搸刑崛⊥負(fù)湫畔ⅲ?)采用相同的自動(dòng)拓?fù)浒l(fā)現(xiàn)過(guò)程,自動(dòng)發(fā)現(xiàn)第四層、第五層拓?fù)湫畔ⅲ钡酵瓿伤蠷PR子網(wǎng)的拓?fù)湫畔⒌淖詣?dòng)發(fā)現(xiàn),此時(shí),每個(gè)RPR-X節(jié)點(diǎn)上規(guī)律的保存有整個(gè)RPR多環(huán)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)信息;5)RPR-X節(jié)點(diǎn)把樹(shù)狀鏈接雙向鏈表的數(shù)據(jù)信息組織成廣播幀,在本地RPR子網(wǎng)中廣播,每個(gè)RPR-S節(jié)點(diǎn)從該廣播幀中獲取RPR多環(huán)互連網(wǎng)絡(luò)中RPR-X節(jié)點(diǎn)的互連信息,從該RPR-X節(jié)點(diǎn)的互連信息,可以獲得RPR多環(huán)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
全文摘要
一種彈性分組多環(huán)互連網(wǎng)絡(luò)自動(dòng)拓?fù)浒l(fā)現(xiàn)的實(shí)現(xiàn)方法,首先將標(biāo)準(zhǔn)化的彈性分組環(huán)RPR單環(huán)網(wǎng)絡(luò)的媒質(zhì)接入控制MAC地址表示方法作了擴(kuò)展定義,然后構(gòu)建樹(shù)狀鏈接的雙向鏈表和拓?fù)湫畔⒈韱卧Y(jié)構(gòu),用以保存網(wǎng)絡(luò)中的拓?fù)湫畔⒑凸?jié)點(diǎn)信息,最后基于構(gòu)建的鏈表和信息表,采用順時(shí)針?lè)謱拥姆椒▽?shí)現(xiàn)多環(huán)互連網(wǎng)絡(luò)的自動(dòng)拓?fù)浒l(fā)現(xiàn)。本發(fā)明同時(shí)兼容單環(huán)架構(gòu)的分布式自動(dòng)控制特性及吸取其自動(dòng)拓?fù)浒l(fā)現(xiàn)算法的優(yōu)點(diǎn),有效解決了RPR多環(huán)互連網(wǎng)絡(luò)拓?fù)涞穆酚尚畔⒆詣?dòng)發(fā)現(xiàn)和網(wǎng)絡(luò)自動(dòng)控制等方面的問(wèn)題,基于鏈表和信息表中保存的拓?fù)湫畔⒑凸?jié)點(diǎn)信息,可以完成第二層路由計(jì)算,使得網(wǎng)絡(luò)中的任一節(jié)點(diǎn)可以快速地計(jì)算出到達(dá)網(wǎng)絡(luò)中其它任何節(jié)點(diǎn)的路由序列。
文檔編號(hào)H04L12/42GK1547359SQ20031010919
公開(kāi)日2004年11月17日 申請(qǐng)日期2003年12月9日 優(yōu)先權(quán)日2003年12月9日
發(fā)明者張治中, 趙正福, 曾慶濟(jì), 周瑜莉 申請(qǐng)人:上海交通大學(xué)