專利名稱:基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法。
背景技術(shù):
IEEE802.1d和IEEE80.1w給出了在簡(jiǎn)單交換網(wǎng)絡(luò)中避免數(shù)據(jù)環(huán)路和實(shí)現(xiàn)冗余鏈路備份的解決方案;為了適應(yīng)多VLAN(虛擬局域網(wǎng),VirtualLocal Area Network)的大型的復(fù)雜交換網(wǎng)絡(luò),IEEE802.1s Draft14草案進(jìn)一步提出了MSTP(Multiple Spanning Tree Protocol,多生成樹協(xié)議),該協(xié)議將一個(gè)到多個(gè)交換設(shè)備劃分為不同的MST(多生成樹)域,在一個(gè)域內(nèi)維護(hù)多個(gè)MSTI(多生成樹實(shí)例),各個(gè)MSTI具有不同的ID(標(biāo)識(shí)),各個(gè)MSTI允許不同VLAN的數(shù)據(jù)報(bào)文按照各自的路徑轉(zhuǎn)發(fā),每個(gè)多生成樹實(shí)例只在域內(nèi)進(jìn)行計(jì)算,且和其他域的多生成樹實(shí)例之間是完全獨(dú)立的;各個(gè)MST域之間則通過唯一的CST(公共生成樹)串接起來,以保證整個(gè)網(wǎng)絡(luò)的連通性和無環(huán)路存在。域內(nèi)的多生成樹實(shí)例0,也稱為CIST域根,維護(hù)MST域與公共生成樹總根的轉(zhuǎn)發(fā)路徑,即域內(nèi)所有多生成樹實(shí)例通過CIST域根的根端口到達(dá)公共生成樹的總根。由于IEEE802.1s中提出的交換設(shè)備中的多生成樹的協(xié)議機(jī)制的不完善,因此,當(dāng)CIST上的域根改變時(shí),比如從交換機(jī)A切換到交換機(jī)B,域根的改變MST域內(nèi)交換機(jī)的多生成樹實(shí)例還沒有感知,導(dǎo)致臨時(shí)環(huán)路,引起嚴(yán)重的廣播風(fēng)暴。
下面結(jié)合附圖,對(duì)現(xiàn)有技術(shù)作進(jìn)一步的闡述,如圖1所示,域A、域B、域C和域D分別為四個(gè)不同的MST域,每個(gè)MST域內(nèi)有多個(gè)交換機(jī)。其中CIST的根橋位于域A中,從而域A成為核心域。圖中的域D由SWA、SWB、SWC、SWD四個(gè)交換機(jī)組成,假設(shè)SWA為域D的CIST域根,則從SWA去往核心域A的路徑總花費(fèi)比SWB小。如果我們?cè)谟駾中配置了多個(gè)MSTI實(shí)例,則將SWA上的通往核心域A的CIST根端口選擇為MSTI實(shí)例的Master Port(主端口),該端口可以進(jìn)行報(bào)文的轉(zhuǎn)發(fā),將SWB上的Alternate Port(可選端口)選擇為MSTI實(shí)例的Alternate Port,該端口不可以進(jìn)行報(bào)文的轉(zhuǎn)發(fā)。這樣,域D和域外網(wǎng)絡(luò)的通信,都將經(jīng)過SWA上的根端口進(jìn)行,而SWB上的端口在所有實(shí)例上是阻塞的。
當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生變化,如域D中的SWB通過域C至域A的鏈路速度提高了,即SWB發(fā)現(xiàn)自己通過域C到達(dá)域A比通過SWA到達(dá)域A路徑花費(fèi)更小時(shí),則將自己選擇為CIST的新域根,并在域D內(nèi)傳播這一消息。域D中的SWC和SWD收到SWB的CIST報(bào)文時(shí),也相應(yīng)地選擇SWB為CIST的新域根。當(dāng)SWA接收到SWD傳播過的CIST報(bào)文,通過計(jì)算也將選擇SWB為CIST的新域根,并將原來的根端口切換為Alternate port,從而阻塞該端口通往域A的路徑,在IEEE802.1s中通過PRT(端口角色遷移狀態(tài)機(jī))的Sync(同步)與Agree(握手)報(bào)文握手機(jī)制可以保證這種切換在CIST上不會(huì)產(chǎn)生網(wǎng)絡(luò)環(huán)路。
上述過程即為CIST域根切換的過程,在一個(gè)MST域內(nèi)同時(shí)存在一個(gè)CIST實(shí)例和零個(gè)或多個(gè)MSTI,域內(nèi)CIST域根的根端口就是MSTI的主端口。由于域內(nèi)不同多生成樹實(shí)例的計(jì)算是相互獨(dú)立的,CIST域根切換后,MSTI可能沒有機(jī)會(huì)執(zhí)行到PIM(端口信息狀態(tài)機(jī))的UPDATE(更新)狀態(tài),即域內(nèi)的MSTI除了在SWB上發(fā)現(xiàn)CIST域根發(fā)生變化外,其他交換機(jī)SWC、SWD和SWA均無法同時(shí)了解到CIST域根發(fā)生的變化。在IEEE802.1s中,主端口經(jīng)過2倍Forward Delay時(shí)間延時(shí)就可以轉(zhuǎn)發(fā)報(bào)文,因此SWB的CIST域根的根端口成為MSTI的主端口后,最多經(jīng)過2倍Forward Delay時(shí)間就進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。而此時(shí),SWA的MSTI還可以通過域邊界端口轉(zhuǎn)發(fā)報(bào)文,這必然導(dǎo)致在該MSTI上出現(xiàn)了網(wǎng)絡(luò)環(huán)路。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,以避免因?yàn)橛蚋母淖兌诰W(wǎng)絡(luò)中出現(xiàn)臨時(shí)環(huán)路,并引起嚴(yán)重的廣播風(fēng)暴。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,包括a、基于MSTP(多生成樹協(xié)議)的CIST(公共及內(nèi)部生成樹)域根發(fā)生改變時(shí),將需要改變CIST域根的MST域中的各MSTI(多生成樹實(shí)例)的端口變量置位,以表示CIST域根發(fā)生變化;b、觸發(fā)針對(duì)MST域中各MSTI的域根變化處理過程,通過該過程使MST域中的各MSTI了解CIST域根的變化。
其中,步驟b所述的域根變化處理過程是由CIST在PIM(端口信息狀態(tài)機(jī))的UPDATE(更新)狀態(tài)中執(zhí)行。
步驟b所述的域根變化處理過程為遍歷切換后的CIST域根的根端口上的所有有效MSTI,如果CIST實(shí)例在該端口的端口變量bChangedMaster置位,則將相應(yīng)的MSTI實(shí)例的該端口作如下處理將該端口變量bChangedMaster置位;將該端口的同步變量sync置位;將該端口的已同步變量synced復(fù)位;將該端口的已握手變量agreed復(fù)位;調(diào)用該MSTI的PRT(端口角色遷移狀態(tài)機(jī))實(shí)現(xiàn)端口狀態(tài)遷移。
由上述技術(shù)方案可以看出,本發(fā)明采用了當(dāng)進(jìn)行CIST域根切換時(shí),在交換機(jī)的每個(gè)端口的優(yōu)先級(jí)信息被PIM(端口信息狀態(tài)機(jī))更新后,觸發(fā)針對(duì)MSTI的域根變化處理過程,以保證MST域內(nèi)的各MSTI均了解CIST域根變化的信息。因此,本發(fā)明提供了一種簡(jiǎn)單、高效的基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,該方法可以有效避免因?yàn)镃IST域根的改變而導(dǎo)致MSTI在網(wǎng)絡(luò)中出現(xiàn)臨時(shí)環(huán)路,避免了臨時(shí)環(huán)路的形成,便不會(huì)在網(wǎng)絡(luò)中因此而引發(fā)廣播風(fēng)暴。
圖1為基于多生成樹協(xié)議的域間組網(wǎng)結(jié)構(gòu)示意圖;圖2為本發(fā)明的具體實(shí)施方式
流程圖。
具體實(shí)施例方式
本發(fā)明所述的基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法的具體實(shí)施方式
,參見圖2,具體包括以下步驟步驟1基于多生成樹協(xié)議的CIST域根發(fā)生改變,即發(fā)生CIST域根切換;步驟2CIST在PIM(端口信息狀態(tài)機(jī))的UPDATE(更新)狀態(tài)中,將CIST域根的根端口上所有MSTI實(shí)例的端口變量bChangedMaster置位,即令其等于TRUE,以表示域內(nèi)的CIST域根發(fā)生變化,如果該端口變量bChangedMaster等于FALSE,則表示CIST域根未發(fā)生變化;步驟3CIST執(zhí)行dealChangeMaster()(域根變化處理)過程,在本端口觸發(fā)所有的MSTI實(shí)例進(jìn)行端口狀態(tài)遷移,即在UPDATE狀態(tài)中加入新的處理環(huán)節(jié)CIST在PIM的UPDATE狀態(tài)將執(zhí)行dealChangedMaster()操作,所述的dealChangeMaster()過程具體為遍歷執(zhí)行UPDATE狀態(tài)的CIST域根的根端口上的所有有效MSTI實(shí)例,如果CIST實(shí)例在該端口的端口變量bChangedMaster置位,則將該端口所有的MSTI實(shí)例的端口變量bChangedMaster置位、同步變量sync置位、已同步變量synced復(fù)位、已握手變量agreed復(fù)位,然后調(diào)用該MSTI的PRT狀態(tài)機(jī),以實(shí)現(xiàn)端口狀態(tài)遷移。
每端口每實(shí)例變量sync、synced與agreed是IEEE802.1s協(xié)議中原來就有的端口同步機(jī)制所采用的同步變量。
權(quán)利要求
1.一種基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,其特征在于包括a、基于MSTP(多生成樹協(xié)議)的CIST(公共及內(nèi)部生成樹)域根發(fā)生改變時(shí),將需要改變CIST域根的MST域中的各MSTI(多生成樹實(shí)例)的端口變量置位,以表示CIST域根發(fā)生變化;b、觸發(fā)針對(duì)MST域中各MSTI的域根變化處理過程,通過該過程使MST域中的各MSTI了解CIST域根的變化。
2.根據(jù)權(quán)利要求1所述的基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,其特征在于步驟b所述的域根變化處理過程是由CIST在PIM(端口信息狀態(tài)機(jī))的UPDATE(更新)狀態(tài)中執(zhí)行。
3.根據(jù)權(quán)利要求1或2所述的基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,其特征在于步驟b所述的域根變化處理過程為遍歷切換后的CIST域根的根端口上的所有有效MSTI,如果CIST實(shí)例在該端口的端口變量bChangedMaster置位,則將相應(yīng)的MSTI實(shí)例的該端口作如下處理將該端口變量bChangedMaster置位;將該端口的同步變量sync置位;將該端口的已同步變量synced復(fù)位;將該端口的已握手變量agreed復(fù)位;調(diào)用該MSTI的PRT(端口角色遷移狀態(tài)機(jī))實(shí)現(xiàn)端口狀態(tài)遷移。
全文摘要
本發(fā)明涉及一種基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,該方法是在進(jìn)行CIST(公共及內(nèi)部生成樹)域根切換時(shí),在交換機(jī)的每個(gè)端口的CIST優(yōu)先級(jí)信息被PIM(端口信息狀態(tài)機(jī))更新后,觸發(fā)相應(yīng)MSTI處理CIST域根變化處理過程,以保證MST域內(nèi)的各MSTI均了解CIST域根變化的信息。因此,本發(fā)明提供了一種簡(jiǎn)單、高效的基于多生成樹協(xié)議的域根切換實(shí)現(xiàn)方法,可有效避免因?yàn)镃IST域根的改變而導(dǎo)致MSTI在網(wǎng)絡(luò)中出現(xiàn)臨時(shí)環(huán)路。
文檔編號(hào)H04L12/24GK1510873SQ02160068
公開日2004年7月7日 申請(qǐng)日期2002年12月26日 優(yōu)先權(quán)日2002年12月26日
發(fā)明者汪勇, 陳剛, 蘇興山, 汪 勇 申請(qǐng)人:華為技術(shù)有限公司