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