欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法和裝置的制作方法

文檔序號:7695871閱讀:125來源:國知局
專利名稱:用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及光纖最短路徑優(yōu)先(Fabric Shortest Path First,F(xiàn)SPF)協(xié)議路由轉(zhuǎn)發(fā)技術(shù),特別涉及一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)(即FSPF路由轉(zhuǎn)發(fā))的方法、以及一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置。
背景技術(shù)
FSPF協(xié)議是FC網(wǎng)絡(luò)所使用的基于鏈路的動態(tài)路由發(fā)現(xiàn)協(xié)議,每臺支持FSPF協(xié)議的FC交換機均可以利用本機生成的鏈路狀態(tài)記錄(Link State Record, LSR)來描述本機與鄰居FC交換機之間的關(guān)系。如圖1 所示,LSR 包括 LS 頭(Link State Header)、鏈路數(shù)量(Number of Links)、 以及若干個鏈路描述符(Link Descriptor)。其中,LS頭中具有一 LSR類型(LSR Type) 字段,目前已被使用的僅有交換機鏈路記錄(Switch Link Record)這一種類型,該類型的 LSR用于FC交換機描述本機與鄰居FC交換機之間的關(guān)系;LS頭中還具有年齡(Age)字段, 用于表示該LS頭所在LSR的年齡(以秒為單位),Age字段在LSR剛生成時為0、Age字段達到最大值3600秒的LSR將被刪除;LS頭中包含的其他字段可參見相關(guān)協(xié)議,本文不再贅述。Number of Links表示所在LSR中包含的Link Descriptor字段的數(shù)量。每個Link Descriptor字段僅包含一個穩(wěn)定(FULL)狀態(tài)的鏈路的Link Descriptor。每當FC交換機發(fā)現(xiàn)鄰居FC交換機之后,即可與該鄰居FC交換機相互同步各自的本機鏈路狀態(tài)數(shù)據(jù)庫(Link-State DataBase, LSDB)中的LSR,然后依據(jù)本機LSDB中的LSR 用于計算出本機到其他任意一臺FC交換機的最短的路由。具體說,互為鄰居的每臺FC交換機分別基于各自的對應(yīng)的鄰居狀態(tài)機來實現(xiàn)相互發(fā)現(xiàn)、同步LSDB、以及相互維護的過程。如圖2所示,鄰居狀態(tài)機的各狀態(tài)及遷移方式如下Down狀態(tài)為初始,等待連接鄰居FC交換機的對應(yīng)端口上報的表示端口 Up的通知, 當收到該通知后遷移至初始化(Init)狀態(tài);Init狀態(tài),以預(yù)先設(shè)置的間隔(HL0 Sff_ILS_Interval)向鄰居FC交換機發(fā)送交換機光纖交互連接服務(wù)(Switch Fabric Internal Link Service, Sff_ILS)協(xié)議的招呼 (Hello, HL0)報文,當收到鄰居FC交換機發(fā)送的HLO報文時,即實現(xiàn)鄰居FC交換機的發(fā)現(xiàn)、 并保存該HLO報文中攜帶的域標識(Domain ID)和端口索引(Port Index),以便后面生成 LSR使用;如果該HLO報文中攜帶的Domain ID字段中填寫的就是本機的Domain ID,則該 HLO報文就是表示鄰居FC交換機也已發(fā)現(xiàn)本機的雙路徑(2way) HLO報文,進而與對端的鄰居FC交換機建立2way關(guān)系,然后遷移至數(shù)據(jù)庫交換(DB Exchange)狀態(tài);DB Exchange 狀態(tài),利用 SW_ILS 協(xié)議的鏈路狀態(tài)更新(The Link State Update, LSU)報文向鄰居FC交換機發(fā)送本機LSDB中的所有LSR,其中,發(fā)送最后一個LSR的LSU報文中的標志(Flag)需要設(shè)置為表示所有LSR發(fā)送完畢的值;與此同時,接收鄰居FC交換機發(fā)送至本機的LSR,每當收到一個LSR即利用SW_ILS協(xié)議的鏈路狀態(tài)確認(The Link StateAcknowledgement, LSA)報文來響應(yīng),如果收到比本機LSDB中新的LSR、或者本機LSDB中沒有的LSR,則更新至本機LSDB中;此外,如果本機先于鄰居FC交換機發(fā)送完所有LSR,則遷移至數(shù)據(jù)庫等待(DB Wait)狀態(tài),如果本機晚于鄰居FC交換機發(fā)送完所有LSR,則遷移至數(shù)據(jù)庫響應(yīng)等待(DB ACK Wait)狀態(tài);DB Ack Wait狀態(tài),當接收到鄰居FC交換機發(fā)送的針對最后一個LSR的LSA報文時,遷移至Full狀態(tài);DB Wait狀態(tài),當接收到鄰居FC交換機發(fā)送的最后一個LSR的LSU報文時,遷移至 Full狀態(tài)。只要互為鄰居的兩臺FC交換機的對應(yīng)鄰居狀態(tài)機均遷移至Full狀態(tài),則互為鄰居的兩臺FC交換機變?yōu)猷徑?Adjacency)關(guān)系,從而,成為Adjacency關(guān)系的兩臺FC交換機可以分別計算出本機通過對端所能夠到達的其他任意一臺FC交換機的最短的路由、且該路由不會產(chǎn)生環(huán)路,然后即可利用計算出的路由實現(xiàn)FSPF路由轉(zhuǎn)發(fā),當然,還需要周期性地通過互發(fā)HLO報文來維護Adjacency關(guān)系。按照上述方式雖然能夠?qū)崿F(xiàn)FSPF路由轉(zhuǎn)發(fā),但對于某些分布式結(jié)構(gòu)的高端的FC 交換機來說,卻會存在如下問題分布式結(jié)構(gòu)的FC交換機中,控制層面的業(yè)務(wù)處理和轉(zhuǎn)發(fā)層面的轉(zhuǎn)發(fā)處理是相互分離的,即,業(yè)務(wù)處理主要集中在主控板上、轉(zhuǎn)發(fā)處理由接口板負責,以便于大幅度提升業(yè)務(wù)處理和轉(zhuǎn)發(fā)處理的各自處理能力。其中,主控板分為主用主控板和備用主控板,當主用主控板工作不正常時,備用主控板將接替主用主控板工作,從而提升業(yè)務(wù)處理的可靠性;但是,當某臺FC交換機發(fā)生主用主控板與備用主控板的主備倒換后,由備用主控板切換后的新的主用主控板需要重新執(zhí)行鄰居發(fā)現(xiàn)過程、并針對發(fā)現(xiàn)的每一鄰居FC交換機的鄰居狀態(tài)機執(zhí)行從Down狀態(tài)開始至Full狀態(tài)的各處理過程、然后再重新計算經(jīng)過各鄰居FC交換機的路由;相應(yīng)地,所有鄰居FC交換機也會由于無法收到周期性的HLO報文而導(dǎo)致定時器超時(通常為4個HLO報文的發(fā)送周期、共80秒),進而導(dǎo)致每臺鄰居FC交換機均會將其內(nèi)部維護的與發(fā)生主備倒換的FC交換機對應(yīng)的鄰居狀態(tài)機退回至Init狀態(tài)、 并由于回至Init狀態(tài)而將涉及發(fā)生主備倒換的FC交換機的LSR和所有路由刪除,直至針對發(fā)生主備倒換的FC交換機對應(yīng)的鄰居狀態(tài)機執(zhí)行從Init狀態(tài)遷移至Full狀態(tài)的所有處理過程后,再重新計算經(jīng)過發(fā)生主備倒換的FC交換機的路由。如上可見,對于主控板與接口板相分離、以及具有可進行倒換的主用主控板和備用主控板的FC交換機來說,在主備倒換發(fā)生之后、重新計算路由完成之前,雖然發(fā)生主備倒換的FC交換機的接口板的轉(zhuǎn)發(fā)處理不會由于主控板的主備倒換而被中斷,但所有鄰居 FC交換機仍然會由于相關(guān)LSR和路由的刪除而在一定時間內(nèi)無法通過發(fā)生主備倒換的FC 交換機實現(xiàn)FPSF路由轉(zhuǎn)發(fā)。為解決上述問題,現(xiàn)有技術(shù)中提出了一種向鄰居學(xué)習的方式,該方式能夠在發(fā)生主備倒換之后避免鄰居FC交換機將涉及發(fā)生主備倒換的FC交換機的LSR和所有路由刪除,從而使鄰居FC交換機仍能夠通過發(fā)生主備倒換的FC交換機實現(xiàn)FPSF路由轉(zhuǎn)發(fā),但該方式要求鄰居FC交換機必須具備輔助學(xué)習的能力、并完全依賴于鄰居FC交換機。為避免對鄰居FC交換機的依賴,現(xiàn)有技術(shù)中還提供了一種本機備份的方式,該方式由備用接口板在發(fā)生主備倒換之前即備份出與主用接口板相一致的LSR和路由,但該方
5式會存在如下問題1、主用主控板需要將接收到的LSU報文備份至備用主控板、以便于備用主控板從 LSU報文中獲取各鄰居的LSR,在備用主控板成功接收備份的LSU報文后,主用主控板會向鄰居FC交換機發(fā)送確認的報文,但如果主用主控板沒有及時向鄰居FC交換機發(fā)送確認的報文,則鄰居FC交換機會不斷重傳這些LSU報文,從而導(dǎo)致主用主控板不斷地向備用主控板重傳這些已備份的LSU報文,進而導(dǎo)致本機內(nèi)的通道堵塞。2、為了保證備用主控板上的路由的正確性,主用主控板必須向備用主控板備份路由或備份可供備用主控板生成本機的LSR的關(guān)鍵數(shù)據(jù)(例如鄰居信息、端口信息等)。如果是直接備份路由,則容易由于網(wǎng)絡(luò)拓撲結(jié)構(gòu)變化頻繁而頻繁地向備用主控板備份路由,從而導(dǎo)致本機內(nèi)的通道擁塞;如果是備份關(guān)鍵數(shù)據(jù),則由于備用主控板在發(fā)生主備倒換之前即生成本機的LSR需要考慮到主用主控板的狀況,因而必須兼顧備份的時序、以及備份失敗的應(yīng)對方式等各種問題,從而實現(xiàn)過于復(fù)雜。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法、以及一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置。本發(fā)明提供的一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法,其應(yīng)用于支持光纖最短路徑優(yōu)先FSPF協(xié)議的,且包括主用主控板、接口板以及備用主控板的FC交換機中,該方法由備用主控板執(zhí)行如下步驟al、接收主用主控板發(fā)送的鄰居LSR;a2、觸發(fā)本板晉升為主用主控板;a3、依據(jù)本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系;a4、依據(jù)本機可用端口以及已建立鄰接關(guān)系的鄰居生成本機LSR ;a5、開始向已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文;a6、依據(jù)鄰居LSR以及本機LSR計算路由。步驟al之后還包括a7、從主用主控板發(fā)送的鄰居LSR識別出有效鄰居LSR、以使步驟a3以及步驟a6 中所述的鄰居LSR為有效鄰居LSR。所述步驟a7根據(jù)主用主控板對鄰居LRS所做的標識區(qū)分出有效的鄰居LSR。所述標識包括有效鄰居LSR的LSR頭中的保留字段為初始值、無效鄰居LSR的 LSR頭中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值;或者,所述標識包括有效鄰居LSR的鏈路描述中的保留字段為初始值、無效鄰居 LSR的鏈路描述中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值。步驟al之前還包括a0、在本板備份主用主控板發(fā)送的本機的配置管理信息,所述配置管理信息至少包括本機的域ID以及包含有本機可用端口的端口配置信息。步驟a5中用于維護鄰接關(guān)系的報文為HLO報文。步驟a2還包括檢測主用主控板是否在位,如果檢測到主用主控板不在位,則觸發(fā)本板晉升為主用主控板。本發(fā)明提供的一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置,所述裝置位于支持光纖最短路徑優(yōu)先FSPF協(xié)議,且包括主用主控板、接口板以及備用主控板的FC交換機中,且所述裝置設(shè)置于所述FC交換機的備用主控板并包括LSR備份模塊,用于接收主用主控板發(fā)送的鄰居LSR ;晉升控制模塊,用于觸發(fā)本板晉升為主用主控板;鄰居恢復(fù)模塊,用于在本板晉升為主用主控板后,依據(jù)本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系;LSR生成模塊,用于依據(jù)本機可用端口以及已建立鄰接關(guān)系的鄰居生成本機LSR ;鄰居維護模塊,用于開始向已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文;路由計算模塊,用于依據(jù)鄰居LSR以及本機LSR計算路由。該裝置還包括有效判別模塊,用于從主用主控板發(fā)送的鄰居LSR識別出有效鄰居LSR、以使鄰居恢復(fù)模塊和路由計算模塊所依據(jù)的鄰居LSR為有效的鄰居LSR。所述有效判別模塊根據(jù)主用主控板對鄰居LRS所做的標識區(qū)分出有效的鄰居 LSR。所述標識包括有效鄰居LSR的LSR頭中的保留字段為初始值、無效鄰居LSR的 LSR頭中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值;或者,所述標識包括有效鄰居LSR的鏈路描述中的保留字段為初始值、無效鄰居 LSR的鏈路描述中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值。該裝置進一步包括配置備份模塊,用于在本板備份主用主控板在發(fā)送鄰居LSR 之前發(fā)送的本機的配置管理信息,所述配置管理信息至少包括本機的域ID以及包含有本機可用端口的端口配置信息。用于維護鄰接關(guān)系的報文為HLO報文。晉升控制模塊進一步檢測主用主控板是否在位,如果檢測到主用主控板不在位, 則觸發(fā)本板晉升為主用主控板。由上述技術(shù)方案可見,在本發(fā)明中,主用主控板在發(fā)生主備倒換之前能夠向備用主控板備份鄰居LSR,備用主控板在發(fā)生主備倒換之后能夠依據(jù)備份的鄰居LSR直接創(chuàng)建與各鄰居之間的鄰接關(guān)系、并在生成本機LSR之后就立即恢復(fù)向鄰居發(fā)送用于維護鄰接關(guān)系的報文(以軟件實現(xiàn)倒換后的鄰接關(guān)系建立及本機LSR生成的時間會遠遠少于可導(dǎo)致鄰居定時器超時的80秒),因而能夠避免鄰居發(fā)生狀態(tài)回退、并避免鄰居由于狀態(tài)回退而刪除本機LSR和相關(guān)路由,從而確保鄰居能夠持續(xù)通過發(fā)生主備倒換的FC交換機實現(xiàn)FPSF 路由轉(zhuǎn)發(fā)。而且,主用主控板在發(fā)生主備倒換之前并不需要向備用主控板備份LSU報文,因而不會出現(xiàn)重傳LSU報文所導(dǎo)致的本機內(nèi)的通道堵塞;備用主控板不需要向備用主控板備份路由、也不需要在發(fā)生主備倒換之前就生成本機LSR,因而不會出現(xiàn)拓撲結(jié)構(gòu)變化頻繁所導(dǎo)致的本機內(nèi)的通道擁塞、也不會由于需要兼顧主用主控板的狀況而導(dǎo)致實現(xiàn)過于復(fù)雜。


