專利名稱:彈性分組多環(huán)互連網(wǎng)絡自動拓撲發(fā)現(xiàn)的實現(xiàn)方法
技術領域:
本發(fā)明涉及彈性分組多環(huán)互連網(wǎng)絡自動拓撲發(fā)現(xiàn)的實現(xiàn)方法,用于在多環(huán)互連的彈性分組環(huán)網(wǎng)絡中實現(xiàn)對網(wǎng)絡節(jié)點和鏈路狀態(tài)等拓撲信息的自動發(fā)現(xiàn),屬于通信與信息系統(tǒng)網(wǎng)絡傳輸技術領域。
背景技術:
目前,以IP為基礎的因特網(wǎng)的迅速發(fā)展使得通信網(wǎng)絡正逐漸由基于電路交換,優(yōu)化承載話音業(yè)務的方式向基于分組交換,優(yōu)化承載數(shù)據(jù)業(yè)務的方式發(fā)展。傳統(tǒng)的電信運營商開始在城域范圍內(10~100公里)將原來的局間中繼網(wǎng)升級為多業(yè)務供應平臺,對以傳送話音業(yè)務為主的SDH/TDM(同步數(shù)字系列/時分復用)傳送網(wǎng)做了較大的改進以適應指數(shù)增長的數(shù)據(jù)和視頻業(yè)務的需求,而許多不同背景的新興運營公司則沒有先期投資的顧慮,利用各種新的先進技術直接組建區(qū)域型IP寬帶通信網(wǎng)。傳統(tǒng)的“干線網(wǎng)+本地網(wǎng)”正在演變?yōu)椤昂诵木W(wǎng)+接入網(wǎng)”的結構,其中核心網(wǎng)由骨干網(wǎng)和城域網(wǎng)構成,其職責是傳送各種服務質量的大量信息流,就其性質而言是屬于傳送網(wǎng)的范疇。
相對于骨干網(wǎng)來說,城域網(wǎng)有其自身的特點。它面向企事業(yè)用戶和居民小區(qū)用戶,需要支持多種協(xié)議和速率的客戶層信號,連接不同方式的接入設備,最大可覆蓋城市及其郊區(qū)范圍。城域網(wǎng)應該具有很強的帶寬管理功能,為不同帶寬和時延要求的業(yè)務迅速、高效地提供所需傳輸帶寬。隨著骨干網(wǎng)、接入網(wǎng)容量的大幅度提升,帶寬和距離的矛盾越來越明顯地集中于幾十公里的數(shù)量級,因此如何合理、科學地配置城域網(wǎng)的拓撲結構、簡化通信協(xié)議棧的層次結構,從而經(jīng)濟有效地提高城域網(wǎng)傳送性能已成為社會和業(yè)界關注的熱點和競爭點。
市場的需求推動人們去研究、尋找新的技術。SDH和ATM(異步轉移模式)技術成功地應用于城域網(wǎng),但是其技術復雜、價格昂貴;以太網(wǎng)技術在局域網(wǎng)中得到了廣泛應用,走的是低價、簡單的技術路線,但是缺乏有效的QoS(服務質量)、網(wǎng)絡恢復與保護和網(wǎng)管機制,不能滿足城域網(wǎng)的可靠性和擴展性方面的要求。人們于是很自然地想到了在城域范圍內構建新的環(huán)形拓撲結構,通過傳輸類似以太網(wǎng)結構的分組來提供各種增強型業(yè)務,在不降低網(wǎng)絡性能和可靠性的前提下提供更加經(jīng)濟的WAN/MAN(廣域網(wǎng)/城域網(wǎng))解決方案。彈性分組環(huán)(Relisient Packet Ring,RPR)技術正是在這一背景下提出的,很快受到了多個國際化標準組織、研究機構和網(wǎng)絡設備廠商的重視。
目前基于RPR環(huán)網(wǎng)協(xié)議的標準化目標的大致輪廓已經(jīng)形成,各界已就靈活性、可靠性、兼容性和可擴展性幾個方面的問題達成共識。
RPR的媒質接入控制(MAC)層應該能無縫地嵌入IEEE802工程協(xié)議棧中,對下支持802.3和SONET/SDH(同步光網(wǎng)絡)物理層,對上支持802.1高層和互操作規(guī)范,并能與802.3 MAC層互相兼容。盡管RPR技術采用了較多的新機制提高環(huán)網(wǎng)的資源利用效率,但是單個環(huán)的架構在一定程度上會造成帶寬的浪費,資源利用效率不高。因此,國際上目前正在積極研究RPR多環(huán)互連技術,通過減小RPR環(huán)網(wǎng)的規(guī)模,把多個較小規(guī)模的RPR環(huán)網(wǎng)互連起來構成多環(huán)傳輸網(wǎng)絡,可以充分利用網(wǎng)絡資源,拓展RPR技術的使用范圍。例如容量10G,二十個節(jié)點的純環(huán)網(wǎng)結構每個節(jié)點分配的容量僅0.5G,若采用容量為10G的兩個彈性分組環(huán)網(wǎng)互連,且每個環(huán)網(wǎng)中各分布十個節(jié)點,那么每個節(jié)點分配的容量為10G/10=1G。顯然,相對于單個環(huán)網(wǎng),節(jié)點的平均分配容量增加了一倍,采用多環(huán)互連結構還可以把彈性分組環(huán)技術的應用范圍從城域拓展到廣域。
在RPR多環(huán)互連網(wǎng)絡中,自動拓撲發(fā)現(xiàn)算法是待于深入研究的重要技術內容之一,通過自動拓撲發(fā)現(xiàn)算法,網(wǎng)絡中的每個節(jié)點能夠詳細掌握網(wǎng)絡的拓撲圖和每條鏈路的狀態(tài)。從而使得網(wǎng)絡初始化配置變得極其簡單,并避免了手工配置帶來的錯誤。為了兼容RPR技術的分布式自動控制特性,吸收RPR單環(huán)技術中自動拓撲發(fā)現(xiàn)算法的優(yōu)點,在RPR多環(huán)互連網(wǎng)絡中怎樣有效實現(xiàn)RPR多環(huán)自動拓撲發(fā)現(xiàn)算法將是目前研究的核心內容。
發(fā)明內容
本發(fā)明的目的在于針對現(xiàn)有技術的不足,提出一種彈性分組多環(huán)互連網(wǎng)絡自動拓撲發(fā)現(xiàn)的實現(xiàn)方法,通過減小彈性分組環(huán)網(wǎng)的規(guī)模,把多個較小規(guī)模的彈性分組環(huán)網(wǎng)互連起來構成彈性分組環(huán)多環(huán)傳輸網(wǎng)絡,以更充分地利用網(wǎng)絡資源,解決網(wǎng)絡拓撲的路由信息自動發(fā)現(xiàn)和網(wǎng)絡自動控制的問題,為多環(huán)互連的具體實現(xiàn)提供強有力的技術支撐。
為了實現(xiàn)這樣的目的,本發(fā)明首先將標準化的彈性分組環(huán)(RPR)單環(huán)網(wǎng)絡(以下稱RPR子網(wǎng))的媒質介入控制(MAC)地址表示方法作了擴展定義,擴展定義后仍然兼容單環(huán)網(wǎng)絡的MAC地址識別,這樣就為RPR多環(huán)互連網(wǎng)絡的自動拓撲發(fā)現(xiàn)提供了實現(xiàn)依據(jù)。其次是構建樹狀鏈接的雙向鏈表,主要是為了存儲RPR-X節(jié)點和RPR-S節(jié)點的信息,同時保存第2層(Layer 2)路由時的相關數(shù)據(jù)。其中RPR-X節(jié)點為兩個RPR子網(wǎng)間的交叉連接節(jié)點,除了支持標準的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點為RPR的標準節(jié)點,只支持RPR子網(wǎng)傳輸。然后構建拓撲信息表單元結構,它主要存儲每個子網(wǎng)的拓撲信息。拓撲信息表中的每一行為一個單元結構,存放一個MAC地址和該MAC的屬性信息。樹狀鏈接雙向鏈表結合簡單的拓撲信息表可以把全網(wǎng)的拓撲信息映射到本地的拓撲圖中,同時該數(shù)據(jù)結構能夠為完成第二層路由計算提供信息,實現(xiàn)RPR多環(huán)互連網(wǎng)絡中的Layer 2路由計算。最后根據(jù)構建的樹狀鏈接雙向鏈表和拓撲信息表,以彈性分組環(huán)多環(huán)交叉互連節(jié)點(RPR-X節(jié)點)為核心,由RPR-X節(jié)點以順時針方向分層次向網(wǎng)絡中的其它RPR-X節(jié)點查詢跨環(huán)拓撲信息,最終完成全網(wǎng)的拓撲信息發(fā)現(xiàn)。
本發(fā)明的這四個步驟的具體定義、操作和解釋如下1.RPR單環(huán)網(wǎng)絡MAC地址的擴展定義RPR子網(wǎng)最多只包含255個節(jié)點,節(jié)點用一個字節(jié)就可以表示其地址(目前一些商用的非標準化RPR產(chǎn)品就是采用這種單字節(jié)方式)。本發(fā)明將標準的MAC地址(長度為6字節(jié))的最高字節(jié)作了擴展定義,剩余的5個字節(jié)在邏輯上被區(qū)分為2部分。最低字節(jié)為邏輯域0,用來表示RPR子網(wǎng)中的節(jié)點地址。剩余的4字節(jié)為邏輯域1,用來表示節(jié)點所處的RPR子網(wǎng)的網(wǎng)絡地址,最多可以表示232-1個子網(wǎng)地址,足夠保證RPR的多環(huán)互連使用。雖然6字節(jié)的MAC地址被區(qū)分成兩部分,但這僅僅是邏輯上的區(qū)分,對于實際的RPR網(wǎng)絡并沒有影響,在鋪設RPR多環(huán)互連網(wǎng)絡時,同一個RPR子網(wǎng)中的節(jié)點,其MAC地址域對應于網(wǎng)絡地址部分的4個字節(jié)必須采用相同的值,節(jié)點的區(qū)分在于MAC地址的最低字節(jié)(節(jié)點地址域)。對于不同的RPR子網(wǎng),相互之間的MAC地址對應于網(wǎng)絡地址部分的4字節(jié)必須采用不同的值,以區(qū)分不同的RPR子網(wǎng)。也就是說網(wǎng)絡地址域區(qū)分不同的RPR子網(wǎng),節(jié)點地址域區(qū)分同一RPR子網(wǎng)中的不同節(jié)點,網(wǎng)絡地址加上節(jié)點地址組成的MAC地址,可以唯一確定RPR多環(huán)互連網(wǎng)絡中的任何一個節(jié)點。
2.構建樹狀鏈接的雙向鏈表樹狀鏈接的雙向鏈表主要存儲RPR-X節(jié)點和RPR-S節(jié)點的信息,同時保存第2層(Layer 2)路由時的相關數(shù)據(jù)。RPR-X節(jié)點為兩個RPR子網(wǎng)間的交叉連接節(jié)點,除了支持標準的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點為RPR的標準節(jié)點,只支持RPR子網(wǎng)傳輸。樹狀鏈接的雙向鏈表由以下結構單元組成·“邏輯層”保存本MAC所屬的RPR子網(wǎng)在多環(huán)自動拓撲發(fā)現(xiàn)時屬于第幾層的RPR子網(wǎng)。其值為1時表示是根節(jié)點,即多環(huán)自動拓撲發(fā)現(xiàn)算法的執(zhí)行節(jié)點。
·“當前節(jié)點地址+當前網(wǎng)絡地址”一起組成5字節(jié)長度的當前MAC地址,以唯一識別RPR多環(huán)互連網(wǎng)絡中的任何一個節(jié)點;·“當前節(jié)點MAC屬性”保存當前RPR節(jié)點的MAC屬性;·“交叉連接節(jié)點MAC屬性”保存交叉連接節(jié)點的MAC屬性。
·“交叉連接節(jié)點MAC地址+交叉連接節(jié)點網(wǎng)絡地址”一起組成5字節(jié)長度的MAC地址,以唯一識別RPR多環(huán)互連網(wǎng)絡中的任何交叉連接節(jié)點的MAC;·“前置MAC地址+前置網(wǎng)絡地址”保存了距離當前MAC地址最近的RPR-X節(jié)點的5字節(jié)長度MAC地址。當邏輯層為1時,前置MAC地址設定為-1,前置網(wǎng)絡地址設定為0(表示不存在前置節(jié)點);當邏輯層為2時,“前置MAC地址+前置網(wǎng)絡地址”的值為根節(jié)點MAC地址。
·“當前環(huán)上的MAC地址數(shù)”保存當前MAC地址所在的RPR子網(wǎng)上的節(jié)點數(shù)目。
·“當前地址表中的MAC地址總數(shù)”保存當前MAC地址所在的RPR子網(wǎng)在自動拓撲發(fā)現(xiàn)時所有的MAC數(shù)。RPR-X節(jié)點在完成標準的本地子網(wǎng)自動拓撲發(fā)現(xiàn)時,如果檢測到本地子網(wǎng)自動拓撲發(fā)現(xiàn)的起始節(jié)點也是RPR-X節(jié)點,則該RPR-X節(jié)點將把自己的兩個MAC地址均寫入拓撲發(fā)現(xiàn)幀中,先寫當前MAC地址,再寫交叉連接節(jié)點MAC地址。當前地址表中的MAC地址總數(shù)一定不小于當前環(huán)上的MAC地址數(shù)。
·“MAC地址表指針”指向完成跨環(huán)自動拓撲發(fā)現(xiàn)后,樹狀鏈接雙向鏈表上本單元中“當前節(jié)點地址+當前網(wǎng)絡地址”所指定的RPR-X節(jié)點的MAC所在的RPR子網(wǎng)的拓撲信息在根節(jié)點中所存放位置的地址空間。
·“前置地址指針”指向從根節(jié)點到達雙向鏈表上本單元中當前節(jié)點地址所在的RPR-X節(jié)點的前一個RPR-X在雙向鏈表上的位置。
·next_ptr和prior_ptr是構建雙向鏈表用的指針。由next_ptr和prior_ptr構建的雙向鏈表之所以稱為樹狀鏈接,是由于前置地址指針的作用,構建了從根節(jié)點到第二層的RPR-X節(jié)點的拓撲信息,然后從第二層的RPR-X節(jié)點到第三層的RPR-X節(jié)點的拓撲信息,依次類推,直到最外面一層。這一層層的鏈接在數(shù)據(jù)結構中稱之為樹,同時采用雙向鏈表的結構存放,所以構建的RPR-X節(jié)點信息數(shù)據(jù)結構鏈表被稱為樹狀鏈接雙向鏈表。
3.構建拓撲信息表為了實現(xiàn)RPR多環(huán)自動拓撲發(fā)現(xiàn),除了能識別如上所述的網(wǎng)絡節(jié)點信息外,還需要識別網(wǎng)絡拓撲信息,本發(fā)明提出的拓撲信息表主要存儲每個子網(wǎng)的拓撲信息。拓撲信息表中的每一行為一個該單元結構,存放一個MAC地址和該MAC的屬性信息。拓撲信息表單元結構由以下幾部分組成·“節(jié)點地址(一個八位位組)+網(wǎng)絡地址(四個八位位組)”存放5字節(jié)的MAC地址。
·“節(jié)點屬性”兩字節(jié)長度,存放節(jié)點的MAC屬性參數(shù)。屬性參數(shù)的定義如下最低位 最高位
其中RX節(jié)點類型標記比特。RX=1表示RPR-X節(jié)點;RX=0表示RPR-S節(jié)點。
SD節(jié)點中的轉發(fā)緩沖區(qū)配置標記。SD=1表示采用STQ+PTQ;SD=0表示只有PTQ。
RI節(jié)點MAC所在環(huán)標記。RI=0表示外環(huán),RI=1表示內環(huán)。由于順時針多環(huán)自動拓撲發(fā)現(xiàn)特性,決定了RI的值在多環(huán)拓撲信息表中恒定為0。
WP保護倒換標志位。WP=1表示該節(jié)點處于保護倒換狀態(tài);WP=0表示該節(jié)點正常。
WC節(jié)點MAC是否可倒換標志位。WC=1表示該節(jié)點具有保護倒換功能;WC=0表示沒有保護倒換功能。
FAV表示該節(jié)點使用的公平性算法的版本,數(shù)值為從1-7。
WT表示該節(jié)點MAC的權重,數(shù)值為從1-7。
REV保留位,可作為WT的擴展。
4.獲得整個網(wǎng)絡的拓撲信息表當各節(jié)點分別構造了本地RPR子網(wǎng)的拓撲信息表后,每個RPR子網(wǎng)即完成了本地子網(wǎng)的自動拓撲發(fā)現(xiàn)過程。由于RPR-X節(jié)點的MAC地址由左右兩部分組成(分屬于兩個不同的RPR子網(wǎng)),標記為左MAC和右MAC,分別保存有各自所屬RPR子網(wǎng)的拓撲信息,所以,如果左MAC為當前MAC地址,那么交叉連接節(jié)點的MAC就是右MAC,反之也成立。這兩個MAC之間的通信采用交叉MAC端口進行,RPR-X節(jié)點中跨環(huán)轉發(fā)的功能就是當前MAC通過交叉MAC端口向交叉連接節(jié)點的MAC轉發(fā)跨環(huán)幀的過程。本地RPR子網(wǎng)拓撲信息在RPR-X節(jié)點的多環(huán)自動拓撲發(fā)現(xiàn)算法中被命名為第一層子網(wǎng)拓撲信息。進行多環(huán)自動拓撲發(fā)現(xiàn)的MAC稱為根MAC,該節(jié)點為根節(jié)點。
當RPR-X節(jié)點MAC控制層的多環(huán)自動拓撲發(fā)現(xiàn)模塊檢測到本地自動拓撲發(fā)現(xiàn)已完成后,即啟動多環(huán)自動拓撲發(fā)現(xiàn)過程,具體如下1)初始化多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)結構,分配多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)存儲空間,把本地RPR子網(wǎng)的拓撲信息以順時針方向存入多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)空間的起始部分。初始化完畢后進入第2步。
2)每個RPR-X節(jié)點開始RPR多環(huán)網(wǎng)中第二層子網(wǎng)的自動拓撲發(fā)現(xiàn)過程。這里,第二層子網(wǎng)定義為與第一層子網(wǎng)直接相鄰的RPR子網(wǎng)。根MAC向互連第一、二層RPR子網(wǎng)的RPR-X節(jié)點發(fā)送跨環(huán)拓撲信息查詢控制幀,并且以順時針方向向RPR-X節(jié)點發(fā)送查詢幀,被查詢的RPR-X節(jié)點的MAC控制層接收到查詢幀后,構造跨環(huán)拓撲信息查詢反饋控制幀,把本RPR子網(wǎng)中的拓撲信息以順時針方向組織后(即RPR子網(wǎng)外環(huán)的拓撲信息),組裝到拓撲信息查詢反饋控制幀,發(fā)送回根MAC。根MAC接收到拓撲信息查詢反饋控制幀后,從該幀中提取拓撲信息。第二層自動拓撲發(fā)現(xiàn)完成后,進入第3步。
3)每個RPR-X節(jié)點開始RPR多環(huán)網(wǎng)中第三層子網(wǎng)的自動拓撲發(fā)現(xiàn)過程。第三層子網(wǎng)定義為與第二層子網(wǎng)直接相鄰,并且不屬于第一層、第二層子網(wǎng)的RPR子網(wǎng)。第三層子網(wǎng)的拓撲發(fā)現(xiàn)與第二層子網(wǎng)類似,根MAC采用順時針方向依次發(fā)送拓撲信息查詢控制幀,接收到拓撲信息反饋控制幀后,從該幀中提取拓撲信息。第三層自動拓撲發(fā)現(xiàn)完成后,進入第4步。
4)采用相同的自動拓撲發(fā)現(xiàn)過程,自動發(fā)現(xiàn)第四層、第五層等拓撲信息,直到完成所有RPR子網(wǎng)的拓撲信息的自動發(fā)現(xiàn)。此時,每個RPR-X節(jié)點上規(guī)律的保存有整個RPR多環(huán)網(wǎng)絡中的所有節(jié)點信息。進入第5步。
5)RPR-X節(jié)點把樹狀鏈接雙向鏈表的數(shù)據(jù)信息(保存了所有RPR-X節(jié)點信息)組織成廣播幀,在本地RPR子網(wǎng)中廣播,每個RPR-S節(jié)點從該廣播幀中可以獲取RPR多環(huán)互連網(wǎng)絡中RPR-X節(jié)點的互連信息,從該RPR-X節(jié)點的互連信息,可以獲得RPR多環(huán)網(wǎng)絡拓撲結構。
以上過程中,RPR-X節(jié)點的多環(huán)自動拓撲發(fā)現(xiàn)模塊在進行主動的多環(huán)自動拓撲發(fā)現(xiàn)的同時,如果接收到跨環(huán)拓撲查詢,則立即暫停主動的自動拓撲發(fā)現(xiàn)過程,只有把本地子網(wǎng)的拓撲信息組裝到自動拓撲發(fā)現(xiàn)反饋控制幀,并向查詢節(jié)點反饋后,才能繼續(xù)暫停的自動拓撲發(fā)現(xiàn)進程。
根MAC在向各RPR-X節(jié)點發(fā)送跨環(huán)拓撲信息查詢控制幀時,該跨環(huán)控制幀中的地址域信息是由構建的樹狀鏈接雙向鏈表中的信息進行初始化的。該初始化過程相當于找到一條從源節(jié)點到目的節(jié)點的轉發(fā)途徑(由RPR-X節(jié)點構成MAC地址序列),由于MAC地址屬于OSI-7層協(xié)議模型第二層中內容,因此該地址序列的計算稱之為Layer 2路由算法。根據(jù)跨環(huán)自動拓撲發(fā)現(xiàn)規(guī)律,目的地節(jié)點一定是RPR-X節(jié)點,目的MAC地址(子網(wǎng)地址+節(jié)點地址)一定是RPR-X節(jié)點兩個MAC中與根MAC相距較遠的一個MAC地址。所以地址域中最后一個地址信息為目的MAC(子網(wǎng)地址+節(jié)點地址),倒數(shù)第二個地址信息一定是目的地MAC所在RPR-X節(jié)點中交叉連接節(jié)點的MAC地址。基于此,可確定Layer 2路由的計算過程如下1)由目的地節(jié)點的MAC地址(子網(wǎng)地址+節(jié)點地址)所在的拓撲信息表,得到指向該拓撲信息表的RPR-X節(jié)點在雙向鏈表中的位置(該RPR-X節(jié)點是從源節(jié)點到達目的節(jié)點的路由途徑中最近的一個RPR-X節(jié)點。其左MAC和右MAC地址是Layer 2路由途徑中的倒數(shù)第三,第四個地址。由自動拓撲發(fā)現(xiàn)算法和數(shù)據(jù)結構決定該RPR-X節(jié)點所對應的雙向鏈表中的“當前MAC地址+當前網(wǎng)絡地址”為倒數(shù)第三個地址,“交叉連接節(jié)點MAC地址+交叉連接節(jié)點網(wǎng)絡地址”為倒數(shù)第四個地址)。
2)由步驟1)中得到的雙向鏈表中RPR-X節(jié)點單元信息中的前置地址指針可以得到路由途徑中再前一個RPR-X節(jié)點,計算相關的地址信息。再依次向前處理前置地址指針,直到前置地址指針指向表頭地址時(此時源節(jié)點就是表頭地址所指向的RPR-X節(jié)點兩個MAC中的一個,為當前MAC地址,而前一個RPR-X節(jié)點是屬于邏輯第二層RPR子網(wǎng)中的節(jié)點),轉步驟3)。
3)判定到目前為止已經(jīng)構建的路由序列中最新的節(jié)點地址是否為雙向鏈表表頭指向的RPR-X節(jié)點的當前MAC地址(即根MAC地址)。如果是,則不作操作,Layer 2路由計算完成;如果否,則把該當前MAC地址加入到路由序列中,Layer2路由計算完成。
本發(fā)明的方法有效解決了RPR多環(huán)互連網(wǎng)絡拓撲的路由信息自動發(fā)現(xiàn)和網(wǎng)絡自動控制等方面的問題,解決了彈性分組環(huán)(RPR)單環(huán)架構的資源浪費問題,同時兼容單環(huán)架構的分布式自動控制特性及吸取其自動拓撲發(fā)現(xiàn)算法的優(yōu)點,克服了傳統(tǒng)路由設備中每一個節(jié)點都必須計算路由信息的低效率問題。
附圖1為本發(fā)明的RPR多環(huán)互連拓撲結構圖。
如圖1所示,RPR多環(huán)互連網(wǎng)絡由RPR-S節(jié)點和RPR-X節(jié)點通過光纖鏈路互連構成多環(huán)傳輸拓撲,RPR-S節(jié)點完成標準的RPR環(huán)網(wǎng)傳輸,RPR-X節(jié)點除完成RPR-S節(jié)點的功能外,還將支持跨環(huán)業(yè)務的傳輸。圖1中給出了四個RPR子網(wǎng)相切,在切點上通過RPR-X節(jié)點互連的的示意圖。
圖2為本發(fā)明的RPR多環(huán)互連自動拓撲發(fā)現(xiàn)實現(xiàn)方法流程圖。
圖2給出了RPR-X節(jié)點MAC控制層中多環(huán)自動拓撲發(fā)現(xiàn)算法流程圖。多環(huán)自動拓撲發(fā)現(xiàn)進程首先初始化多環(huán)自動拓撲發(fā)現(xiàn)的數(shù)據(jù)空間和數(shù)據(jù)結構,然后依次以順時針方向,分層次的向其它RPR-X節(jié)點查詢跨環(huán)拓撲信息,并最終在本地構建成全網(wǎng)的拓撲信息映射圖。
圖3為多環(huán)自動拓撲發(fā)現(xiàn)實例的拓撲結構。
圖3給出了基于附圖1的拓撲圖,以RPR子網(wǎng)2中節(jié)點4為根節(jié)點時多環(huán)自動拓撲發(fā)現(xiàn)的拓撲信息結構。圖3中,(a)給出了以RPR子網(wǎng)2中節(jié)點4為根節(jié)點時的三層樹狀拓撲信息結構,(b)給出了該樹狀拓撲信息結構采用本發(fā)明中的樹狀鏈接雙向鏈表所構成的拓撲信息表結構。
具體實施例方式以下結合附圖對本發(fā)明技術方案的具體實施方式
作詳細描述。
以附圖1中的RPR多環(huán)網(wǎng)絡拓撲為例,具體討論RPR子網(wǎng)2中節(jié)點4(簡稱Sub2/Nd4,之后節(jié)點采用類似命名法)的多環(huán)自動拓撲發(fā)現(xiàn)過程,也就是該RPR-X節(jié)點的左MAC控制層中的多環(huán)自動拓撲發(fā)現(xiàn)算法的運行過程,由于每個RPR-X節(jié)點運行兩個多環(huán)自動拓撲發(fā)現(xiàn)進程,整個網(wǎng)絡中共運行了8個多環(huán)自動拓撲發(fā)現(xiàn)進程。
由附圖1的網(wǎng)絡拓撲分析,Sub2/Nd4發(fā)起多環(huán)自動拓撲發(fā)現(xiàn),因此該節(jié)點為根節(jié)點,并且RPR子網(wǎng)2是第一層子網(wǎng)。與第一層子網(wǎng)直接相鄰的RPR子網(wǎng)3、RPR子網(wǎng)5、RPR子網(wǎng)1(按順時針方向)屬于第二層子網(wǎng)。RPR子網(wǎng)4為第三層子網(wǎng)。附圖1中的網(wǎng)絡拓撲以Sub2/Nd4為根節(jié)點,總共具有三層子網(wǎng)的拓撲結構,各層子網(wǎng)經(jīng)由RPR-X節(jié)點相互聯(lián)系,因此可以直接用RPR-X節(jié)點信息表示出該拓撲結構。表示結果見附圖3(a),為一個以Sub2/Nd4為根的簡單樹狀數(shù)據(jù)結構。下面將詳細討論Sub2/Nd4節(jié)點多環(huán)自動拓撲發(fā)現(xiàn)過程。
(1)RPR子網(wǎng)首先完成標準的本地自動拓撲發(fā)現(xiàn)過程,每個節(jié)點存儲有本地環(huán)的拓撲信息,RPR-X節(jié)點的左MAC和右MAC各自分別存有所在RPR子網(wǎng)的拓撲信息。
(2)Sub2/Nd4節(jié)點檢測到RPR子網(wǎng)2完成了本地自動拓撲發(fā)現(xiàn),啟動多環(huán)自動拓撲發(fā)現(xiàn)過程。首先建立雙向鏈表的表頭節(jié)點,記錄根MAC節(jié)點Sub2/Nd4(RPR-X節(jié)點的左MAC)的信息,信息的結構在樹狀鏈接的雙向鏈表單元結構中定義,其中邏輯層設定為1,前置MAC地址設定為-1,前置網(wǎng)絡設定為0,前置地址指針設定為0,next_ptr與prior_ptr皆設定為0。MAC地址表指針指向本地的拓撲信息表空間,當前環(huán)上的MAC地址數(shù)為Sub2的節(jié)點數(shù),為6,當前地址表中的MAC地址總數(shù)為本地拓撲信息表中的MAC數(shù)目,為9(在拓撲信息表中,每個RPR-X節(jié)點將占用兩個MAC存儲空間,第一個空間存放當前節(jié)點的MAC信息,第二空間存放交叉連接節(jié)點的MAC信息,Sub2中有3個RPR-X節(jié)點,所以共有9個地址信息)。Sub2/Nd4信息在樹狀鏈接雙向鏈表中的相應位置為附圖3(b)的第一個單元結構。
(3)Sub2/Nd4完成第一層拓撲信息表構建后,開始進行第二層RPR子網(wǎng)的自動拓撲發(fā)現(xiàn)。搜索第一層RPR子網(wǎng)的拓撲信息表,發(fā)現(xiàn)本拓撲信息表中有3個RPR-X節(jié)點(即判定屬性字節(jié)1中的最低比特位),而該3個RPR-X節(jié)點中的交叉連接節(jié)點MAC連接的是第二層RPR子網(wǎng)(三個節(jié)點為Sub3/Nd1,Sub5/Nd1,Sub1/Nd4)。Sub2/Nd4節(jié)點按順時針方向,依次向該三個節(jié)點MAC的控制層發(fā)送跨環(huán)自動拓撲發(fā)現(xiàn)查詢控制幀,這些節(jié)點接收到拓撲信息查詢控制幀后,分別向根MAC發(fā)送跨環(huán)拓撲信息響應控制幀。根MAC節(jié)點接收到拓撲信息后構建樹狀鏈接雙向鏈表(圖3(b)中雙向鏈表的2,3,4單元)和拓撲信息表。第二層RPR-X節(jié)點構建的樹狀鏈接雙向鏈表的參數(shù)設置計算結果如下邏輯層設定為2,前置MAC地址值設定為-4,前置網(wǎng)絡地址設定為Sub2的子網(wǎng)地址,前置地址指針指向鏈表頭(根MAC的鏈表單元),MAC地址表指針指向相應存儲拓撲信息的地址空間。其余的參數(shù)按照相關的定義進行計算設定。
(4)Sub2/Nd4節(jié)點完成了第二層拓撲發(fā)現(xiàn)后,搜索第二層拓撲信息表中的RPR-X節(jié)點,如果搜索到的RPR-X節(jié)點在雙向鏈表中已經(jīng)出現(xiàn),則表示該節(jié)點屬于已處理完的拓撲層;如果搜索到的RPR-X節(jié)點在雙向鏈表中沒有出現(xiàn),表示該節(jié)點是屬于第三層RPR子網(wǎng)。在本例中,搜索到的第三層RPR-X節(jié)點為Sub4/Nd1,根MAC節(jié)點Sub2/Nd4向該節(jié)點發(fā)送跨環(huán)自動拓撲發(fā)現(xiàn)控制幀,得到Sub4子網(wǎng)的拓撲信息,構建樹狀鏈接雙向鏈表(附圖3(b)中雙向鏈表的第5單元)和跨環(huán)拓撲信息表。
(5)第三層RPR子網(wǎng)多環(huán)自動拓撲發(fā)現(xiàn)完后,依次進行第四層、第五層等后面層次的拓撲自動發(fā)現(xiàn)過程(如果存在的話)。本例中只有三層RPR子網(wǎng),所以完成第(4)步后,Sub4/Nd2判定出沒有可發(fā)現(xiàn)的RPR子網(wǎng)信息,即停止本節(jié)點上的自動拓撲發(fā)現(xiàn)過程。
(6)Sub2/Nd4完成多環(huán)自動拓撲發(fā)現(xiàn)后,把樹狀鏈接雙向鏈表的數(shù)據(jù)信息組織成廣播幀,在RPR子網(wǎng)2中廣播,該子網(wǎng)中的每個RPR-S節(jié)點從該廣播幀中可以獲取附圖1多環(huán)互連網(wǎng)絡拓撲中RPR-X節(jié)點的互連信息,進而推導出整個網(wǎng)絡的結構。
綜上過程,可得Sub2/Nd4所構造的全網(wǎng)的拓撲信息表如下。
子網(wǎng)2/節(jié)點4的多環(huán)拓撲信息表
以上子網(wǎng)2/節(jié)點4的多環(huán)拓撲信息表給出了在附圖1所示拓撲的RPR子網(wǎng)2中,以節(jié)點4為根節(jié)點完成多環(huán)自動拓撲發(fā)現(xiàn)后所獲得的拓撲信息表,它就是該節(jié)點所獲的全網(wǎng)拓撲信息。
其中,List-1為第一層子網(wǎng)的拓撲信息,List-2,List-3,List-4為第二層子網(wǎng)的拓撲信息,分別對應了RPR子網(wǎng)3,5和1。List-5為第三層子網(wǎng)的拓撲信息,對應了RPR子網(wǎng)4。對于List-1,它包含6個節(jié)點,其中的3個節(jié)點為RPR-S節(jié)點(3個MAC地址),另外3個為RPR-X節(jié)點,它們有6個MAC地址(每個RPR-X節(jié)點有兩個MAC)。所以LIST-1共有9行數(shù)據(jù),同理可知List2-5中的情況。對于每個List來說,它有四列數(shù)據(jù),其含義由拓撲信息表單元結構定義。從左往右分別為節(jié)點地址,子網(wǎng)地址,節(jié)點屬性字節(jié)2,節(jié)點屬性字節(jié)1。由屬性字節(jié)1的最低位比特是否為1,可以判定該MAC所在的節(jié)點是否為RPR-X節(jié)點。例如由LIST-1的第一行數(shù)據(jù)“4 2 19 1”,可得節(jié)點地址和子網(wǎng)地址分別為4和2,由數(shù)值1可得該節(jié)點的屬性為RPR-X節(jié)點。數(shù)值19為節(jié)點屬性字節(jié)2,為節(jié)點MAC的權重,本發(fā)明未著重強調。
最后,以Sub2/Nd4自動發(fā)現(xiàn)第三層子網(wǎng)過程中路由地址計算過程補充說明Layer 2路由的實現(xiàn)實例。Sub2/Nd4節(jié)點完成了第二層拓撲發(fā)現(xiàn)后,搜索第二層拓撲信息表中的RPR-X節(jié)點,搜索到Sub3/Nd4與Sub4/Nd1所構成的RPR-X節(jié)點尚不存在于雙向鏈表中,即該節(jié)點是屬于第三層RPR子網(wǎng)。其中目的地Sub4/Nd1節(jié)點為RPR-X節(jié)點的當前MAC地址,該MAC地址為Layer 2路由序列中的最末地址(0-0-0-4-1),而Sub3/Nd4為該RPR-X節(jié)點的交叉連接節(jié)點的MAC,該MAC地址為路由序列的倒數(shù)第二個地址(0-0-0-3-4)。由剛才搜索的第二層拓撲信息表可以得到指向該信息表的雙向鏈表中的RPR-X節(jié)點信息,即附圖3(b)中的第二個單元(Sub3/Nd1作為當前MAC地址的RPR-X節(jié)點)。顯然雙向鏈表中該RPR-X節(jié)點是與目的Sub4/Nd1節(jié)點相鄰最近的RPR-X節(jié)點,該雙向鏈表單元的“當前節(jié)點地址+當前網(wǎng)絡地址”的值為Layer 2路由序列的倒數(shù)第三個地址(0-0-0-3-1),而“交叉連接節(jié)點MAC地址+交叉連接節(jié)點網(wǎng)絡地址”的值為Layer2路由序列的倒數(shù)第四個地址(0-0-0-2-4)。此時雙向鏈表該單元中前置地址指針指向表頭,“前置MAC地址+前置網(wǎng)絡地址”的值為根節(jié)點的MAC地址,同時最前的Layer 2路由序列地址(即倒數(shù)第四個地址)就是根節(jié)點的MAC地址,此時Layer 2路由序列計算結束。
權利要求
1.一種彈性分組多環(huán)互連網(wǎng)絡自動拓撲發(fā)現(xiàn)的實現(xiàn)方法,其特征在于包括如下具體步驟(1)彈性分組環(huán)RPR單環(huán)網(wǎng)絡媒質接入控制MAC地址的擴展定義將標準的MAC地址中剩余的5個字節(jié)在邏輯上區(qū)分為2部分,最低字節(jié)為邏輯域0,用來表示RPR子網(wǎng)中的節(jié)點地址,剩余的4字節(jié)為邏輯域1,用來表示節(jié)點所處的RPR子網(wǎng)的網(wǎng)絡地址,網(wǎng)絡地址域區(qū)分不同的RPR子網(wǎng),節(jié)點地址域區(qū)分同一RPR子網(wǎng)中的不同節(jié)點,網(wǎng)絡地址加上節(jié)點地址組成的MAC地址,可以唯一確定RPR多環(huán)互連網(wǎng)絡中的任何一個節(jié)點;(2)構建樹狀鏈接的雙向鏈表雙向鏈表主要存儲RPR-X節(jié)點和RPR-S節(jié)點的信息,同時保存第二層路由時的相關數(shù)據(jù),RPR-X節(jié)點為兩個RPR子網(wǎng)間的交叉連接節(jié)點,除了支持標準的RPR子網(wǎng)傳輸外,還支持RPR跨環(huán)傳輸;RPR-S節(jié)點為RPR的標準節(jié)點,只支持RPR子網(wǎng)傳輸,樹狀鏈接的雙向鏈表的結構包括邏輯層、當前節(jié)點地址+當前網(wǎng)絡地址、當前節(jié)點MAC屬性、交叉連接節(jié)點MAC屬性、交叉連接節(jié)點MAC地址+交叉連接節(jié)點網(wǎng)絡地址、前置MAC地址+前置網(wǎng)絡地址、當前環(huán)上的MAC地址數(shù)、當前地址表中的MAC地址總數(shù)、MAC地址表指針、前置地址指針、next_ptr和prior_ptr;其中邏輯層保存本MAC所屬的RPR子網(wǎng)在多環(huán)自動拓撲發(fā)現(xiàn)時屬于第幾層的RPR子網(wǎng),其值為1時表示是根節(jié)點;前置MAC地址+前置網(wǎng)絡地址保存距離當前MAC地址最近的RPR-X節(jié)點的5字節(jié)長度MAC地址;MAC地址表指針指向為完成跨環(huán)自動拓撲發(fā)現(xiàn)后,當前節(jié)點地址+當前網(wǎng)絡地址所指定的RPR-X節(jié)點的MAC所在的RPR子網(wǎng)的拓撲信息在根節(jié)點中所存放位置的地址空間;前置地址指針指向為從根節(jié)點到達雙向鏈表上本單元中當前節(jié)點地址所在的RPR-X節(jié)點的前一個RPR-X在雙向鏈表上的位置;next_ptr和prior_ptr是構建雙向鏈表用的指針;(3)構建拓撲信息表拓撲信息表單元結構包括節(jié)點地址+網(wǎng)絡地址、節(jié)點屬性,其中節(jié)點屬性的最低比特RX為節(jié)點類型標記比特,RX=1表示RPR-X節(jié)點,RX=0表示RPR-S節(jié)點;(4)獲得整個網(wǎng)絡的拓撲信息表當RPR-X節(jié)點MAC控制層的多環(huán)自動拓撲發(fā)現(xiàn)模塊檢測到本地自動拓撲發(fā)現(xiàn)已完成后,即啟動多環(huán)自動拓撲發(fā)現(xiàn)過程1)初始化多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)結構,分配多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)存儲空間,把本地RPR子網(wǎng)的拓撲信息以順時針方向存入多環(huán)自動拓撲發(fā)現(xiàn)數(shù)據(jù)空間的起始部分;2)每個RPR-X節(jié)點開始RPR多環(huán)網(wǎng)中第二層子網(wǎng)的自動拓撲發(fā)現(xiàn)過程,第二層子網(wǎng)定義為與第一層子網(wǎng)直接相鄰的RPR子網(wǎng),根MAC向互連第一、二層RPR子網(wǎng)的RPR-X節(jié)點發(fā)送跨環(huán)拓撲信息查詢控制幀,并且以順時針方向向RPR-X節(jié)點發(fā)送查詢幀,被查詢的RPR-X節(jié)點的MAC控制層接收到查詢幀后,構造跨環(huán)拓撲信息查詢反饋控制幀,把本RPR子網(wǎng)中的拓撲信息以順時針方向組織后,組裝到拓撲信息查詢反饋控制幀,發(fā)送回根MAC,根MAC接收到拓撲信息查詢反饋控制幀后,從該幀中提取拓撲信息;3)每個RPR-X節(jié)點開始RPR多環(huán)網(wǎng)中第三層子網(wǎng)的自動拓撲發(fā)現(xiàn)過程,第三層子網(wǎng)定義為與第二層子網(wǎng)直接相鄰,并且不屬于第一層、第二層子網(wǎng)的RPR子網(wǎng),根MAC采用順時針方向依次發(fā)送拓撲信息查詢控制幀,接收到第三層子網(wǎng)拓撲信息反饋控制幀后,從該幀中提取拓撲信息;4)采用相同的自動拓撲發(fā)現(xiàn)過程,自動發(fā)現(xiàn)第四層、第五層拓撲信息,直到完成所有RPR子網(wǎng)的拓撲信息的自動發(fā)現(xiàn),此時,每個RPR-X節(jié)點上規(guī)律的保存有整個RPR多環(huán)網(wǎng)絡中的所有節(jié)點信息;5)RPR-X節(jié)點把樹狀鏈接雙向鏈表的數(shù)據(jù)信息組織成廣播幀,在本地RPR子網(wǎng)中廣播,每個RPR-S節(jié)點從該廣播幀中獲取RPR多環(huán)互連網(wǎng)絡中RPR-X節(jié)點的互連信息,從該RPR-X節(jié)點的互連信息,可以獲得RPR多環(huán)網(wǎng)絡拓撲結構。
全文摘要
一種彈性分組多環(huán)互連網(wǎng)絡自動拓撲發(fā)現(xiàn)的實現(xiàn)方法,首先將標準化的彈性分組環(huán)RPR單環(huán)網(wǎng)絡的媒質接入控制MAC地址表示方法作了擴展定義,然后構建樹狀鏈接的雙向鏈表和拓撲信息表單元結構,用以保存網(wǎng)絡中的拓撲信息和節(jié)點信息,最后基于構建的鏈表和信息表,采用順時針分層的方法實現(xiàn)多環(huán)互連網(wǎng)絡的自動拓撲發(fā)現(xiàn)。本發(fā)明同時兼容單環(huán)架構的分布式自動控制特性及吸取其自動拓撲發(fā)現(xiàn)算法的優(yōu)點,有效解決了RPR多環(huán)互連網(wǎng)絡拓撲的路由信息自動發(fā)現(xiàn)和網(wǎng)絡自動控制等方面的問題,基于鏈表和信息表中保存的拓撲信息和節(jié)點信息,可以完成第二層路由計算,使得網(wǎng)絡中的任一節(jié)點可以快速地計算出到達網(wǎng)絡中其它任何節(jié)點的路由序列。
文檔編號H04L12/42GK1547359SQ20031010919
公開日2004年11月17日 申請日期2003年12月9日 優(yōu)先權日2003年12月9日
發(fā)明者張治中, 趙正福, 曾慶濟, 周瑜莉 申請人:上海交通大學