專利名稱:快速環(huán)生成樹協(xié)議的制作方法
技術(shù)領(lǐng)域:
在此的公開總體地涉及通信網(wǎng)絡(luò)路徑冗余技術(shù),以及更特別地涉及生成樹協(xié)議。
背景技術(shù):
已知各種類型的生成樹協(xié)議(即常規(guī)的生成樹協(xié)議)。這樣的常規(guī)的生成樹協(xié)議用來為網(wǎng)絡(luò)的節(jié)點提供路徑冗余,同時防止在網(wǎng)絡(luò)中出現(xiàn)任何不期望的環(huán)回。傳統(tǒng)的生成樹協(xié)議的例子包括,但不限制于,生成樹協(xié)議(STP)、快速生成樹協(xié)議(RSTP)以及多生成樹協(xié)議(MSTP)。STP是根據(jù)IEEE 802.1D 1998標準的傳統(tǒng)(legacy)協(xié)議。RSTP符合IEEE 802.1D 2004標準。MSTP符合IEEE 802.1Q 2003標準。
當拓撲發(fā)生變化時,生成樹協(xié)議執(zhí)行的一個特別的過程稱為收斂計算,收斂或重收斂。這樣的拓撲的變化的例子包括,但不限制于,鏈路故障以及有橋或橋端口添加到拓撲中。這樣的收斂過程包括從根橋到所有的橋計算新的生成樹以及將某些橋端口指定為“轉(zhuǎn)發(fā)”或“丟棄”。通過該收斂過程,提供了無環(huán)回的拓撲。一旦完成收斂,網(wǎng)絡(luò)節(jié)點拓撲是穩(wěn)定的并且實現(xiàn)的生成樹協(xié)議是處于穩(wěn)定狀態(tài),只是大約每2秒交換Hello消息(即稱為“Hello時間”)在網(wǎng)絡(luò)中避免環(huán)回是生成樹協(xié)議的重要任務(wù)。當發(fā)生環(huán)回時,經(jīng)由受影響的一個或多個橋的信息的通信很快會變得非?;靵y并且要求處理資源(如中心處理單元的資源)。如果發(fā)生環(huán)回,一個橋可以同時在兩個不同的端口上看到同樣的站(即其自己的MAC地址),這樣將會誤導(dǎo)轉(zhuǎn)發(fā)引擎應(yīng)該給哪個目的端口發(fā)送分組。
在網(wǎng)絡(luò)中的環(huán)回反過來又影響源學(xué)習協(xié)議的功能性和/或效率。源學(xué)習協(xié)議涉及軟件或硬件處理,其角色是維護層2的橋接表(即過濾數(shù)據(jù)庫)。該層2的橋接表將任何學(xué)到的、給定的MAC地址關(guān)聯(lián)到在給定的VLAN中的給定的端口。這樣,允許發(fā)生層2轉(zhuǎn)發(fā)處理(即將給定的幀發(fā)送到正確的端口)。當發(fā)生環(huán)回時,每次在端口上學(xué)到一個站,如果同樣的MAC地址在此之前已經(jīng)在其他端口上被發(fā)現(xiàn),源學(xué)習協(xié)議軟件執(zhí)行“MAC地址移動”處理,其根據(jù)可利用的最新信息,更新層2的橋接表(即發(fā)現(xiàn)舊的MAC地址,將其刪除并創(chuàng)建新的MAC地址)。
常規(guī)的生成樹協(xié)議,例如STP、RSTP和MSTP通過硬件限制橋接協(xié)議數(shù)據(jù)單元(BPDU)的橋接或泛洪。如此情況,由于相關(guān)算法的復(fù)雜性,常規(guī)的生成樹協(xié)議只是用軟件來實現(xiàn)。生成樹協(xié)議軟件只負責跨越網(wǎng)絡(luò)發(fā)送BPDU。這意味著在給定的拓撲中越是有更多的節(jié)點,重收斂就需要越長的時間,因為每一次接收到BPDU,在生成樹協(xié)議軟件能夠依次將BPDU發(fā)送到一個或幾個端口之前,它必須經(jīng)過生成樹協(xié)議軟件的處理。
對于例如BPDU的小的幀數(shù)據(jù)單元,經(jīng)過未過載的橋的硬件通過時間估計在5毫秒左右。對于軟件未過載的情況,處理和發(fā)送一個或多個BPDU的軟件處理時間可以低到10-50毫秒。但是,當軟件變得擁擠時,時間會大大地增加。這樣,對于生成樹協(xié)議的常規(guī)的實現(xiàn),為所有的拓撲確保x毫秒以下的重收斂時間是不實際或不現(xiàn)實的,因為軟件處理時間與硬件通過時間相比較通常是不可忽略的。
以太網(wǎng)自動保護交換(EAPS)是由極度網(wǎng)絡(luò)(Extreme Network)提供的專有協(xié)議。EAPS提供彈性分組環(huán)(RPR)功能以提供秒以下的故障結(jié)束協(xié)議允許在不使用生成樹協(xié)議(即IEEE 802.1D)功能的情況下環(huán)拓撲可以重收斂。Extreme Network的EAPS聲稱提供小于50ms的恢復(fù)時間,而不管在環(huán)中的節(jié)點的數(shù)量。然而,很可能EAPS是以經(jīng)過在環(huán)中的所有的節(jié)點的通過時間為條件的,其是通過硬件來完成的以使恢復(fù)的時延最小化。為清除相關(guān)的轉(zhuǎn)發(fā)表,EAPS發(fā)送“拓撲變化”類的幀,這樣允許學(xué)習新的拓撲。因此,聲稱的小于50ms的重收斂時間很可能沒有考慮為重新學(xué)習正確的拓撲整個環(huán)的拓撲變化的處理(包括清除L2轉(zhuǎn)發(fā)表)。很可能,在環(huán)中出現(xiàn)故障之后激活預(yù)先已知的作為備用的鏈路被認為是重收斂。
EAPS端口被排除在在特定的VLAN中參與任何生成樹協(xié)議之外。這樣就很清楚,EAPS不兼容于任何生成樹協(xié)議(如STP、RSTP或MSTP)。EAPS依賴于兩個獨特的機制鏈路斷開報警(link downalerts)和環(huán)輪詢幀(ring polling frame)。EAPS選出主節(jié)點,其具有第一端口和第二端口。當鏈路斷開事件發(fā)生時,檢測到鏈路斷開事件的節(jié)點立即向主節(jié)點發(fā)送鏈路斷開控制幀。主節(jié)點也負責激活是其第二鏈路的備用鏈路。在主節(jié)點上的第二鏈路正常地被鎖定以確保無環(huán)回的拓撲。在故障之后,當?shù)诙溌方r,主節(jié)點清除其自己的轉(zhuǎn)發(fā)表并且還將控制幀發(fā)送到所有的其他環(huán)節(jié)點,命令它們清除它們的轉(zhuǎn)發(fā)表。環(huán)輪詢幀也被用來監(jiān)視鏈路故障。如果環(huán)是安全的,那么每個環(huán)輪詢幀從第一端口發(fā)出并且在第二端口上接收。當故障發(fā)生時,在故障周期定時器時間到達之后,主節(jié)點激活其第二端口并且進入拓撲變化類或處理,清除其自己的轉(zhuǎn)發(fā)表和命令其他節(jié)點作同樣的處理(即通過控制幀)。可以看出,在鏈路斷開機制故障的情況下,例如當鏈路斷開幀丟失時,環(huán)輪詢機制還用來提供備用機制。
因此,可以克服與常規(guī)的生成樹協(xié)議的實現(xiàn)相關(guān)聯(lián)的缺點的生成樹協(xié)議的實現(xiàn)將會是有用的、有利的和新穎的。
發(fā)明內(nèi)容
本發(fā)明的實施方式涉及在開放系統(tǒng)互連(OSI)參考模型的第二層(L2)的裝置,其是由專有的、標準化的L2(即IEEE標準)協(xié)議和第3層(L3)(即IETF標準)協(xié)議來控制的。這些裝置在此后稱為“橋”。本發(fā)明的這樣的實施方式是快速生成樹協(xié)議(RSTP)的有利的和新穎的實現(xiàn)。當前的RSTP標準定義在文件“IEEE 802.1D2004局域和城域網(wǎng)標準媒體接入控制(MAC)橋”中。
本發(fā)明在此稱為快速環(huán)生成樹協(xié)議(RRSTP)。RRSTP解決了生成樹協(xié)議(STP)各種常規(guī)的配置中存在的問題。這樣的STP的例子包括,但不限制于,基本STP(即STP)、多STP(MSTP)以及快速生成樹協(xié)議(RSTP)。STP的這樣的常規(guī)配置的問題是收斂時間取決于在拓撲中的節(jié)點數(shù)量。當節(jié)點數(shù)量增加時,重收斂的時間也增加。
在有利于重收斂方面,RRSTP克服了STP的常規(guī)配置的限制。更具體地,RRSTP提供了具有受約束的收斂時間的并且以保持與RSTP兼容的方式的有利于重收斂的手段。因為RRSTP支持RSTP,它必須確保變量“最大的橋老化時間”也可能翻譯為“跳數(shù)”應(yīng)該根據(jù)標準設(shè)定在6和40之間,這仍然限制了環(huán)的大小,根據(jù)在不同的已知STP標準中的復(fù)雜的公式,小于給定的節(jié)點最大數(shù)量。
為確保受約束的收斂時間,RRSTP依賴于節(jié)點(即橋)的硬件來轉(zhuǎn)發(fā)專有的橋接協(xié)議數(shù)據(jù)單元(BPDU)。有利地,對于RRSTP環(huán),RRSTP允許小于50ms的環(huán)生成樹重收斂,但是也允許常規(guī)的生成樹協(xié)議(即RSTP或MSTP)在環(huán)中的任何其他地方應(yīng)用。這是指環(huán)的拓撲不會減小為僅僅是RRSTP環(huán),而是環(huán)的周圍基本上是完全自由的。小于50毫秒的環(huán)收斂只是在環(huán)中才能確保并且RRSTP直到由“最大的橋老化時間”標準變量引起的最大跳數(shù)達到之后,才提供小于50毫秒的收斂。
確實,即使通過硬件實現(xiàn)了RRSTP,在環(huán)中的節(jié)點數(shù)量仍然影響總的通過時間和重收斂時間。然而,跨越一個橋的通過時間以及在1Gbs的鏈路上發(fā)送幀所花費的時間是約為10毫秒。這樣,甚至對大的拓撲,相對于軟件處理時間,硬件通過時間(即在橋和1Gbs的鏈路上通過的時間)基本上是可忽略的。
RRSTP協(xié)議的一個關(guān)鍵的方面是除保持與其他生成樹協(xié)議的兼容之外,它提供在環(huán)拓撲中的快速收斂。這允許橋上的兩個端口可以專注于RRSTP,同時使橋的所有的端口,包括參與RRSTP協(xié)議的兩個,可以參與任何STP標準。對于常規(guī)的STP(如基本STP,RSTP和MSTP),對于RRSTP端口,和任何其他端口一樣,參與任何網(wǎng)狀拓撲的任何常規(guī)的標準STP,是有用的和有利的。以此方式,RRSTP端口與整個拓撲,不僅僅是環(huán)拓撲,相互作用以交換常規(guī)的BPDU幀(即根據(jù)常規(guī)的STP的BPDU幀)。
在本發(fā)明的一個實施方式中,一種方法包括為在多橋環(huán)中的多個橋的每一個的第一端口接收指定信息以及為在多橋環(huán)中的多個橋的每一個的第二端口接收指定信息。多個橋的每一個的第一端口是第一方向快速環(huán)生成樹協(xié)議(RRSTP)端口,多個橋的每一個的第二端口是第二方向RRSTP端口以及圍繞環(huán)的第一方向(如向前方向)與圍繞環(huán)的第二方向(如向后方向)相反。該方法進一步包括將第一保留的MAC地址與橋的每一個的第一方向端口相關(guān)聯(lián)以及將第二保留的MAC地址與橋的每一個的第二方向端口相關(guān)聯(lián)。
在本發(fā)明的另一個實施方式中,一種方法包括為信息傳輸單元的雙向傳輸配置在多橋環(huán)中的多個橋的每一個的兩個端口以及配置由橋的每一個利用的轉(zhuǎn)發(fā)表,使得橋的每一個的第一個端口接收與第一保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)以及橋的每一個的第二個端口接收與第二保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)。橋的每一個的第一個端口是在圍繞環(huán)的第一方向中傳輸信息傳輸單元的第一方向端口以及橋的每一個的第二個端口是在圍繞環(huán)的與第一方向相反的第二方向中傳輸信息傳輸單元的第二方向端口。
在本發(fā)明的另一個實施方式中,生成樹協(xié)議(STP)軟件包括多個指令。提供的指令用于配置各自的橋的兩個端口,RRSTP軟件駐留在橋中用于信息傳輸單元的雙向傳輸,以及用于配置由各自的橋利用的轉(zhuǎn)發(fā)表,使得第一方向RRSTP端口接收與第一保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)以及第二方向RRSTP端口接收與第二保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)。端口的第一個是在圍繞橋的環(huán)的第一方向中傳輸信息傳輸單元的第一方向RRSTP端口,端口的第二個是在圍繞橋的環(huán)的第二方向上傳輸信息傳輸單元的第二方向RRSTP端口以及圍繞橋的環(huán)的第一方向與第二方向相反。
通過進一步閱讀下列說明書和相關(guān)的附圖,本發(fā)明的這些和其他目的、實施方式、優(yōu)勢和/或特性將變得更加清晰。
圖1A和1B示出了有利于根據(jù)本發(fā)明的重收斂功能的方法。
圖2表示了為了允許根據(jù)本發(fā)明的重收斂功能,對于IEEE802.1D 2004標準的失效的端口角色轉(zhuǎn)換狀態(tài)機的所需的修改的實施方式。
圖3表示了為了允許根據(jù)本發(fā)明的重收斂功能,對于IEEE802.1D 2004標準的端口發(fā)送狀態(tài)機的所需的修改的實施方式。
圖4表示了為了允許根據(jù)本發(fā)明的重收斂功能,對于IEEE802.1D 2004標準的端口接收狀態(tài)機的所需的修改的實施方式。
圖5表示了為了允許根據(jù)本發(fā)明的重收斂功能,對于IEEE802.1D 2004標準的端口信息狀態(tài)機的所需的修改的實施方式。
圖6表示了為了允許根據(jù)本發(fā)明的重收斂功能,對于IEEE802.1D 2004標準的拓撲改變狀態(tài)機的所需的修改的實施方式。
圖7表示了支持RRSTP的節(jié)點拓撲的第一個可選實施方式。
圖8表示了支持RRSTP的節(jié)點拓撲的第二個可選實施方式。
具體實施例方式
正如前面所述的,在常規(guī)的生成樹協(xié)議(即STP)為激活的同時,本發(fā)明(即這里稱為RRSTP)有優(yōu)勢地進行實施。下面參照STP的常規(guī)版本RSTP(即,快速生成樹協(xié)議)對RRSTP進行描述。本領(lǐng)域的技術(shù)人員已經(jīng)完全理解響應(yīng)故障(例如根端口故障)的RSTP拓撲和RSTP功能,因此,在這里將不對這種拓撲和功能進行詳盡的描述。但是,為了提供該描述的總體框架,這里對這種RSTP環(huán)境的例子進行簡要的說明。
這里定義了一個合適的RSTP環(huán)境的合適例子,為根據(jù)IEEE802.1D 2004標準的環(huán)境,在該環(huán)境中能夠有助于RRSTP。在這個環(huán)境中,使用例如那些在IEEE 802.1D 2004標準的表17.1-RSTP定時器和通過保持計數(shù)參數(shù)值中定義的性能參數(shù)的默認設(shè)置對該環(huán)境中的所有節(jié)點(即,每個包括橋的節(jié)點)進行配置。該環(huán)境可以包括具有提供有利功能的RRSTP的比較大數(shù)量的節(jié)點(例如7個或更多個節(jié)點)。
橋接協(xié)議數(shù)據(jù)單元(即BPDU)是在RSTP環(huán)境中的每個節(jié)點的橋之間傳送信息的信息分組。BPDU是消息優(yōu)先級向量的例子,其結(jié)構(gòu)如下<根Id,根路徑代價,指定的橋ID,指定的端口ID,端口ID>。每當一個端口接收到這樣的BPDU,它將該傳送的向量與稱為端口優(yōu)先級向量的它自已保持的向量進行比較。如果經(jīng)過BDPU接收到的信息優(yōu)先于端口優(yōu)先級向量信息,則這個條件觸發(fā)狀態(tài)機計算以有助于所有端口角色的計算(例如,根端口、指定端口、備份端口和替代端口),從而允許RSTP環(huán)境的生成樹的重新設(shè)計。這種重新設(shè)計包括在生成的樹中選擇一個根橋、每個橋上的根端口、每個鏈路或本地局域網(wǎng)的指定端口、沒有或一個或多個允許朝向根橋的替代路徑的替代端口、以及沒有或一個或多個提供朝向樹的葉子(即,樹的對向節(jié)點)的替代路徑的備份端口。根橋具有最低的橋標識符(即,一個MAC地址和一個優(yōu)先級)。根端口提供到根橋的最短矩離(即,使用端口路徑代價標準參數(shù)來確定這個距離)。替代端口和備份端口的職責是在其它網(wǎng)絡(luò)部件故障的情況下允許連通性。任何端口也可以處于在IEEE 802.1D 2004標準中定義的轉(zhuǎn)發(fā)、丟棄或?qū)W習狀態(tài)中。
802.1D 2004標準中完整地解釋了拓撲改變和建議/協(xié)議消息。關(guān)于建議/協(xié)議消息,指定的“丟棄”端口總是試圖變?yōu)檗D(zhuǎn)發(fā)端口。正如在802.1D 2004標準17.10章節(jié)的改變端口狀態(tài)中所描述的,“轉(zhuǎn)換為丟棄的任何指定端口從其相鄰的橋開始依次請求允許轉(zhuǎn)換為轉(zhuǎn)發(fā)狀態(tài)。其效果是激活拓撲中的一個“切斷”從根橋傳播開,直到它到達網(wǎng)格邊緣或穩(wěn)定的激活拓撲中的最終位置”。因此,效果是,在每個鄰居之間交換的建議/協(xié)議BPDU期間,暫時的切斷在激活拓撲中進行傳播。這些事件從當前節(jié)點傳播開直至到達每個邊緣節(jié)點。關(guān)于拓撲改變消息,每當一個端口變?yōu)橹付ǖ霓D(zhuǎn)發(fā)(之前不是指定的轉(zhuǎn)發(fā))或根轉(zhuǎn)發(fā)(之前不是根轉(zhuǎn)發(fā))時,各個拓撲改變狀態(tài)機將該端口視為在網(wǎng)絡(luò)拓撲中變?yōu)榧せ畹?,橋必須清除所有端口上的所有MAC地址(即,除了其自己以外),并在除了其自己以外的所有端口上傳播拓撲改變消息。依次接收拓撲改變消息的任何橋上的任何端口必須在除其自己以外的所有端口上清除所有的MAC地址,并在除其自己以外的所有端口上傳播拓撲改變消息。
現(xiàn)在描述本發(fā)明的具體方面,RRSTP具有多個特定的環(huán)境配置要求以有助于節(jié)點網(wǎng)絡(luò)中的重收斂。這些特定的環(huán)境配置要求必須用于有助于根據(jù)本發(fā)明的重收斂功能。因此,用于有助于根據(jù)本發(fā)明的RRSTP功能的方法包括,執(zhí)行用于實現(xiàn)這些特定環(huán)境配置要求的操作。在一個實施方式中,這些操作優(yōu)選地由配置成用于有助于根據(jù)本發(fā)明的RRSTP功能的軟件(即,STP軟件)執(zhí)行。這種RRSTP功能包括,有助于用于實現(xiàn)這些特定環(huán)境配置要求的操作(例如,命令用戶執(zhí)行這樣的操作)和/或有助于重收斂功能。
對于每個節(jié)點,執(zhí)行一個操作以有助于每個RRSTP環(huán)最多指定兩個RRSTP端口。與有助于兩個RRSTP端口的指定相關(guān)聯(lián),執(zhí)行一個操作以將每個節(jié)點的第一個RRSTP端口與正向(例如,第一方向)相關(guān)聯(lián),將每個節(jié)點的第二個RRSTP端口與反向(例如,第二方向)相關(guān)聯(lián)。在一個實施方式中,根據(jù)本發(fā)明的STP軟件提示用戶輸入為每個節(jié)點指定兩個RRSTP端口的信息,并且輸入將每個節(jié)點的第一個RRSTP端口與正向相關(guān)聯(lián)以及將每個節(jié)點的第二個RRSTP端口與反向相關(guān)聯(lián)的信息。
因此,這里公開了與前向相關(guān)聯(lián)的所有端口允許在前向方向上圍繞環(huán)進行環(huán)回,并且與反向相關(guān)聯(lián)的所有端口允許在反向方向上圍繞環(huán)進行環(huán)回。這樣,圍繞節(jié)點環(huán)的第一方向與圍繞環(huán)節(jié)點的第二方向相反。
執(zhí)行用于保持每個RRSTP環(huán)兩個專有的目的MAC地址(即,媒體接入控制地址)的操作。這兩個目的MAC地址這里也稱為RRSTP MAC地址。第一個MAC地址與前向方向相關(guān)聯(lián),第二個MAC地址與反向方向相關(guān)聯(lián)。優(yōu)選地,兩個MAC地址是已知的專有的MAC地址。每個RRSTP BPDU遵循IEEE 802.1D 2004 BPDU格式,除了它的目的MAC地址是專有的。
節(jié)點支持的常規(guī)STP(例如,RSTP,MSTP等)必須也在每個RRSTP端口上得到正常的支持。因此,本方法優(yōu)選地,但不是必須,包括用于有助于在每個節(jié)點上驗證和/或?qū)崿F(xiàn)常規(guī)STP的操作。
在執(zhí)行完每個RRSTP環(huán)最大指定兩個RRSTP端口和將RRSTP端口與它們各自的方向相關(guān)聯(lián)之后,執(zhí)行用于配置每個節(jié)點可以訪問的層2(即L2)轉(zhuǎn)發(fā)表的操作,使得每個RRSTP MAC地址與該方向的端口相關(guān)聯(lián)。以這種方式,與對應(yīng)于前向方向的RRSTP MAC地址相關(guān)聯(lián)的業(yè)務(wù)被發(fā)送到與前向方向相關(guān)聯(lián)的RRSTP端口,與對應(yīng)于反向方向的RRSTP MAC地址相關(guān)聯(lián)的業(yè)務(wù)被發(fā)送到與反向方向相關(guān)聯(lián)的RRSTP端口。
執(zhí)行用于配置每個節(jié)點的硬件的操作,以使用任一個RRSTP MAC地址將BPDU(即,BPDU幀)發(fā)送給該硬件的CPU。使用RRSTP MAC地址發(fā)送的BPDU在這里稱為RRSTP BPDU。在一個實施方式中,STP軟件被適當配置成對每個節(jié)點的橋進行編程,以便將每個RRSTPBPDU發(fā)送給各個橋的CPU。以這種方式,每個RRSTP BPDU被發(fā)送給各個硬件的CPU,并且由各個硬件將其進行轉(zhuǎn)發(fā)。
參照圖1A-1B,描述了用于有助于根據(jù)本發(fā)明的重收斂功能的方法。該重收斂功能在一個節(jié)點環(huán)中的多個節(jié)點之中促進。每個節(jié)點包括各自的橋(即,橋101-107)。反向方向B指逆時針方向(即,直接從橋101到橋107)。前向方向F指順時針方向(即,直接從橋101到橋104)。
當在橋101和橋107之間檢測到鏈路故障時(圖1A),橋107上的STP軟件促進在其端口2上使用與反向方向相關(guān)聯(lián)的RRSTP MAC地址發(fā)送RRSTP BPDU-B(反向)。該RRSTP BPDU-B包括當前激活的常規(guī)STP(即,現(xiàn)在描述中的RSTP)的所有標準域。正如參照用于促進節(jié)點網(wǎng)絡(luò)中重收斂的上述公開中所描述的,常規(guī)的RSTP處理保持不變,常規(guī)的RSTP BPDU對話在RRSTP功能期間發(fā)生。
仍然參照圖1A,橋106上的STP軟件接收RRSTP BPDU-B。因為沒有端口被指定為橋106上的替代端口,并且橋106上的TC標記沒有被設(shè)置(即,設(shè)置為激活),所以橋106的STP軟件通過硬件將RRSTP BPDU-B高速轉(zhuǎn)發(fā)到定義了前向方向的橋105的RRSTP端口,并且CPU丟掉RRSTP BPDU-B(即,RRSTP BPDU-B幀)。
橋105上的STP軟件接收RRSTP BPDU-B。因為橋105上有一個端口被指定為替代端口(圖1A),所以橋105的STP軟件觸發(fā)端口信息狀態(tài)機(PIM)狀態(tài)RECEIVE-RRSTP,其為RRSTP修改的PIMRECEIVE狀態(tài)和RRSTP修改的rcvInfo()版本。當前被指定為根轉(zhuǎn)發(fā)(即,ROOT)的橋105的端口1,立即變成被指定為指定轉(zhuǎn)發(fā)(即,指定的端口(前向)),如圖1B中所示。橋105的端口2,首先被指定為替代端口,試圖變成被指定為根轉(zhuǎn)發(fā)(即,ROOT端口(前向))。因此,根端口轉(zhuǎn)換狀態(tài)機的REROOT狀態(tài)被觸發(fā)。根據(jù)IEEE802.1D2004標準,在“最近根定時器”設(shè)定的定時器期間為根端口并且當前被指定為指定轉(zhuǎn)發(fā)(即,指定的端口(前向))的任何端口應(yīng)當變成被指定為丟棄。但是,在RRSTP修改的過程setReRootTree()中,并不在RRSTP指定端口上觸發(fā)重新根狀態(tài)。這樣,橋105的端口1并不變成被指定為指定丟棄。因此,建議/協(xié)議序列不被觸發(fā)。
橋105的端口2變成被指定為根轉(zhuǎn)發(fā)。當橋105的端口2(即,起初被指定為替代端口的端口)變成被指定為根轉(zhuǎn)發(fā),橋105上的STP軟件在橋105的RRSTP端口上觸發(fā)狀態(tài)DETECTED-RRSTP,在該橋端口上也觸發(fā)拓撲改變(TC)狀態(tài)機的PROPAGATING-RRSTP狀態(tài)。這樣,橋105的STP軟件立即在橋105的端口1和2上發(fā)送RRSTP_TCBPDU。橋105的STP軟件也促進在該RRSTP端口上的L2(即,層2)轉(zhuǎn)發(fā)表的清除。
響應(yīng)橋105的端口1和2上發(fā)送的RRSTP_TC BPDU,橋102上的STP軟件接收RRSTP_TC BPDU。橋102上的STP軟件檢測到RRSTP_TCBPDU(即,RRSTP幀)和設(shè)置TC標記。作為響應(yīng),橋102上的STP軟件在RRSTP端口上觸發(fā)NOTIFIED_TC_RRSTP狀態(tài)。
橋102上的STP軟件觸發(fā)拓撲改變狀態(tài)機的PROPAGATING_WITHOUT_SENDING狀態(tài),并促進在RRSTP端口上的L2轉(zhuǎn)發(fā)表的清除。RRSTP_TC BPDU經(jīng)過其它的RRSTP端口被高速地向橋103轉(zhuǎn)發(fā)。這里公開了所有接收RRSTP_TC BPDU的橋根據(jù)上述為橋102所公開的RRSTP功能進行操作(即,觸發(fā)拓撲改變狀態(tài)機的PROPAGATING_WITHOUT_SENDING狀態(tài)以及RRSTP端口上的L2轉(zhuǎn)發(fā)表的清除)。
為了使得促進前面的參照圖1A和1B公開的RRSTP功能,需要對各種IEEE 802.1D 2004標準狀態(tài)機進行修改。圖2中所示的指令(即,圈起來的指令202)是對于失效的端口角色轉(zhuǎn)換狀態(tài)機的所需的修改。圖3中所示的指令(即,圈起來的指令302和304)是對于IEEE802.1D 2004標準端口發(fā)送狀態(tài)機的所需的修改。圖4中所示的指令(即,圈起來的指令402-410)是對于IEEE 802.1D 2004標準端口接收狀態(tài)機的所需的修改。圖5中所示的指令(即,圈起來的指令502-508)是對于IEEE 802.1D 2004標準端口信息狀態(tài)機的所需的修改。圖6中所示的指令(即,圈起來的指令602-622)是對于IEEE802.1D 2004標準拓撲改變狀態(tài)機的所需的修改。
下面的表1公開了對各種RRSTP狀態(tài)機的過程的描述。下面的表2公開了對RRSTP每個端口變量的描述。
表1 RRSTP狀態(tài)機過程
表2 RRSTP每個端口變量
為了安全的原因,根據(jù)本發(fā)明配置的橋(例如,具有根據(jù)本發(fā)明的STP軟件)丟棄非RRSTP端口上的任何RRSTP幀,正如由變量rcvdRRstp所定義的。RRSTP BPDU如標準STP BPDU也限制于突發(fā)。
至于節(jié)點拓撲要求,應(yīng)當理解,一旦一個端口被聲明為用于一個RRSTP環(huán)的一個RRSTP端口,它就不能被用于另外的RRSTP環(huán)。另外,因為對標準進行了修改以便允許非??焖俚闹厥諗拷ㄗh/協(xié)議序列,所以被允許的拓撲受到了限制。例如,節(jié)點拓撲,其中不是作為特定RRSTP環(huán)的同一個RRSTP環(huán)的部分的一個鏈路(即,一個端口,或者是另一個RRSTP環(huán)的一部分或者是一個STP/RSTP/MSTP端口)將位于已經(jīng)通過不支持根據(jù)本發(fā)明的RRSTP功能的RRSTP端口連接的2個RRSTP橋之間。圖7和圖8中披露了具有作為同一個RRSTP端口的部分的兩個點到點鏈路,并因此確實支持根據(jù)本發(fā)明的RRSTP功能的替代節(jié)點拓撲的例子。
現(xiàn)在涉及計算機可讀介質(zhì)(例如,軟件),從這里所做的披露中將理解,適于執(zhí)行這里披露的RRSTP功能的方法、處理和/或操作,可以確實地包含在其上具有執(zhí)行這種功能的指令的計算機可讀介質(zhì)中。在一個特定的實施方式中,指令確實地被包含以執(zhí)行前面參照圖1-6所披露的至少一部分功能。這些指令可以由一個或多個數(shù)據(jù)處理設(shè)備從存儲設(shè)備(例如,RAM、ROM、虛擬存儲器、硬驅(qū)動存儲器等)、從數(shù)據(jù)處理系統(tǒng)的驅(qū)動單元可讀的設(shè)備(例如,磁盤、光盤、磁帶盒等)或同時從兩者中進行存取。因此,根據(jù)本發(fā)明的計算機可讀介質(zhì)的實施方式包括,其上已經(jīng)映像了適于執(zhí)行根據(jù)本發(fā)明的RRSTP功能的計算機程序(即,一組指令)的光盤、硬驅(qū)動器、RAM或其它類型的存儲設(shè)備。
在前面的詳細描述中,已經(jīng)參照了構(gòu)成說明書一部分的附圖,其中以示例的方式描述了本發(fā)明可以實施的特定實施方式。已經(jīng)對這些實施方式及其某些變形進行了充分的詳細描述,使得本領(lǐng)域的技術(shù)人員能夠?qū)嵤┍景l(fā)明。應(yīng)當理解,也可以利用其它適合的實施方式,并且可以作邏輯的、機械的和電子的變化,而不會脫離本發(fā)明的精神和范圍。例如,可以以任何的方式對附圖中所示的功能方框進行進一步的組合或分割,而不會脫離本發(fā)明的精神或范圍。為了避免不必要的細節(jié),這里省略了對于本領(lǐng)域技術(shù)人員已知的特定信息的描述。所以,前面的詳細描述并不旨在限于這里提出的特定形式,而是相反,它旨在覆蓋可以合理地包括在所附的權(quán)利要求的精神和范圍中的那些替代、修改和等同方案。
權(quán)利要求
1.一種方法,包括為在多橋環(huán)中的多個橋的每一個的第一端口接收指定信息,其中多個橋的每一個的第一端口是第一方向快速環(huán)生成樹協(xié)議(RRSTP)端口;為在多橋環(huán)中的多個橋的每一個的第二端口接收指定信息,其中多個橋的每一個的第二端口是第二方向RRSTP端口以及其中圍繞所述環(huán)的第一方向與圍繞所述環(huán)的第二方向相反;將第一保留的MAC地址與所述橋的每一個的第一方向端口相關(guān)聯(lián);以及將第二保留的MAC地址與所述橋的每一個的第二方向端口相關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的方法,進一步包括配置所述橋的每一個的相關(guān)的硬件以使用所述保留的MAC地址之一將信息傳輸單元轉(zhuǎn)發(fā)到所述橋的各自的一個的CPU。
3.根據(jù)權(quán)利要求1所述的方法,進一步包括在所述橋的每一個的所述RRSTP端口上支持常規(guī)的生成樹協(xié)議,同時在所述RRSTP端口上支持所述RRSTP。
4.根據(jù)權(quán)利要求1所述的方法,其中關(guān)聯(lián)所述MAC地址包括配置由所述橋的每一個利用的轉(zhuǎn)發(fā)表,使得所述橋的每一個的第一方向RRSTP端口接收與第一保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)以及所述橋的每一個的第二方向RRSTP端口接收與第二保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)。
5.根據(jù)權(quán)利要求1所述的方法,其中在接收到用于第一方向RRSTP端口的指定信息和接收到用于第二方向RRSTP端口的指定信息之后,分別進行第一保留的MAC地址的所述關(guān)聯(lián)和第二保留的MAC地址的所述關(guān)聯(lián)。
6.根據(jù)權(quán)利要求1所述的方法,進一步包括響應(yīng)在所述橋的第一個檢測到鏈路故障,使用第一保留的MAC地址,在第一方向上,將RRSTP橋接協(xié)議數(shù)據(jù)單元(BPDU)發(fā)送到所述橋的第二個。
7.根據(jù)權(quán)利要求6所述的方法,進一步包括響應(yīng)由所述橋的第二個接收RRSTP BPDU以及所述橋的第二個具有指定為替換的端口,觸發(fā)所述橋的第二個的端口信息狀態(tài)機的至少一個狀態(tài),其中所述觸發(fā)使指定為根轉(zhuǎn)發(fā)的所述橋的第二個的端口變成指定為指定轉(zhuǎn)發(fā)以及其中指定為替換的所述橋的第二個的端口變成指定為根轉(zhuǎn)發(fā)。
8.根據(jù)權(quán)利要求7所述的方法,進一步包括響應(yīng)指定為替換的所述橋的第二個的端口變成指定為根轉(zhuǎn)發(fā),觸發(fā)所述橋的第二個的端口信息狀態(tài)機的至少一個狀態(tài),其中所述觸發(fā)使得將RRSTP TC BPDU,在所述橋的第二個的所述RRSTP端口的兩個上,向所述橋的第三個發(fā)送,并且使得清除在所述橋的第一個上的L2轉(zhuǎn)發(fā)表。
9.根據(jù)權(quán)利要求1所述的方法,進一步包括配置所述橋的每一個的相關(guān)的硬件以使用所述保留的MAC地址之一將信息傳輸單元轉(zhuǎn)發(fā)到所述橋的各自的一個的CPU;以及在所述橋的每一個的所述RRSTP端口上支持常規(guī)的生成樹協(xié)議,同時在所述RRSTP端口上支持所述RRSTP;其中所述關(guān)聯(lián)包括配置由所述橋的每一個利用的轉(zhuǎn)發(fā)表,使得所述橋的每一個的第一方向RRSTP端口接收與第一保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù)以及所述橋的每一個的第二方向RRSTP端口接收與第二保留的MAC地址相關(guān)聯(lián)的業(yè)務(wù);以及在接收到用于第一方向RRSTP端口的指定信息和接收到用于第二方向RRSTP端口的指定信息之后,分別進行第一保留的MAC地址的所述關(guān)聯(lián)和第二保留的MAC地址的所述關(guān)聯(lián)。
10.根據(jù)權(quán)利要求9所述的方法,進一步包括響應(yīng)在所述橋的第一個檢測到鏈路故障,使用第一保留的MAC地址,在第一方向上,將RRSTP BPDU發(fā)送到所述橋的第二個;響應(yīng)由所述橋的第二個接收RRSTP BPDU以及所述橋的第二個具有指定為替換的端口,觸發(fā)所述橋的第二個的端口信息狀態(tài)機的至少一個狀態(tài),其中所述觸發(fā)使得指定為根轉(zhuǎn)發(fā)的所述橋的第二個的端口變成指定為指定轉(zhuǎn)發(fā)以及其中指定為替換的所述橋的第二個的端口變成指定為根轉(zhuǎn)發(fā);響應(yīng)指定為替換的所述橋的第二個的端口變成指定為根轉(zhuǎn)發(fā),觸發(fā)所述橋的第二個的端口信息狀態(tài)機的至少一個狀態(tài),其中所述觸發(fā)使得將RRSTP TC BPDU,在所述橋的第二個的所述RRSTP端口的兩個上,向所述橋的第三個發(fā)送并且使得清除在所述橋的第一個上的L2轉(zhuǎn)發(fā)表;以及響應(yīng)所述橋的第三個接收所述RRSTP TC BPDU,觸發(fā)所述橋的第三個的端口信息狀態(tài)機的至少一個狀態(tài),其中所述觸發(fā)使得清除在所述橋的第一個上的L2轉(zhuǎn)發(fā)表并且使得將RRSTP TC BPDU,在第一方向上,使用第一保留的MAC地址,從所述橋的第二個向所述橋的第四個發(fā)送。
全文摘要
在一種能夠使重收斂更容易的方法中,接收用于在多橋環(huán)中的多個橋的每一個的第一端口的指定信息以及接收用于在多橋環(huán)中的多個橋的每一個的第二端口的指定信息。多個橋的每一個的第一端口是第一方向快速環(huán)生成樹協(xié)議(RRSTP)端口以及多個橋的每一個的第二端口是第二方向RRSTP端口。圍繞環(huán)的第一方向(如向前方向)與圍繞所述環(huán)的第二方向(如向后方向)相反。第一保留的MAC地址與橋的每一個的第一方向端口相關(guān)聯(lián)以及第二保留的MAC地址與橋的每一個的第二方向端口相關(guān)聯(lián)。
文檔編號H04L29/06GK1825832SQ200510134310
公開日2006年8月30日 申請日期2005年12月14日 優(yōu)先權(quán)日2004年12月14日
發(fā)明者勞倫斯·羅斯, 吉爾奧梅·伊瓦爾迪 申請人:阿爾卡特公司