圖1為LSR的結(jié)構(gòu)示意7
圖2為現(xiàn)有FC交換機中的鄰居狀態(tài)機的示意圖;圖3為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法的示例性流程圖;圖4為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法的一優(yōu)選流程示意圖;圖5為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置的示例性結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一步詳細說明。針對鄰居FC交換機(后文中將“鄰居FC交換機”簡稱為“鄰居”)通過發(fā)生主備倒換的FC交換機實現(xiàn)FPSF路由轉(zhuǎn)發(fā)會中斷的問題,本實施中采用在FC交換機內(nèi)的本機備份的方式,但本實施例中所采用的本機備份的方式又區(qū)別于現(xiàn)有的本機備份方式。具體說為了避免鄰居通過發(fā)生主備倒換的FC交換機實現(xiàn)FPSF路由轉(zhuǎn)發(fā)中斷,就必須確保鄰居不會刪除發(fā)生主備倒換的FC交換機的LSR和相關(guān)路由,而為了確保上述LSR和相關(guān)路由不被刪除就需要避免鄰居為發(fā)生主備倒換的FC交換機所維護的鄰居狀態(tài)機不發(fā)生狀態(tài)回退。因此,本實施例由主用主控板在發(fā)生主備倒換之前即向備用主控板備份鄰居LSR, 再由備用主控板在發(fā)生主備倒換之后依據(jù)備份的鄰居LSR直接創(chuàng)建與各鄰居之間的鄰接關(guān)系、并在生成本機LSR之后就立即恢復(fù)向鄰居發(fā)送用于維護鄰接關(guān)系的報文。由于備用主控板可直接建立與各鄰居之間的鄰接關(guān)系,因而可避免鄰居獲知主備倒換過程的發(fā)生,從而避免由于鄰居獲知主備倒換過程的發(fā)生而產(chǎn)生上述的狀態(tài)回退;而且,以軟件實現(xiàn)倒換后的鄰接關(guān)系建立及本機LSR生成的時間會遠遠少于可導(dǎo)致鄰居的定時器超時的80秒,因而在生成本機LSR之后就立即恢復(fù)向鄰居發(fā)送用于維護鄰接關(guān)系的報文,能夠避免鄰居由于未在定時器超時之前收到用于維護鄰接關(guān)系的報文而產(chǎn)生上述的狀態(tài)回退。此外,為了避免出現(xiàn)重傳LSU報文所導(dǎo)致的本機內(nèi)的通道堵塞,主用主控板直接向備用主控板提供鄰居LSR、而不是向備用主控板提供所有接收到的LSU報文;而且,為了避免出現(xiàn)拓撲結(jié)構(gòu)變化頻繁所導(dǎo)致的本機內(nèi)的通道擁塞、以及避免由于需要兼顧主用主控板的狀況而導(dǎo)致實現(xiàn)過于復(fù)雜,既不需要主用主控板向備用主控板備份路由、也不需要備用主控板在發(fā)生主備倒換之前就生成本機LSR,而是由備用主控板在晉升為主用主控板后再生成本機LSR、并自行計算路由,這是由于原主用主控板在備用主控板晉升為主用主控板后已失效、備用主控板生成本機LSR和計算路由時均不在需要考慮主用主控板的狀況。以上是對本實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法和裝置的原理性綜述,下面,在分別對本實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法和裝置進行詳細說明。圖3為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法的示例性流程圖。該方法主要應(yīng)用于支持FSPF協(xié)議,且包括主用主控板、接口板以及備用主控板的FC交換機,且,該方法包括如圖3所示的如下步驟步驟300,主用主控板將用戶在本板配置的本機的配置管理信息發(fā)功給備用主控板,備用主控板在本板備份主用主控板所發(fā)送的本機的配置管理信息。
其中,本文所述的配置管理信息至少包括本機的域ID、以及包含有本機的可用端口的端口配置信息;對于配置管理信息中可以被本領(lǐng)域技術(shù)人員所知曉的其他內(nèi)容,本文不再贅述。另需要說明的是,如果備用主控板能夠自行得到本機的配置管理信息,例如用戶能夠直接在備用主控板上配置本機的配置管理信息、或備用主控板可以從本機內(nèi)的任意存儲部件中自動讀取本機的配置管理信息,則本流程可以從后續(xù)的步驟301開始執(zhí)行、而無需執(zhí)行本步驟。步驟301,主用主控板將從接收自鄰居的LSU報文中獲取的鄰居LSR同步至本板的LSDB、并同時發(fā)送給備用主控板,再由備用主控板接收主控板發(fā)送的LSR、并在本板備份主用主控板發(fā)送的鄰居LSR。實際應(yīng)用中,主用主控板并不一定將每個獲取的鄰居LSR都同步至本板的LSDB、 并同時發(fā)送給備用主控板,而是可以僅將比本板LSDB中新的鄰居LSR和/或本板LSDB中沒有的鄰居LSR更新至本板LSDB中、并同時發(fā)送給備用主控板。另需要說明的是,由于鄰居可以為多個、且同一鄰居也可能會不止一次地發(fā)送LSU 報文,因此,本步驟可以是多次、且實時執(zhí)行的步驟。步驟302,備用主控板在獲知本板需要晉升為主用主控板后,觸發(fā)本板晉升為主用主控板。在實際應(yīng)用中,備用主控板可以依據(jù)本機內(nèi)部設(shè)置的監(jiān)控模塊發(fā)送的通知來獲知需要晉升為主用主控板,本文所述的監(jiān)控模塊主要用于實時檢測主用主控板是否在位,其可以是承載于備用主控板上的軟件模塊,也可以是設(shè)置于備用主控板、或獨立于備用主控板的硬件結(jié)構(gòu)。此外,本流程中的后續(xù)步驟均需要利用本板運行的FSPF協(xié)議來執(zhí)行,因此,在后續(xù)步驟開始之前需要觸發(fā)FSPF協(xié)議在本板的運行。具體的觸發(fā)時機可以在備用主控板上電后;當然,具體的觸發(fā)時機也可以在步驟302,這樣可以減少備用主控板的開銷。其中,運行FSPF協(xié)議主要包括使能本機可用端口(可通過配置管理信息中的端口配置信息獲知)、以使FSPF協(xié)議能夠識別本機的可用端口,以及,為本機的可用端口創(chuàng)建 FSPF協(xié)議的數(shù)據(jù)結(jié)構(gòu)等。步驟303,備用主控板依據(jù)本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系。具體實現(xiàn)時,備用主控板可以遍歷本板備份的所有鄰居LSR、并依次建立與對應(yīng)的鄰居之間的鄰接關(guān)系。其中,這里所述的鄰接關(guān)系就是指鄰居狀態(tài)機處于Full狀態(tài)時的 Adjacency關(guān)系,即,備用主控板仍會為每一鄰居創(chuàng)建對應(yīng)的鄰居狀態(tài)機,且所創(chuàng)建的鄰居狀態(tài)機在創(chuàng)建完成時就處于Full狀態(tài)、而不是其他狀態(tài)。當然,建立鄰接關(guān)系還包括備用主控板在本步驟中為鄰居創(chuàng)建FSPF協(xié)議的數(shù)據(jù)結(jié)構(gòu)。步驟304,備用主控板依據(jù)本機可用端口(可通過配置管理信息中的端口配置信息獲知)以及本板已建立鄰接關(guān)系的鄰居生成本機LSR。步驟305,備用主控板開始向本板已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文,例如HLO報文。本步驟所述的開始向已建立鄰接關(guān)系的鄰居發(fā)送,是指開始周期性地發(fā)送,以便于維護與鄰居之間的鄰接關(guān)系。 步驟306,備用主控板依據(jù)本板備份的鄰居LSR以及本板生成的本機LSR計算路至此,本流程結(jié)束,晉升為新主用主控板的原備用主控板能夠使本機正常運行。此外,在實際應(yīng)用中,有可能出現(xiàn)鄰居誤發(fā)LSR的情況,即,向本機發(fā)送LSR的鄰居并不是與本機直連。其中,與本機直連的其他FC交換機(即鄰居)所發(fā)送的鄰居LSR為有效的鄰居LSR,有效的鄰居LSR的鏈路標識為本機的域ID、且鏈路描述中會包含鄰居端口索引;而未與本機直連的其他FC交換機所發(fā)送的鄰居LSR為無效的鄰居LSR,無效的鄰居 LSR的鏈路標識不是本機的域ID,或者,鏈路標識為本機的域ID、但鏈路描述中不存在鄰居端口索引。因此,鏈路標識為本機的域ID、且鏈路描述中包含鄰居端口索引的鄰居LSR為有效的鄰居LSR,鏈路標識不是本機的域ID、或者鏈路標識為本機的域ID但鏈路描述中未包含鄰居端口索引的鄰居LSR為無效的鄰居LSR。那么,如果備用主控板在步驟303依據(jù)無效的鄰居LSR建立了鄰接關(guān)系、并在步驟 306計算路由,就會導(dǎo)致計算出的路由不準確。因此,應(yīng)當排除這些無效的鄰居LSR,并在步驟301之后(但需要等到FSPF協(xié)議在本板開始運行)進一步判斷本板備份的鄰居LSR是否有效,以使步驟303僅建立與有效的鄰居之間的鄰接關(guān)系、以及在步驟306計算路由所依據(jù)的鄰居LSR僅限于有效的鄰居LSR。執(zhí)行上述判斷的具體時機可以在步驟303之前,當然,也可以與步驟303同時執(zhí)行、或分別與步驟303和步驟306同時執(zhí)行。而執(zhí)行上述具體判斷的具體方式可以為第一種方式是,主用主控板在獲取到每一鄰居LSR之后,均驗證其是否有效,只有有效的鄰居LSR才會通過步驟301發(fā)送至備用主控板備份。第二種方式是,主用主控板在獲取到每一鄰居LSR之后,均驗證其是否有效,但仍將有效和無效的鄰居LSR均發(fā)送至備用主控板備份,只是對無效的鄰居LSR進行標識,該標識用于作為步驟303和步驟306中識別無效的鄰居LSR的依據(jù)。例如,有效的鄰居LSR的LSR頭中的保留字段的值為默認的初始值0、無效的鄰居 LSR的LSR頭中的保留字段的值可以被主用主控板標識為區(qū)別于初始值0的預(yù)設(shè)值1,備用主控板可以直接依據(jù)鄰居LSR的LSR頭的保留字段的值來獲知該鄰居LSR的有效性。再例如,有效的鄰居LSR報文內(nèi)層的鏈路描述中的保留字段的值為默認的初始值 0、無效的鄰居LSR報文內(nèi)層的鏈路描述中的保留字段的值可以被主用主控板標識為區(qū)別于初始值0的預(yù)設(shè)值1,這樣,備用主控板可以先判斷鄰居LSR報文內(nèi)層的鏈路描述中的鏈路標識是否為本機的域ID,如果不是本機的域ID則直接認定為無效,如果是本機的域ID則再判斷報文內(nèi)層的鏈路描述中的保留字段的值,該保留字段為初始值0時即認定為有效、 該保留字段為預(yù)設(shè)值1時即認定為無效。上述兩種方式均可以避免備用主控板依據(jù)無效的鄰居LSR建立了鄰接關(guān)系、并計算路由。但是,第一種方式會導(dǎo)致主用主控板的LSDB中的鄰居LSR與備用主控板的LSDB 中備份的鄰居LSR不完全一致、不符合FSPF協(xié)議的規(guī)范要求,因而相比之下,第二種方式為更優(yōu)。當然,只要確保備用主控板能夠識別出非法的鄰居LSR,第二種方式可以通過采用任意標識和識別方式,本文不再一一贅述。
圖4為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法的一優(yōu)選流程示意圖。如圖4所示,以優(yōu)選方式實現(xiàn)如圖3所示流程的該方法包括如下步驟步驟401,主用主控板接收用戶在本板配置的本機的配置管理信息。步驟402,主用主控板保存用戶在本板配置的本機的配置管理信息。步驟403,主用主控板將用戶在本板配置的本機的配置管理信息發(fā)功給備用主控板。步驟404,備用主控板在本板備份主用主控板所發(fā)送的本機的配置管理信息。步驟405,主用主控板接收來自鄰居的LSU報文。步驟406,主用主控板從接收到的LSU報文中獲取鄰居LSR,驗證獲取的鄰居LSR 是否有效,并將有效的鄰居LSR的保留字段的值保留為默認的初始值0、將無效的鄰居LSR 的保留字段的值改為區(qū)別于初始值0的預(yù)設(shè)值1。步驟407,主用主控板將獲取并經(jīng)過驗證的鄰居LSR(包括有效的和無效的)同步至本板的LSDB、并同時發(fā)送給備用主控板。步驟408,備用主控板在本板備份主用主控板發(fā)送的鄰居LSR(包括有效的和無效的)。本步驟中,主用主控板并不一定將每個獲取的鄰居LSR都同步至本板的LSDB、并同時發(fā)送給備用主控板,而是可以僅將比本板LSDB中新的鄰居LSR和/或本板LSDB中沒有的鄰居LSR更新至本板LSDB中、并同時發(fā)送給備用主控板。另需要說明的是,由于鄰居可以為多個、且同一鄰居也可能會不止一次地發(fā)送LSU 報文,因此,步驟407和步驟408可以是多次、且實時執(zhí)行的步驟。步驟409,對主用主控板進行板在位實時檢查的監(jiān)控模塊檢測到主用主控板已不在位。步驟410,監(jiān)控模塊向備用主控板發(fā)送晉升通知。步驟411,備用主控板獲知本板需要晉升為主用主控板后,觸發(fā)FSPF協(xié)議在本板的運行。本步驟中,運行FSPF協(xié)議主要包括使能本機可用端口(可通過配置管理信息中的端口配置信息獲知)、以使FSPF協(xié)議能夠識別本機的可用端口,以及,為本機的可用端口創(chuàng)建FSPF協(xié)議的數(shù)據(jù)結(jié)構(gòu)等。步驟412,備用主控板依據(jù)本板備份的鄰居LSR的保留字段的值是為初始值0、還是預(yù)設(shè)值1來驗證鄰居LSR是否有效。步驟413,備用主控板依據(jù)本板備份的有效的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系。具體實現(xiàn)時,備用主控板可以遍歷本板備份的所有鄰居LSR,并對遍歷的每一鄰居 LSR進行驗證,只有有效的鄰居LSR才會建立對應(yīng)的鄰接關(guān)系,即,鄰居狀態(tài)機處于Full狀態(tài)時的Adjacency關(guān)系。也就是說,上述步驟412 步驟413可以是隨著遍歷過程而反復(fù)循環(huán)執(zhí)行的步驟。步驟414,備用主控板依據(jù)本機可用端口(可通過配置管理信息中的端口配置信息獲知)以及本板已建立鄰接關(guān)系的鄰居生成本機LSR。步驟415,備用主控板開始向本板已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的HLO報文。本步驟所述的開始向已建立鄰接關(guān)系的鄰居發(fā)送,是指開始周期性地發(fā)送,以便于維護與鄰居之間的鄰接關(guān)系。步驟416,備用主控板依據(jù)本板備份的鄰居LSR以及本板生成的本機LSR計算路步驟417,備用主控板已經(jīng)具備主用主控板應(yīng)有的業(yè)務(wù)處理能力,使本機可以正常運行。至此,本流程結(jié)束。圖5為本發(fā)明實施例中用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置的示例性結(jié)構(gòu)圖。該裝置位于支持FSPF協(xié)議,且包括主用主控板、接口板以及備用主控板的FC交換機中,且,該裝置設(shè)置于前述FC交換機的備用主控板并包括如圖5所示的如下結(jié)構(gòu)配置備份模塊,用于在本板備份主用主控板所發(fā)送的本機的配置管理信息,該配置管理信息至少包括本機的域ID、以及包含有本機的可用端口的端口配置信息;對于配置管理信息中可以被本領(lǐng)域技術(shù)人員所知曉的其他內(nèi)容,本文不再贅述。需要說明的是,如果備用主控板能夠自行得到本機的配置管理信息,例如用戶能夠直接在備用主控板上配置本機的配置管理信息、或備用主控板可以從本機內(nèi)的任意存儲部件中自動讀取本機的配置管理信息,則可以不設(shè)置配置備份模塊。LSR備份模塊,用于接收主控板發(fā)送的LSR、并在本板備份主用主控板發(fā)送的鄰居 LSR。晉升控制模塊,用于在獲知本板需要晉升為主用主控板后,觸發(fā)本板晉升為主用主控板。在實際應(yīng)用中,晉升控制模塊可以與本機內(nèi)部設(shè)置的一監(jiān)控模塊相連,并依據(jù)本機內(nèi)部設(shè)置的監(jiān)控模塊發(fā)送的通知來獲知本板需要晉升為主用主控板,該監(jiān)控模塊主要用于實時檢測主用主控板是否在位,其可以是承載于備用主控板上的軟件模塊,也可以是設(shè)置于備用主控板、或獨立于備用主控板的硬件結(jié)構(gòu)。此外,由于裝置內(nèi)在本板晉升為主用主控板之后才開始工作的部分模塊,需要依據(jù)本板運行的FSPF協(xié)議,因此,晉升控制模塊可以進一步觸發(fā)FSPF協(xié)議在本板的運行。當然,如果備用主控板上電后能夠自動觸發(fā)FSPF協(xié)議在本板的運行,則無需晉升控制模塊再執(zhí)行此操作。其中,運行FSPF協(xié)議主要包括使能本機可用端口(可通過配置管理信息中的端口配置信息獲知)、以使FSPF協(xié)議能夠識別本機的可用端口,以及,為本機的可用端口創(chuàng)建 FSPF協(xié)議的數(shù)據(jù)結(jié)構(gòu)等。鄰居恢復(fù)模塊,用于在晉升控制模塊觸發(fā)FSPF協(xié)議在本板的運行后,依據(jù)LSR備份模塊在本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系。鄰居恢復(fù)模塊可以遍歷本板備份的所有鄰居LSR、并依次建立與對應(yīng)的鄰居之間的鄰接關(guān)系。其中,鄰接關(guān)系就是指鄰居狀態(tài)機處于Full狀態(tài)時的Adjacency關(guān)系,即,備用主控板仍會為每一鄰居創(chuàng)建對應(yīng)的鄰居狀態(tài)機,且所創(chuàng)建的鄰居狀態(tài)機在創(chuàng)建完成時就處于Full狀態(tài)、而不是其他狀態(tài),因此稱本模塊為“鄰居恢復(fù)”模塊。當然,建立鄰接關(guān)系還包括創(chuàng)建FSPF協(xié)議的數(shù)據(jù)結(jié)構(gòu)等現(xiàn)有的處理過程。
LSR生成模塊,用于依據(jù)本機可用端口(可通過配置備份模塊在本板備份的配置管理信息中的端口配置信息獲知)、以及鄰居恢復(fù)模塊為本板已建立鄰接關(guān)系的鄰居生成本機LSR。鄰居維護模塊,用于在LSR生成模塊生成本板LSR后,向鄰居恢復(fù)模塊為本板已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文,例如HLO報文。其中,鄰居維護模塊是周期性地發(fā)送用于維護鄰接關(guān)系的報文,以便于維護與鄰居之間的鄰接關(guān)系。路由計算模塊,用于依據(jù)LSR備份模塊在本板備份的鄰居LSR以及LSR生成模塊生成為本板生成的本機LSR計算路由。此外,在實際應(yīng)用中,有可能出現(xiàn)鄰居誤發(fā)LSR的情況,即,可能存在鄰居LSR的有效性問題。因此,如圖5所示的裝置可以進一步包括有效判別模塊(圖5中以虛銜框示出), 用于從主用主控板發(fā)送的鄰居LSR識別出有效鄰居LSR、以使鄰居恢復(fù)模塊和路由計算模塊所依據(jù)的鄰居LSR僅限于有效的鄰居LSR。較佳地,由主用主控板在獲取到每一鄰居LSR之后驗證其是否有效,但仍將有效和無效的鄰居LSR均發(fā)送至備用主控板備份、且標識出無效的鄰居LSR。這樣,有效判別模塊可根據(jù)主用主控板對鄰居LRS所做的標識區(qū)分出有效的鄰居LSR。例如,有效鄰居LSR的LSR頭中的保留字段為初始值0、無效鄰居LSR的LSR頭中的保留字段為區(qū)別于所述初始值ο的預(yù)設(shè)值1 ;則,有效判別模塊依據(jù)所述LSR的LSR頭的保留字段的值來區(qū)分出有效的鄰居LSR。再例如,有效鄰居LSR的鏈路描述中的保留字段為初始值0、無效鄰居LSR的鏈路描述中的保留字段為區(qū)別于所述初始值O的預(yù)設(shè)值1 ;則,有效判別模塊先判斷鄰居LSR的鏈路描述中的鏈路標識是否為本機的域ID,如果不是本機的域ID則直接認定該鄰居LSR無效,如果是本機的域ID則再判斷所述鏈路描述中的保留字段的值,該保留字段為初始值0 時即認定該鄰居LSR有效、該保留字段為預(yù)設(shè)值1時即認定該鄰居LSR無效。當然,只要確保鄰居恢復(fù)模塊和路由計算模塊能夠識別出非法的鄰居LSR,可以通過采用任意標識和識別方式,本文不再一一贅述。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法,其特征在于,其應(yīng)用于支持光纖最短路徑優(yōu)先FSPF協(xié)議的,且包括主用主控板、接口板以及備用主控板的FC交換機中,該方法由備用主控板執(zhí)行如下步驟al、接收主用主控板發(fā)送的鄰居LSR ; a2、觸發(fā)本板晉升為主用主控板;a3、依據(jù)本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系; a4、依據(jù)本機可用端口以及已建立鄰接關(guān)系的鄰居生成本機LSR ; a5、開始向已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文; a6、依據(jù)鄰居LSR以及本機LSR計算路由。
2.如權(quán)利要求1所述的方法,其特征在于,步驟al之后還包括a7、從主用主控板發(fā)送的鄰居LSR識別出有效鄰居LSR、以使步驟a3以及步驟a6中所述的鄰居LSR為有效鄰居LSR。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟a7根據(jù)主用主控板對鄰居LRS所做的標識區(qū)分出有效的鄰居LSR。
4.如權(quán)利要求3所述的方法,其特征在于,所述標識包括有效鄰居LSR的LSR頭中的保留字段為初始值、無效鄰居LSR的LSR頭中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值;或者,所述標識包括有效鄰居LSR的鏈路描述中的保留字段為初始值、無效鄰居LSR 的鏈路描述中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值。
5.如權(quán)利要求1至4中任一項所述的方法,其特征在于,步驟al之前還包括a0、在本板備份主用主控板發(fā)送的本機的配置管理信息,所述配置管理信息至少包括本機的域ID 以及包含有本機可用端口的端口配置信息。
6.如權(quán)利要求1至4中任一項所述的方法,其特征在于,步驟a5中用于維護鄰接關(guān)系的報文為HLO報文。
7.如權(quán)利要求1至4中任一項所述的方法,其特征在于,步驟a2還包括檢測主用主控板是否在位,如果檢測到主用主控板不在位,則觸發(fā)本板晉升為主用主控板。
8.一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的裝置,其特征在于,所述裝置位于支持光纖最短路徑優(yōu)先FSPF協(xié)議,且包括主用主控板、接口板以及備用主控板的FC交換機中,且所述裝置設(shè)置于所述FC交換機的備用主控板并包括LSR備份模塊,用于接收主用主控板發(fā)送的鄰居LSR ; 晉升控制模塊,用于觸發(fā)本板晉升為主用主控板;鄰居恢復(fù)模塊,用于在本板晉升為主用主控板后,依據(jù)本板備份的鄰居LSR建立與對應(yīng)的鄰居之間的鄰接關(guān)系;LSR生成模塊,用于依據(jù)本機可用端口以及已建立鄰接關(guān)系的鄰居生成本機LSR ; 鄰居維護模塊,用于開始向已建立鄰接關(guān)系的鄰居發(fā)送用于維護鄰接關(guān)系的報文; 路由計算模塊,用于依據(jù)鄰居LSR以及本機LSR計算路由。
9.如權(quán)利要求8所述的裝置,其特征在于,該裝置還包括有效判別模塊,用于從主用主控板發(fā)送的鄰居LSR識別出有效鄰居LSR、以使鄰居恢復(fù)模塊和路由計算模塊所依據(jù)的鄰居LSR為有效的鄰居LSR。
10.如權(quán)利要求9所述的裝置,其特征在于,所述有效判別模塊根據(jù)主用主控板對鄰居 LRS所做的標識區(qū)分出有效的鄰居LSR。
11.如權(quán)利要求10所述的裝置,其特征在于,所述標識包括有效鄰居LSR的LSR頭中的保留字段為初始值、無效鄰居LSR的LSR頭中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值;或者,所述標識包括有效鄰居LSR的鏈路描述中的保留字段為初始值、無效鄰居LSR 的鏈路描述中的保留字段為區(qū)別于所述初始值的預(yù)設(shè)值。
12.如權(quán)利要求8至11中任一項所述的裝置,其特征在于,該裝置進一步包括配置備份模塊,用于在本板備份主用主控板在發(fā)送鄰居LSR之前發(fā)送的本機的配置管理信息,所述配置管理信息至少包括本機的域ID以及包含有本機可用端口的端口配置信息。
13.如權(quán)利要求8至11中任一項所述的裝置,其特征在于,用于維護鄰接關(guān)系的報文為 HLO報文。
14.如權(quán)利要求8至11中任一項所述的裝置,其特征在于,晉升控制模塊進一步檢測主用主控板是否在位,如果檢測到主用主控板不在位,則觸發(fā)本板晉升為主用主控板。
全文摘要
本發(fā)明公開了一種用于主備倒換后持續(xù)轉(zhuǎn)發(fā)的方法和裝置。在本發(fā)明中,主用主控板在發(fā)生主備倒換之前能夠向備用主控板備份鄰居LSR,備用主控板在發(fā)生主備倒換之后能夠依據(jù)備份的鄰居LSR直接創(chuàng)建與各鄰居之間的鄰接關(guān)系、并在生成本機LSR之后就立即恢復(fù)向鄰居發(fā)送用于維護鄰接關(guān)系的報文,因而能夠避免鄰居發(fā)生狀態(tài)回退、并避免鄰居由于狀態(tài)回退而刪除本機LSR和相關(guān)路由,從而確保鄰居能夠持續(xù)通過發(fā)生主備倒換的FC交換機實現(xiàn)FPSF路由轉(zhuǎn)發(fā)。
文檔編號H04L12/24GK102223304SQ201110162828
公開日2011年10月19日 申請日期2011年6月16日 優(yōu)先權(quán)日2011年6月16日
發(fā)明者張長君 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜城市| 锡林浩特市| 前郭尔| 平阳县| 赤峰市| 都安| 安岳县| 万山特区| 荔浦县| 攀枝花市| 洛阳市| 西吉县| 阳高县| 衢州市| 博白县| 永康市| 印江| 泾源县| 枣强县| 延川县| 南江县| 六枝特区| 封开县| 梁河县| 岢岚县| 丹东市| 连城县| 白山市| 武夷山市| 玉林市| 柳州市| 湘阴县| 息烽县| 额尔古纳市| 仁寿县| 延津县| 广元市| 保康县| 武宁县| 商水县| 云和县|