專利名稱:實現(xiàn)同步光網(wǎng)絡(luò)上的以太網(wǎng)環(huán)境下生成樹的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種用于實現(xiàn)同步光網(wǎng)絡(luò)上的以太網(wǎng)環(huán)境下生成樹的方法和系統(tǒng)。
背景技術(shù):
目前,局域網(wǎng)通過網(wǎng)橋/交換機進行互聯(lián),形成一個比較大的網(wǎng)絡(luò)——橋接局域網(wǎng)。在橋接局域網(wǎng)規(guī)劃的時候,因為多路徑保護的需要,或者規(guī)劃錯誤,導(dǎo)致橋接局域網(wǎng)內(nèi)部存在數(shù)據(jù)環(huán)路,如圖1所示。此時,將出現(xiàn)諸如廣播風(fēng)暴、幀復(fù)制、幀錯序等嚴重問題,使得整個橋接局域網(wǎng)性能下降,最終導(dǎo)致網(wǎng)絡(luò)的不可用。
因此生成樹協(xié)議,通過阻塞數(shù)據(jù)環(huán)路中的部分端口,保證任意兩個節(jié)點之間只有一條傳輸路徑,在原有的物理拓撲上建立一棵數(shù)據(jù)傳輸?shù)臉?,避免由于?shù)據(jù)環(huán)路而造成的種種問題,如圖2所示。
目前,IEEE給出了3種生成樹解決方案STP(生成樹協(xié)議,參見IEEE802.1D)、RSTP(快速生成樹協(xié)議,參見IEEE802.1W)以及MSTP(多生成樹協(xié)議,參見IEEE802.1S)。這三種方案,均針對的是傳統(tǒng)的局域網(wǎng)絡(luò)——地理位置受限。隨著以太網(wǎng)業(yè)務(wù)在SDH/Sonet(同步數(shù)字序列/同步光網(wǎng)絡(luò))上傳送的需求以及應(yīng)用越來越廣泛,橋接局域網(wǎng)正在向城域網(wǎng)、廣域網(wǎng)擴展,此時,必須調(diào)整生成樹的實現(xiàn)策略,以適應(yīng)這種變化。
目前針對這種需求,主要存在兩種解決方案(一)如圖3所示,運營商內(nèi)部網(wǎng)絡(luò)、用戶內(nèi)部網(wǎng)絡(luò)分開管理。使用生成樹管理用戶網(wǎng)絡(luò)拓撲,運營商內(nèi)部網(wǎng)絡(luò)可以選擇其他的技術(shù)進行拓撲管理(一般通過配置管理,保證內(nèi)部網(wǎng)絡(luò)不會出現(xiàn)橋接局域網(wǎng)的數(shù)據(jù)環(huán)路)。在每個PE(Provider Edge網(wǎng)絡(luò)服務(wù)供應(yīng)商邊緣設(shè)備),提供網(wǎng)絡(luò)接入服務(wù)。通常下掛CE設(shè)備(Customer Edge用戶邊緣設(shè)備),(CE設(shè)備是用戶的設(shè)備,通過CE將業(yè)務(wù)接入到運營商內(nèi)部網(wǎng)絡(luò))所連接的用戶網(wǎng)絡(luò)被作為一個獨立的生成樹管理域。其缺點是,如圖4所示,同一個用戶的兩個孤立生成樹管理域之間,存在兩條傳輸路徑。由于運營商網(wǎng)絡(luò)同用戶網(wǎng)絡(luò)分開管理,生成樹協(xié)議不能夠避免環(huán)路;(二)如圖5所示,運營商內(nèi)部網(wǎng)絡(luò)以及用戶內(nèi)部網(wǎng)絡(luò)均使用生成樹進行管理,此時,能夠避免方案一所產(chǎn)生的缺陷。其缺點是,運營商內(nèi)部網(wǎng)絡(luò)對用戶網(wǎng)絡(luò)是可見的,運行商/用戶在進行生成樹管理的時候,必須知道對方網(wǎng)絡(luò)的拓撲,造成管理上的復(fù)雜性。同時,內(nèi)部網(wǎng)絡(luò)的變化對外部網(wǎng)絡(luò)產(chǎn)生影響。
發(fā)明內(nèi)容
針對上面的描述,本發(fā)明的一個目的就是提出了一種用于實現(xiàn)EoS環(huán)境下生成樹的方法,該方法為將運營商網(wǎng)絡(luò)抽象成邏輯網(wǎng)橋,并為各用戶網(wǎng)絡(luò)提供端口服務(wù);在運營商網(wǎng)絡(luò)上運行生成樹協(xié)議,該生成樹的管理域為運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò);并在運營商網(wǎng)絡(luò)的網(wǎng)元上運行生成樹代理;在運營商網(wǎng)元和用戶網(wǎng)元之間采用信令進行交互,以實現(xiàn)整個生成樹的形成。
所述的生成樹代理,運行于運營商網(wǎng)絡(luò)的網(wǎng)元上,用于完成運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò)之間生成樹配置信息的交互。
所述的運營商網(wǎng)絡(luò)上運行生成樹協(xié)議,是通過運行生成樹控制器完成的,所述的生成樹控制器發(fā)送配置信息給各生成樹代理。
所述的配置信息包括網(wǎng)橋靜態(tài)信息、網(wǎng)橋動態(tài)信息和端口信息。
所述的配置信息還還包括設(shè)置的一個對應(yīng)關(guān)系,所述的對應(yīng)關(guān)系為運營商網(wǎng)絡(luò)端口與網(wǎng)元端口之間的對應(yīng)關(guān)系。
所述的運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò)之間交互的信令,通過符合802.3標準的以太網(wǎng)幀承載。
所述的方法,當運營商網(wǎng)絡(luò)的設(shè)備執(zhí)行生成樹控制器的相關(guān)處理時,其為主控節(jié)點;否則,認為其是非主控節(jié)點,該方案進一步包括以下步驟步驟1,初始時,各節(jié)點均認為自己是主控節(jié)點,均定時向其他節(jié)點發(fā)送信令1;步驟2,節(jié)點收到信令1中的主控ID比本節(jié)點的ID小,則進入等待狀態(tài),保存收到的主控節(jié)點ID,在等待狀態(tài)發(fā)送信令2,并開始對主控節(jié)點信息進行老化;步驟3,節(jié)點在收到本節(jié)點的定時信息前沒有收到節(jié)點ID更小的信息,收到定時信息后轉(zhuǎn)入端口信息收集狀態(tài)。此時,主控節(jié)點已經(jīng)確定,開始對環(huán)上的端口信息進行統(tǒng)計;步驟4,主控節(jié)點A在端口信息收集狀態(tài)收到信令2,發(fā)現(xiàn)信令2中的節(jié)點MAC在本地的端口信息數(shù)據(jù)庫中沒有對應(yīng)的數(shù)據(jù)項,則回發(fā)信令3;步驟5,否則,更新此節(jié)點的老化標志;非主控節(jié)點B在等待狀態(tài)收到主控節(jié)點的信令3后,進入端口信息發(fā)送狀態(tài);步驟6,非主控節(jié)點B進入端口信息發(fā)送狀態(tài)后,向主控節(jié)點發(fā)送本節(jié)點的端口信息信令4;步驟7,主控節(jié)點A收到節(jié)點B信令4后,判斷在端口信息數(shù)據(jù)庫中有沒有對應(yīng)的節(jié)點MAC,如果沒有為之建立數(shù)據(jù)項,同時回發(fā)信令6通知節(jié)點B進入監(jiān)視狀態(tài);否則,更新端口信息數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)項;步驟8,非主控節(jié)點B在等待狀態(tài)收到信令6后,進入監(jiān)視狀態(tài),開始收發(fā)BPDU報文;步驟9,主控節(jié)點在端口信息收集狀態(tài)收到本地的定時信息后,轉(zhuǎn)入主控狀態(tài);步驟10,主控節(jié)點進入主控狀態(tài)后,激活生成樹模塊,開始收發(fā)BPDU報文。
本發(fā)明又提出了一種用于實現(xiàn)EoS環(huán)境下生成樹的系統(tǒng)包括運營商網(wǎng)絡(luò),用戶網(wǎng)絡(luò),運營商網(wǎng)絡(luò)上運行的一生成樹控制器,用于完成相關(guān)的端口管理、協(xié)議處理;以及運營商網(wǎng)絡(luò)網(wǎng)元設(shè)備上運行的生成樹代理結(jié)構(gòu),用于提交生成樹控制器進行處理、接收生成樹控制器發(fā)送的配置信息、發(fā)送到用戶內(nèi)部網(wǎng)絡(luò)、監(jiān)測用戶內(nèi)部網(wǎng)絡(luò)拓撲是否發(fā)生更改、上報控制器進行處理。
所述的生成樹控制器包括一生成樹協(xié)議處理模塊,用于標準的生成樹處理;一信令處理模塊,用于解析生成樹代理發(fā)送的信令,維護邏輯網(wǎng)橋端口信息;將信令中所攜載的生成樹協(xié)議報文,交給生成樹協(xié)議處理模塊;同時,接收到生成樹協(xié)議處理模塊的報文發(fā)送請求后,查詢端口信息數(shù)據(jù)庫,決定報文發(fā)往哪個生成樹代理;一信令接收/發(fā)送模塊,用于從生成樹代理接收/發(fā)送信令;以及一邏輯網(wǎng)橋端口信息數(shù)據(jù)庫,用于存放邏輯網(wǎng)橋各端口信息,包括邏輯端口在哪個PE,對應(yīng)于PE上的具體哪個物理端口,通過此信息,信令處理模塊決定將生成樹協(xié)議報文發(fā)到哪個PE上的生成樹代理上。
本發(fā)明的技術(shù)方案,避免了運營商內(nèi)部網(wǎng)絡(luò)同用戶網(wǎng)絡(luò)之間拓撲相互影響。通過為不同的用戶建立不同的邏輯網(wǎng)橋,實現(xiàn)不同用戶之間網(wǎng)絡(luò)的隔離,避免一個用戶網(wǎng)絡(luò)拓撲的變化對其他的用戶產(chǎn)生影響。
本發(fā)明將運營商網(wǎng)絡(luò)虛擬成邏輯網(wǎng)橋,并提供生成樹服務(wù),將用戶內(nèi)部的橋接局域網(wǎng)擴展到了城域網(wǎng)、廣域網(wǎng)。
圖1給出了現(xiàn)有技術(shù)的示意圖;圖2給出了現(xiàn)有技術(shù)所存在的問題的示意圖;圖3給出了現(xiàn)有技術(shù)方案1的示意圖;圖4給出了現(xiàn)有技術(shù)方案1所存在的問題的示意圖;圖5給出了現(xiàn)有技術(shù)方案2的示意圖;圖6給出了根據(jù)本發(fā)明的橋接網(wǎng)絡(luò)的示意圖;圖7給出了生成器控制器的結(jié)構(gòu)示意圖;圖8給出了生成器代理的結(jié)構(gòu)示意圖;
圖9給出了控制器和代理共同完成的生成樹相關(guān)的處理;圖10給出了節(jié)點的狀態(tài)遷移圖;圖11給出了節(jié)點在每個狀態(tài)下對外部事件的響應(yīng)規(guī)則;圖12給出了初始化狀態(tài)下的流程圖;圖13給出了端口信息收集狀態(tài)下的流程圖;圖14和圖15給出了主控狀態(tài)下的流程圖;圖16給出了等待狀態(tài)下的流程圖;圖17給出了端口信息發(fā)送狀態(tài)下的流程圖;圖18給出了監(jiān)視狀態(tài)下的流程圖。
具體實施例方式
下面結(jié)合說明書附圖,對本發(fā)明的具體實施方式
進行詳細的說明。
運營商網(wǎng)絡(luò)將不同地域的用戶網(wǎng)絡(luò)連接起來,形成一個規(guī)模更大的橋接網(wǎng)絡(luò)。實質(zhì)上,從用戶的角度看,運營商網(wǎng)絡(luò)提供了透明網(wǎng)橋的功能,用戶不會關(guān)心運營商網(wǎng)絡(luò)內(nèi)部拓撲?;诖耸聦?,將運營商網(wǎng)絡(luò)抽象成一個邏輯網(wǎng)橋,為不同地域上用戶內(nèi)部孤立網(wǎng)絡(luò)提供橋接功能,實現(xiàn)用戶網(wǎng)絡(luò)間的互聯(lián)。相應(yīng)的,將用戶網(wǎng)絡(luò)接入側(cè)的PE端口為抽象為邏輯網(wǎng)橋上的邏輯端口。
如圖6所示,通過邏輯網(wǎng)橋,將三個孤立的用戶內(nèi)部網(wǎng)絡(luò)橋接起來,形成一個規(guī)模更大的橋接網(wǎng)絡(luò)。值得注意的是,PE是物理上的網(wǎng)橋/交換機,在本文所論述的環(huán)境下,除去生成的的協(xié)議控制,PE設(shè)備的其他屬性與網(wǎng)橋/交換機設(shè)備相同。(此處給出了PE的功能定位,PE在邏輯網(wǎng)橋內(nèi)的功能)。
橋接網(wǎng)絡(luò)的規(guī)模發(fā)生了變化,解決橋接網(wǎng)絡(luò)內(nèi)部環(huán)回問題的方法,相應(yīng)的也有所變更。
邏輯網(wǎng)橋上運行生成樹,而不是在PE設(shè)備上運行生成樹。此時,生成樹的管理域包括此邏輯網(wǎng)橋以及用戶內(nèi)部各孤立的網(wǎng)絡(luò)。管理域的變化,使得生成樹可以避免“現(xiàn)有技術(shù)一”的缺陷。
如同透明網(wǎng)橋一樣,邏輯網(wǎng)橋內(nèi)部的結(jié)構(gòu),對外部網(wǎng)絡(luò)是透明的。用戶在進行自身網(wǎng)絡(luò)的管理時,不需要考慮運營商網(wǎng)絡(luò)內(nèi)部的拓撲。同樣,運營商網(wǎng)絡(luò)內(nèi)部的拓撲變更,也不會對用戶網(wǎng)絡(luò)產(chǎn)生影響?!艾F(xiàn)有技術(shù)二”的缺陷同樣得以避免。
現(xiàn)在參考圖7至圖9,對生成樹控制器、生成樹代理的結(jié)構(gòu)進行說明。傳統(tǒng)的生成樹實現(xiàn)方式,僅僅對同一單板、網(wǎng)元上的端口進行管理,但是,邏輯網(wǎng)橋所管理的端口在地域上是很分布的,將跨越多個網(wǎng)元。因此,在運營商網(wǎng)絡(luò)內(nèi)部需要有一個組件完成相關(guān)的端口管理、協(xié)議處理等,我們稱之為——生成樹控制器(在下文中,簡稱控制器)。
如圖7所示,生成樹控制器包括一生成樹協(xié)議處理模塊、一信令處理模塊、一信令接收/發(fā)送模塊、一邏輯網(wǎng)橋端口信息數(shù)據(jù)庫。該生成樹協(xié)議處理模塊標準的生成樹處理。該邏輯網(wǎng)橋端口信息數(shù)據(jù)庫存放邏輯網(wǎng)橋各端口信息,包括邏輯端口在哪個PE,對應(yīng)于PE上的具體哪個物理端口,通過此信息,信令處理模塊決定將生成樹協(xié)議報文發(fā)到哪個PE上的生成樹代理上。該信令接收/發(fā)送模塊從生成樹代理接收/發(fā)送信令。該信令處理模塊解析生成樹代理發(fā)送的信令,維護邏輯網(wǎng)橋端口信息;將信令中所攜載的生成樹協(xié)議報文(BPDU),交給生成樹協(xié)議處理模塊;同時,接收到生成樹協(xié)議處理模塊的報文發(fā)送請求后,查詢端口信息數(shù)據(jù)庫,決定報文發(fā)往哪個生成樹代理。
在每個網(wǎng)元/單板上,運行生成樹代理(在下文中,簡稱代理)——捕獲用戶內(nèi)部網(wǎng)絡(luò)的生成樹配置信息(Configruation Message,下文中簡稱配置信息),提交控制器進行處理;接收控制器發(fā)送的配置信息,發(fā)送到用戶內(nèi)部網(wǎng)絡(luò);監(jiān)測用戶內(nèi)部網(wǎng)絡(luò)拓撲是否發(fā)生更改,上報控制器進行處理等等。
如圖8所示,生成樹代理結(jié)構(gòu)包括一生成樹報文發(fā)送/接收模塊、一信令接收/發(fā)送模塊、一信令處理模塊、以及一物理端口狀態(tài)控制模塊。該生成樹報文發(fā)送/接收模塊同CE設(shè)備之間發(fā)送/接收生成樹報文。該信令接收/發(fā)送模塊同生成樹控制器之間發(fā)送/接收信令;該信令處理模塊維護生成樹控制器地址信息;接收生成樹報文后,映射成信令,發(fā)送到生成樹控制器;從控制器收到信令后,解析出生成樹報文,通過生成樹報文發(fā)送/接收模塊發(fā)送;同時通過物理端口狀態(tài)控制模塊控制物理端口的生成樹相關(guān)屬性;該物理端口狀態(tài)控制模塊控制端口的狀態(tài)(阻塞Blocking、監(jiān)聽學(xué)習(xí)Listening、轉(zhuǎn)發(fā)Forwarding)。
如圖9所示,控制器、代理共同完成了邏輯網(wǎng)橋上生成樹相關(guān)的處理。
在一個邏輯網(wǎng)橋上,僅有一個控制器,允許有多個代理。可以使用控制器/代理所在網(wǎng)元/單板的MAC地址標志控制器/代理。值得注意的是控制器、代理僅僅是邏輯上的概念。通常,PE設(shè)備上實現(xiàn)生成樹代理,P設(shè)備實現(xiàn)生成樹控制器。但是,也可以在PE設(shè)備上實現(xiàn)控制器,此時,會有一個PE設(shè)備同時擔(dān)當控制器和代理的角色。通常,運營商會向多個用戶提供服務(wù)。對于每個用戶,創(chuàng)建一個邏輯網(wǎng)橋,可以避免一個用戶內(nèi)部網(wǎng)絡(luò)拓撲的更改對其他用戶產(chǎn)生影響。在運營商網(wǎng)絡(luò)內(nèi)部將有多個控制器,每個控制器管理自身的代理。
現(xiàn)在對網(wǎng)橋信息、端口信息進行詳細的說明。
在運營商網(wǎng)絡(luò)內(nèi)部,每個PE設(shè)備作為一個獨立的網(wǎng)橋/交換機存在,相應(yīng)的對于每個PE設(shè)備,均會有生成樹相關(guān)的一些網(wǎng)橋信息以及端口信息。對于邏輯網(wǎng)橋,生成樹相關(guān)的信息存放在控制器上??刂破饕栏接谀膫€PE設(shè)備,邏輯網(wǎng)橋的網(wǎng)橋信息從此PE設(shè)備繼承,但是,端口相關(guān)信息屬于整個邏輯網(wǎng)橋,需要從其他PE設(shè)備獲取。
生成樹控制器保存邏輯網(wǎng)橋相關(guān)的靜態(tài)信息,包括BridgePriority(網(wǎng)橋優(yōu)先級)、BridgeHelloTime(網(wǎng)橋握手時間)、BridgeForwardDelay(網(wǎng)橋轉(zhuǎn)發(fā)延遲)、BridgeMaxAge(網(wǎng)橋最大老化時間)等參數(shù);以及生成樹動態(tài)信息——DesignatedRoot(指定根網(wǎng)橋)、RootPathCost(根路徑花費)、RootPort(根端口)、MaxAge(最大老化時間)、HelloTime(握手時間)、ForwardDelay(轉(zhuǎn)發(fā)延遲)、TopologyChangeDetected(拓撲變更檢測)、TopologyChange(拓撲更改)等。生成樹代理同樣保存網(wǎng)橋相關(guān)靜態(tài)、動態(tài)信息,這些信息同生成樹控制器相關(guān)信息一致。通常,由生成樹控制器通過生成樹配置信息(Configuration Message)傳遞網(wǎng)橋信息到生成樹代理,生成樹代理收到此信息后,完成本地數(shù)據(jù)的更新。網(wǎng)橋相關(guān)計時器----HelloTimer(握手計時器)、TopologyChangeNotificationTimer(拓撲更改認證計時器)以及TopologyChangeTimer(拓撲更改計時器)----在生成樹控制器上運行。相對于普通網(wǎng)橋/交換機,邏輯網(wǎng)橋引入了更多的延時。相對于標準的生成樹協(xié)議,如下參數(shù)的建議值做更改
邏輯網(wǎng)橋上的邏輯端口跨越多個網(wǎng)元,因此,必須提供一種機制完成網(wǎng)元上端口(簡稱網(wǎng)元端口)同邏輯網(wǎng)橋上端口(簡稱邏輯端口)之間的映射。一種可以選的方案——由控制器完成映射處理,通常采用如下公式邏輯端口號=f(網(wǎng)元ID)+g(網(wǎng)元上端口號),其中f(x)、g(y)為映射規(guī)則。必須保證邏輯端口同網(wǎng)元端口的一一對應(yīng)映射關(guān)系。
邏輯端口信息,包括PortPriority(端口優(yōu)先級)、PathCost(端口路徑花費)、ChangeDetectionEnable(端口檢測使能)等靜態(tài)信息,以及DesignatedRoot(指定根網(wǎng)橋)、DesignatedCost(指定花費)、DesignatedBridge(指定網(wǎng)橋)、DesignatedPort(指定端口)、TopologyChangeAcknowledge(拓撲更新認證)等動態(tài)信息。相應(yīng)的計時器也在邏輯端口實現(xiàn)。
現(xiàn)在對網(wǎng)元之間的信息交互進行說明。
網(wǎng)元端口收到配置信息之后,需要將配置信息發(fā)送到控制器;同時,控制器發(fā)送配置信息時,需要通過具體的網(wǎng)元端口發(fā)出去。因此,控制器同代理之間必須提供一種通信機制,完成配置信息的交換。
一個控制器可能對應(yīng)多個代理,要求控制器在接收到代理發(fā)送過來的配置信息時,能夠判斷此信息是從哪個代理發(fā)過來的。有兩種可選的方案1、在代理上保存網(wǎng)元端口同邏輯端口的映射表,收到用戶內(nèi)部網(wǎng)絡(luò)發(fā)送過來的配置信息之后,將此信息以及對應(yīng)的邏輯端口信息同時發(fā)送到控制器,因為網(wǎng)元端口同邏輯端口是一一對應(yīng)的,所以控制器能夠判斷配置信息的來源;2、代理收到用戶內(nèi)部網(wǎng)絡(luò)發(fā)送過來的生成樹信息之后,將此信息以及網(wǎng)元ID、網(wǎng)元端口號同時發(fā)送到控制器。方案1要求代理知道網(wǎng)元端口同邏輯端口的映射規(guī)則,或者從控制器獲取一份網(wǎng)元端口同邏輯端口的映射表,在實現(xiàn)上相對復(fù)雜一些。因此,傾向于采用第二種實現(xiàn)方案。
控制器和代理之間的交互信息,通過802.3以太網(wǎng)幀承載。如下所示 其中,DA、SA分別表示接收信息的控制器/代理、發(fā)送信息的代理/控制器。
根據(jù)PDU報文中,Type字段的取值不同,具有不同的PDU報文類型。在本文中,將Type=n(n0~255)的PDU報文,稱為信令n。目前,定義了7種信令,用于網(wǎng)元之間的通信。
下面對控制器的選擇進行詳細的說明。
在運營商網(wǎng)絡(luò)內(nèi)部,提供單獨的設(shè)備完成控制器的功能,其他所有的代理均知道其控制器的位置,有相應(yīng)的通信機制。
另外一種可選的方案,在運營商網(wǎng)絡(luò)內(nèi)部選擇一個網(wǎng)元完成控制器的功能。這種方案,必須保證所有的參與生成樹管理的網(wǎng)元都能夠及時知道生成樹控制器的位置,并且,如果控制器所在網(wǎng)元失效,能夠提供一種恢復(fù)機制,選擇其他的網(wǎng)元實現(xiàn)控制器。要求這種機制下,運營商內(nèi)部網(wǎng)絡(luò)更改不影響用戶內(nèi)部網(wǎng)絡(luò),或者說不會引起生成樹的拓撲重整。
對于第一種方案,實現(xiàn)相對簡單,本文不做描述。如下給出方案2的實現(xiàn)方法。
為了便于對本發(fā)明進行說明,現(xiàn)在對一些基本概念進行介紹。
1)網(wǎng)元的角色主控節(jié)點擔(dān)當控制器角色的網(wǎng)元非主控節(jié)點擔(dān)當代理角色的網(wǎng)元2)網(wǎng)元狀態(tài)網(wǎng)元之間通過信令的交互,進行協(xié)商,完成主控節(jié)點以及非主控節(jié)點的選擇。在協(xié)商的過程中,網(wǎng)元會經(jīng)過一系列的狀態(tài)切換,網(wǎng)元具有6種狀態(tài)(A)初始化狀態(tài)、等待狀態(tài)——完成主控節(jié)點的選擇,保證邏輯網(wǎng)橋內(nèi)部僅僅有一個主控節(jié)點。
(B)端口信息收集狀態(tài)、端口信息發(fā)送狀態(tài)——完成邏輯網(wǎng)橋端口信息的統(tǒng)計以及端口的邏輯映射(C)主控狀態(tài)、監(jiān)視狀態(tài)——完成BPDU的報文收發(fā)以及端口信息的維護3)信令網(wǎng)元間的交互信息,完成控制器的選擇以及控制器同代理之間的生成樹信息交互。
(a)信令1功能用于保證環(huán)上只有一個主控節(jié)點數(shù)據(jù)類型標識0x01+主控節(jié)點ID(Priority+MAC)信源主控節(jié)點發(fā)送時機主控節(jié)點啟動后,定時廣播發(fā)送信宿·非主控節(jié)點接收目的用于跟蹤主控節(jié)點,保證只有一個主控節(jié)點
·主控節(jié)點接收目的用于保證在同一時間只有一個主控節(jié)點(b)信令2功能主控節(jié)點用于維護非主控節(jié)點的信息以及異常處理數(shù)據(jù)類型標識0x02+非主控節(jié)點MAC信源非主控節(jié)點發(fā)送時機非主控節(jié)點進入等待狀態(tài)以后定時向主控節(jié)點發(fā)送信宿主控節(jié)點(進入端口信息收集狀態(tài)以后接收(c)信令3功能主控節(jié)點發(fā)送信令3對某一非主控節(jié)點進行端口狀態(tài)查詢數(shù)據(jù)類型標識0x03+主控節(jié)點ID(Priority+MAC)信源主控節(jié)點發(fā)送時機·主控節(jié)點在端口信息收集狀態(tài)和主控狀態(tài)時,接收到信令2中的節(jié)點MAC在端口信息數(shù)據(jù)庫中沒有對應(yīng)的數(shù)據(jù)項,則向此節(jié)點回發(fā)信令3·主控節(jié)點在主控狀態(tài)接收到上層模塊的端口查詢命令,經(jīng)過端口映射后,發(fā)現(xiàn)目的端口并不在本節(jié)點,此時,將向目的端口所在的節(jié)點發(fā)送信令3(d)信令4功能非主控節(jié)點向主控節(jié)點發(fā)送信令4上報本節(jié)點端口信息數(shù)據(jù)類型標識0x04+節(jié)點MAC+端口數(shù)+端口編號(本地)+端口參數(shù)+端口編號(本地)+端口參數(shù)+...
信源非主控節(jié)點發(fā)送時機·非主控節(jié)點在端口信息發(fā)送狀態(tài)和監(jiān)視狀態(tài)接收到主控節(jié)點發(fā)來的信令3·非主控節(jié)點在端口信息發(fā)送狀態(tài)和監(jiān)視狀態(tài)接收到本地節(jié)點的端口配置命令信息·非主控節(jié)點在端口信息發(fā)送狀態(tài)和監(jiān)視狀態(tài)接收到功能驅(qū)動模塊發(fā)來的端口異常信息信宿主控節(jié)點(e)信令5功能非主控節(jié)點端口參數(shù)設(shè)置數(shù)據(jù)類型標識0x05+目的節(jié)點ID+端口編號(本地編號)+端口參數(shù)信源主控節(jié)點發(fā)送時機主控節(jié)點在主控狀態(tài)接收到生成數(shù)驅(qū)動模塊發(fā)來的端口參數(shù)配置命令,都端口進行映射和,發(fā)現(xiàn)目的端口不在本節(jié)點,將對端口配置命令進行封裝(信令5),發(fā)送對目的節(jié)點信宿非主控節(jié)點(f)信令6功能控制非主控節(jié)點由端口信息發(fā)送狀態(tài)轉(zhuǎn)移到監(jiān)視狀態(tài)數(shù)據(jù)類型標識0x06信源主控節(jié)點發(fā)送時機主控節(jié)點在端口信息收集狀態(tài)或監(jiān)視狀態(tài)收到非主控節(jié)點發(fā)來的信令4,如果信令4中到節(jié)點MAC在端口信息數(shù)據(jù)庫中沒有相應(yīng)數(shù)據(jù)項,將回發(fā)信令6
信宿非主控節(jié)點(g)信令7功能環(huán)上各節(jié)點與主控節(jié)點間BPDU報文交換數(shù)據(jù)類型標識0x07+節(jié)點MAC+端口號+BPDU報文注對于發(fā)往主控節(jié)點的信令7,端口號為0;對于發(fā)往非主控節(jié)點的信令7,端口號為正整數(shù)(1~255)信源主控節(jié)點、非主控節(jié)點發(fā)送時機·非主控節(jié)點從Ethernet端口接收到BPDU報文,將會把BPDU報文封裝成信令7的格式,發(fā)往主控節(jié)點·主控節(jié)點從生成樹驅(qū)動模塊接收到BPDU報文,在對端口進行映射后,如果發(fā)現(xiàn)目的端口并不在主控節(jié)點,將會把BPDU報文封裝成信令7的格式,發(fā)往目的端口所在的非主控節(jié)點信宿非主控節(jié)點、主控節(jié)點現(xiàn)在對配置信息進行說明。本地節(jié)點的生成樹相關(guān)的配置,包括網(wǎng)橋配置、端口配置。
(a)網(wǎng)橋配置命令功能配置本地節(jié)點的網(wǎng)橋參數(shù)網(wǎng)橋優(yōu)先級Priority網(wǎng)橋MACHoldTimeMaxAgeHelloTime
網(wǎng)橋轉(zhuǎn)發(fā)延遲ForwardingDelay……(b)端口配置命令功能配置本地節(jié)點某一端口的參數(shù)端口優(yōu)先級Priority端口路徑花費PathCost端口編號PortNo……定時信息是用于控制節(jié)點狀態(tài)的轉(zhuǎn)換,由定時器產(chǎn)生。
下面對整個處理流程進行詳細的描述。步驟1,初始時,各節(jié)點均認為自己是主控節(jié)點,均定時向其他節(jié)點發(fā)送信令1;步驟2,節(jié)點收到信令1中的主控ID比本節(jié)點的ID小,則進入等待狀態(tài),保存收到的主控節(jié)點ID,在等待狀態(tài)發(fā)送信令2,并開始對主控節(jié)點信息進行老化;步驟3,節(jié)點在收到本節(jié)點的定時信息前沒有收到節(jié)點ID更小的信息,收到定時信息后轉(zhuǎn)入端口信息收集狀態(tài)。此時,主控節(jié)點已經(jīng)確定,開始對環(huán)上的端口信息進行統(tǒng)計;步驟4,節(jié)點A(主控節(jié)點)在端口信息收集狀態(tài)收到信令2,發(fā)現(xiàn)信令2中的節(jié)點MAC在本地的端口信息數(shù)據(jù)庫中沒有對應(yīng)的數(shù)據(jù)項,則回發(fā)信令3;步驟5,否則,更新此節(jié)點的老化標志;非主控節(jié)點B在等待狀態(tài)收到主控節(jié)點的信令3后,進入端口信息發(fā)送狀態(tài);步驟6,非主控節(jié)點B進入端口信息發(fā)送狀態(tài)后,向主控節(jié)點發(fā)送本節(jié)點的端口信息(信令4);步驟7,主控節(jié)點A收到節(jié)點B信令4后,判斷在端口信息數(shù)據(jù)庫中有沒有對應(yīng)的節(jié)點MAC,如果沒有為之建立數(shù)據(jù)項,同時回發(fā)信令6通知節(jié)點B進入監(jiān)視狀態(tài);否則,更新端口信息數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)項;步驟8,非主控節(jié)點B在等待狀態(tài)收到信令6后,進入監(jiān)視狀態(tài),開始收發(fā)BPDU報文;步驟9,主控節(jié)點在端口信息收集狀態(tài)收到本地的定時信息后,轉(zhuǎn)入主控狀態(tài);步驟10,主控節(jié)點進入主控狀態(tài)后,激活生成樹模塊,開始收發(fā)BPDU報文。
圖11給出了節(jié)點的狀態(tài)遷移圖,并且圖12給出了節(jié)點在每個狀態(tài)下對外部事件的響應(yīng)規(guī)則。
圖13給出了初始化狀態(tài)的流程圖。步驟A1,開始即接收到信令和命令;步驟A2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、還是定時信息,若以上均不是則結(jié)束;步驟A3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟A4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟A5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟A6,若是定時信息,則轉(zhuǎn)移到端口信息收集狀態(tài)并結(jié)束。
圖14給出了端口信息收集狀態(tài)的流程圖。步驟B1,開始即接收到信令和命令;步驟B2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令2、信令4、還是定時信息,若以上均不是則結(jié)束;步驟B3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟B4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、改變節(jié)點信息數(shù)據(jù)庫中主控節(jié)點的信息、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟B5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟B6,若是信令2,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有此信令中包含的非主控節(jié)點包含的非主控節(jié)點ID,若已有則刷新此非主控節(jié)點對應(yīng)的老化標志并且結(jié)束,否則向此非主控節(jié)點回發(fā)信令3并且結(jié)束;步驟B7,若是信令4,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有信令1中的非主控信息,若已有則為此節(jié)點創(chuàng)建在節(jié)點信息數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)項、回發(fā)信令6通知節(jié)點進行狀態(tài)轉(zhuǎn)移、并且結(jié)束,否則判斷此非主控節(jié)點端口信息是否改變,若已改變則更新節(jié)點端口映射表中的相應(yīng)表項并且結(jié)束;步驟B7,若是定時信息,則轉(zhuǎn)移到主控狀態(tài)。
圖15和16給出了主控狀態(tài)的流程圖。步驟C1,開始即接收到信令和命令;步驟C2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令2、信令4、還是A處理,若以上均不是則結(jié)束;步驟C3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟C4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、改變節(jié)點信息數(shù)據(jù)庫中主控節(jié)點的信息、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟C5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟C6,若是信令2,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有此信令中包含的非主控節(jié)點包含的非主控節(jié)點ID,若已有則刷新此非主控節(jié)點對應(yīng)的老化標志并且結(jié)束,否則向此非主控節(jié)點回發(fā)信令3并且結(jié)束;步驟C7,若是信令4,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有信令1中的非主控信息,若已有則為此節(jié)點創(chuàng)建在節(jié)點信息數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)項、回發(fā)信令6通知節(jié)點進行狀態(tài)轉(zhuǎn)移、并且結(jié)束,否則判斷此非主控節(jié)點端口信息是否改變,若已改變則更新節(jié)點端口映射表中的相應(yīng)表項、通知并且結(jié)束生成樹模塊某個或多個端口參數(shù)改變、并且結(jié)束;步驟C8,若是A處理,則進行BPDU報文處理以進入B。
其中A處理的具體流程為,步驟a,判斷是否為信令;步驟b,若是信令,則拆離信令7中的BPDU、對端口進行映射、將BPDU報文交給生成樹模塊、并進入上述B;步驟c,若不是信令,則依次判斷是從Ehernet端口接收BPDU還是從生成樹模塊接收BPDU,若這兩者均不是則進入B;步驟d,若是從Ehernet端口接收BPDI,則對端口進行映射、將BPDU報文交給生成樹模塊、并進入B;步驟e,若是從生成樹模塊接收BPDU,則對端口進行映射并判斷BPDU是否是發(fā)往本地端口,若是則通過本地端口發(fā)送,若不是則將BPDU封裝成信令7發(fā)往目的節(jié)點。
圖17給出了等待狀態(tài)的流程圖。步驟D1,開始即接收信令和命令;步驟D2,依次判斷是否為網(wǎng)絡(luò)配置命令、端口配置命令、信令3或者定時信息,若以上均不是則結(jié)束;步驟D3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟D4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟D5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟D6,若是信令4或者定時信息,則轉(zhuǎn)移到端口信息發(fā)送狀態(tài)并且結(jié)束。
圖18給出了端口信息發(fā)送狀態(tài)的流程圖。步驟E1,開始即接收到信令和命令;步驟E2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令3、信令6或者定時信息,若以上均不是則結(jié)束;步驟E3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟E4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、發(fā)信令通知主控節(jié)點端口信息改變、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟E5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟E6,若是信令4,則回發(fā)信令4并且結(jié)束;步驟E7,若是信令6或者定時信息,則轉(zhuǎn)移到端口信息發(fā)送狀態(tài)。
圖19給出了監(jiān)視狀態(tài)的流程圖。步驟F1,開始,即接收到信令和命令;步驟F2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令3、信令5、信令7、還是從Ehernet端口收到BPDU,若以上均不是則結(jié)束;步驟F3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟F4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、發(fā)信令通知主控節(jié)點端口信息改變、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟F5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟F6,若是信令4,則回發(fā)信令4并且結(jié)束;步驟F7,若是信令5,則判斷對端口操作是否成功,若成功則改變所保存的端口參數(shù)表并且結(jié)束,若不成功則直接結(jié)束;步驟F8,若是信令7,則拆除信令7中的BPDU、通過本地端口發(fā)送BPDU報文、并且結(jié)束;步驟F9,若是從Ehernet端口收到BPDU,則將BPDU報文封裝成信令7發(fā)送給主控節(jié)點、將BPDU報文交給生成樹模塊、并且結(jié)束。
控制器內(nèi)部生成樹協(xié)議,可以選擇STP、RSTP以及MSTP,實現(xiàn)細節(jié)請參見IEEE802.1D、IEEE802.1W、IEEE802.1S等標準。本文不做詳細描述。
當運營商向多個用戶提供EoS服務(wù)時,每個用戶對應(yīng)一個邏輯網(wǎng)橋,相應(yīng)的對應(yīng)一個控制器。每個控制器參與控制具體一個用戶的網(wǎng)絡(luò)管理,對其他用戶的網(wǎng)絡(luò)不會產(chǎn)生影響。
權(quán)利要求
1.一種用于實現(xiàn)同步光網(wǎng)絡(luò)上的以太網(wǎng)環(huán)境下生成樹的方法,該方法包括將運營商網(wǎng)絡(luò)抽象成邏輯網(wǎng)橋,并為各用戶網(wǎng)絡(luò)提供端口服務(wù);在運營商網(wǎng)絡(luò)上運行生成樹協(xié)議,該生成樹的管理域為運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò);并在運營商網(wǎng)絡(luò)的網(wǎng)元上運行生成樹代理;在運營商網(wǎng)元和用戶網(wǎng)元之間采用信令進行交互,以實現(xiàn)整個生成樹的形成。
2.如權(quán)利要求1所述的方法,其特征在于所述的生成樹代理,運行于運營商網(wǎng)絡(luò)的網(wǎng)元上,用于完成運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò)之間生成樹配置信息的交互。
3.如權(quán)利要求1所述的方法,其特征在于所述的運營商網(wǎng)絡(luò)上運行生成樹協(xié)議,是通過運行生成樹控制器完成的,所述的生成樹控制器發(fā)送配置信息給各生成樹代理。
4.如權(quán)利要求2或3任一所述的方法,其特征在于所述的配置信息包括網(wǎng)橋靜態(tài)信息、網(wǎng)橋動態(tài)信息和端口信息。
5.如權(quán)利要求4所述的方法,其特征在于所述的配置信息還還包括設(shè)置的一個對應(yīng)關(guān)系,所述的對應(yīng)關(guān)系為運營商網(wǎng)絡(luò)端口與網(wǎng)元端口之間的對應(yīng)關(guān)系。
6.如權(quán)利要求1所述的方法,其特征在于所述的運營商網(wǎng)絡(luò)和用戶網(wǎng)絡(luò)之間交互的信令,通過符合802.3標準的以太網(wǎng)幀承載。
7.如權(quán)利要求1所述的方法,其特征在于當運營商網(wǎng)絡(luò)的設(shè)備執(zhí)行生成樹控制器的相關(guān)處理時,其為主控節(jié)點;否則,認為其是非主控節(jié)點,該方案進一步包括以下步驟步驟1,初始時,各節(jié)點均認為自己是主控節(jié)點,定時向其他節(jié)點發(fā)送信令1;步驟2,節(jié)點收到信令1中的主控ID比本節(jié)點的ID小,則進入等待狀態(tài),保存收到的主控節(jié)點ID,在等待狀態(tài)發(fā)送信令2,并開始對主控節(jié)點信息進行老化;步驟3,節(jié)點在收到本節(jié)點的定時信息前沒有收到節(jié)點ID更小的信息,收到定時信息后轉(zhuǎn)入端口信息收集狀態(tài);步驟4,主控節(jié)點A在端口信息收集狀態(tài)收到信令2,發(fā)現(xiàn)信令2中的節(jié)點MAC在本地的端口信息數(shù)據(jù)庫中沒有對應(yīng)的數(shù)據(jù)項,則回發(fā)信令3;步驟5,否則更新此節(jié)點的老化標志;非主控節(jié)點B在等待狀態(tài)收到主控節(jié)點的信令3后,進入端口信息發(fā)送狀態(tài);步驟6,非主控節(jié)點B進入端口信息發(fā)送狀態(tài)后,向主控節(jié)點發(fā)送本節(jié)點的端口信息信令4;步驟7,主控節(jié)點A收到節(jié)點B信令4后,判斷在端口信息數(shù)據(jù)庫中有沒有對應(yīng)的節(jié)點MAC,如果沒有為之建立數(shù)據(jù)項,同時回發(fā)信令6通知節(jié)點B進入監(jiān)視狀態(tài);否則,更新端口信息數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)項;步驟8,非主控節(jié)點B在等待狀態(tài)收到信令6后,進入監(jiān)視狀態(tài),開始收發(fā)BPDU報文;步驟9,主控節(jié)點A在端口信息收集狀態(tài)收到本地的定時信息后,轉(zhuǎn)入主控狀態(tài);步驟10,主控節(jié)點A進入主控狀態(tài)后,激活生成樹模塊,開始收發(fā)BPDU報文。
8.如權(quán)利要求7所述的方法,其特征在于在初始化狀態(tài)過程中,執(zhí)行下述步驟步驟A1,開始即接收到信令和命令;步驟A2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、還是定時信息,若以上均不是則結(jié)束;步驟A3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟A4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟A5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟A6,若是定時信息,則轉(zhuǎn)移到端口信息收集狀態(tài)并結(jié)束。
9.如權(quán)利要求7所述的方法,其特征在于在端口信息收集狀態(tài)的過程中,執(zhí)行下述步驟步驟B1,開始即接收到信令和命令;步驟B2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令2、信令4、還是定時信息,若以上均不是則結(jié)束;步驟B3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟B4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、改變節(jié)點信息數(shù)據(jù)庫中主控節(jié)點的信息、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟B5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟B6,若是信令2,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有此信令中包含的非主控節(jié)點包含的非主控節(jié)點ID,若已有則刷新此非主控節(jié)點對應(yīng)的老化標志并且結(jié)束,否則向此非主控節(jié)點回發(fā)信令3并且結(jié)束;步驟B7,若是信令4,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有信令1中的非主控信息,若已有則為此節(jié)點創(chuàng)建在節(jié)點信息數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)項、回發(fā)信令6通知節(jié)點進行狀態(tài)轉(zhuǎn)移、并且結(jié)束,否則判斷此非主控節(jié)點端口信息是否改變,若已改變則更新節(jié)點端口映射表中的相應(yīng)表項并且結(jié)束;步驟B7,若是定時信息,則轉(zhuǎn)移到主控狀態(tài)。
10.如權(quán)利要求7所述的方法,其特征在于在主控狀態(tài)的過程中,執(zhí)行下述步驟步驟C1,開始即接收到信令和命令;步驟C2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令2、信令4、還是A處理,若以上均不是則結(jié)束;步驟C3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟C4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、改變節(jié)點信息數(shù)據(jù)庫中主控節(jié)點的信息、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟C5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟C6,若是信令2,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有此信令中包含的非主控節(jié)點包含的非主控節(jié)點ID,若已有則刷新此非主控節(jié)點對應(yīng)的老化標志并且結(jié)束,否則向此非主控節(jié)點回發(fā)信令3并且結(jié)束;步驟C7,若是信令4,則判斷節(jié)點信息數(shù)據(jù)庫中是否已有信令1中的非主控信息,若已有則為此節(jié)點創(chuàng)建在節(jié)點信息數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)項、回發(fā)信令6通知節(jié)點進行狀態(tài)轉(zhuǎn)移、并且結(jié)束,否則判斷此非主控節(jié)點端口信息是否改變,若已改變則更新節(jié)點端口映射表中的相應(yīng)表項、通知并且結(jié)束生成樹模塊某個或多個端口參數(shù)改變、并且結(jié)束;步驟C8,若是A處理,則進行BPDU報文處理以進入B。
11.如權(quán)利要求10所述的方法,其特征在于A處理執(zhí)行步驟步驟a,判斷是否為信令;步驟b,若是信令,則拆離信令7中的BPDU、對端口進行映射、將BPDU報文交給生成樹模塊、并進入上述B;步驟c,若不是信令,則依次判斷是從以太網(wǎng)端口接收BPDU還是從生成樹模塊接收BPDU,若這兩者均不是則進入B;步驟d,若是從以太網(wǎng)端口接收BPDI,則對端口進行映射、將BPDU報文交給生成樹模塊、并進入B;步驟e,若是從生成樹模塊接收BPDU,則對端口進行映射并判斷BPDU是否是發(fā)往本地端口,若是則通過本地端口發(fā)送,若不是則將BPDU封裝成信令7發(fā)往目的節(jié)點。
12.如權(quán)利要求7所述的方法,其特征在于在等待狀態(tài)的過程中,執(zhí)行下列步驟步驟D1,開始即接收信令和命令;步驟D2,依次判斷是否為網(wǎng)絡(luò)配置命令、端口配置命令、信令3或者定時信息,若以上均不是則結(jié)束;步驟D3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟D4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟D5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟D6,若是信令4或者定時信息,則轉(zhuǎn)移到端口信息發(fā)送狀態(tài)并且結(jié)束。
13.如權(quán)利要求7所述的方法,其特征在于在端口信息發(fā)送狀態(tài)的過程中,執(zhí)行下列步驟步驟E1,開始即接收到信令和命令;步驟E2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令3、信令6或者定時信息,若以上均不是則結(jié)束;步驟E3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟E4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、發(fā)信令通知主控節(jié)點端口信息改變、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟E5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟E6,若是信令4,則回發(fā)信令4并且結(jié)束;步驟E7,若是信令6或者定時信息,則轉(zhuǎn)移到端口信息發(fā)送狀態(tài)。
14.如權(quán)利要求7所述的方法,其特征在于在監(jiān)視狀態(tài)的過程中,執(zhí)行下列步驟步驟F1,開始,即接收到信令和命令;步驟F2,依次判斷是網(wǎng)絡(luò)配置命令、端口配置命令、信令1、信令3、信令5、信令7、還是從以太網(wǎng)端口收到BPDU,若以上均不是則結(jié)束;步驟F3,若是網(wǎng)絡(luò)配置命令,則重新運行生成樹控制算法并結(jié)束;步驟F4,若是端口配置命令,則判斷端口操作是否成功,若成功則改變所保存的端口參數(shù)表、發(fā)信令通知主控節(jié)點端口信息改變、并結(jié)束,若不成功則返回出錯信息并結(jié)束;步驟F5,若是信令1,則判斷信令1中的節(jié)點ID優(yōu)選級是否比本節(jié)點高,若高則改變本節(jié)點保存的主控節(jié)點ID、失去主控資格跳轉(zhuǎn)到等待狀態(tài)、并且結(jié)束,若不比本節(jié)點高則直接結(jié)束;步驟F6,若是信令4,則回發(fā)信令4并且結(jié)束;步驟F7,若是信令5,則判斷對端口操作是否成功,若成功則改變所保存的端口參數(shù)表并且結(jié)束,若不成功則直接結(jié)束;步驟F8,若是信令7,則拆除信令7中的BPDU、通過本地端口發(fā)送BPDU報文、并且結(jié)束;步驟F9,若是從以太網(wǎng)端口收到BPDU,則將BPDU報文封裝成信令7發(fā)送給主控節(jié)點、將BPDU報文交給生成樹模塊、并且結(jié)束。
15.一種用于實現(xiàn)同步光網(wǎng)絡(luò)上的以太網(wǎng)環(huán)境下生成樹的系統(tǒng),其特征在于該系統(tǒng)包括運營商網(wǎng)絡(luò),用戶網(wǎng)絡(luò),其特征在于運營商網(wǎng)絡(luò)上運行的一生成樹控制器,用于完成相關(guān)的端口管理、協(xié)議處理;以及運營商網(wǎng)絡(luò)網(wǎng)元設(shè)備上運行的生成樹代理結(jié)構(gòu),用于提交生成樹控制器進行處理、接收生成樹控制器發(fā)送的配置信息、發(fā)送到用戶內(nèi)部網(wǎng)絡(luò)、監(jiān)測用戶內(nèi)部網(wǎng)絡(luò)拓撲是否發(fā)生更改、上報控制器進行處理。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于所述的生成樹控制器包括一生成樹協(xié)議處理模塊,用于標準的生成樹處理;一信令處理模塊,用于解析生成樹代理發(fā)送的信令,維護運營商網(wǎng)絡(luò)端口信息;將信令中所攜載的生成樹協(xié)議報文,交給生成樹協(xié)議處理模塊;同時,接收到生成樹協(xié)議處理模塊的報文發(fā)送請求后,查詢端口信息數(shù)據(jù)庫,決定報文發(fā)往哪個生成樹代理;一信令接收/發(fā)送模塊,用于從生成樹代理接收/發(fā)送信令;以及一運營商網(wǎng)絡(luò)端口信息數(shù)據(jù)庫,用于存放運營商網(wǎng)絡(luò)各端口信息,包括邏輯端口在哪個PE,對應(yīng)于PE上的具體哪個物理端口,通過此信息,信令處理模塊決定將生成樹協(xié)議報文發(fā)到哪個PE上的生成樹代理上。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于所述的生成樹代理結(jié)構(gòu)包括一生成樹報文發(fā)送/接收模塊,用于同CE設(shè)備之間發(fā)送/接收生成樹報文;一信令接收/發(fā)送模塊,用于同生成樹控制器之間發(fā)送/接收信令;一信令處理模塊,用于維護生成樹控制器地址信息;接收生成樹報文后,映射成信令,發(fā)送到生成樹控制器;從控制器收到信令后,解析出生成樹報文,通過生成樹報文發(fā)送/接收模塊發(fā)送;同時,通過物理端口狀態(tài)控制模塊控制物理端口的生成樹相關(guān)屬性;以及一物理端口狀態(tài)控制模塊,用于控制端口的狀態(tài)。
全文摘要
本發(fā)明提出用于實現(xiàn)同步光網(wǎng)絡(luò)上的以太網(wǎng)環(huán)境下生成樹的方法和系統(tǒng),方法包括將運營商網(wǎng)絡(luò)抽象成邏輯網(wǎng)橋,并為各用戶網(wǎng)絡(luò)提供端口服務(wù);在運營商網(wǎng)絡(luò)上運行生成樹協(xié)議;并在運營商網(wǎng)絡(luò)的網(wǎng)元上運行生成樹代理;在運營商網(wǎng)元和用戶網(wǎng)元之間采用信令進行交互。該系統(tǒng)包括運營商網(wǎng)絡(luò),用戶網(wǎng)絡(luò),運營商網(wǎng)絡(luò)上運行的一生成樹控制器,用于完成相關(guān)的端口管理、協(xié)議處理;運營商網(wǎng)絡(luò)網(wǎng)元上運行的生成樹代理結(jié)構(gòu),用于提交生成樹控制器進行處理、接收生成樹控制器發(fā)送的配置信息、發(fā)送到用戶內(nèi)部網(wǎng)絡(luò)、監(jiān)測用戶內(nèi)部網(wǎng)絡(luò)拓撲是否發(fā)生更改、上報控制器進行處理。本發(fā)明提供生成樹服務(wù),將用戶內(nèi)部的橋接局域網(wǎng)擴展到了城域網(wǎng)、廣域網(wǎng)。
文檔編號H04L12/407GK1741490SQ200410075089
公開日2006年3月1日 申請日期2004年8月27日 優(yōu)先權(quán)日2004年8月27日
發(fā)明者楊洋 申請人:華為技術(shù)有限公司