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

一種切換方法及裝置與流程

文檔序號(hào):12278430閱讀:339來源:國(guó)知局
一種切換方法及裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種切換方法及裝置。



背景技術(shù):

BFD(Bidirectional Forwarding Detection,雙向轉(zhuǎn)發(fā)檢測(cè))是一個(gè)通用的、標(biāo)準(zhǔn)化的、介質(zhì)無關(guān)和協(xié)議無關(guān)的快速故障檢測(cè)機(jī)制,用于檢測(cè)IP網(wǎng)絡(luò)中鏈路的連通狀況,保證設(shè)備之間能夠快速檢測(cè)到通信故障,以便能夠及時(shí)采取措施,保證業(yè)務(wù)持續(xù)運(yùn)行。BFD可以為各種上層協(xié)議(如路由協(xié)議)快速檢測(cè)兩臺(tái)設(shè)備間雙向轉(zhuǎn)發(fā)路徑的故障。

以太網(wǎng)鏈路聚合簡(jiǎn)稱鏈路聚合,通過將多條以太網(wǎng)物理鏈路捆綁為一條聚合鏈路,從而實(shí)現(xiàn)增加鏈路帶寬的目的。將以太網(wǎng)接口捆綁即可實(shí)現(xiàn)物理鏈路的捆綁。以太網(wǎng)接口捆綁后形成聚合組,聚合組對(duì)應(yīng)于聚合鏈路的聚合接口,每個(gè)以太網(wǎng)接口都是聚合接口的成員端口。

目前,當(dāng)BFD應(yīng)用于聚合鏈路的場(chǎng)景時(shí),為了節(jié)省資源,通常由指定端口進(jìn)行BFD會(huì)話的傳輸?,F(xiàn)有技術(shù)中,當(dāng)該指定端口為電口并且出現(xiàn)故障時(shí),設(shè)備感知到端口故障,將重新選擇聚合接口中的其它成員端口接替故障端口,以傳輸BFD會(huì)話。但是,在設(shè)備感知并重新選擇端口的過程中,BFD會(huì)話可能出現(xiàn)超時(shí)的現(xiàn)象,即在設(shè)備處理過程中,BFD始終未收到BFD報(bào)文,則判斷當(dāng)前BFD會(huì)話DOWN。上層協(xié)議感知到BFD會(huì)話DOWN,則會(huì)選擇其它路由進(jìn)行路由作為下一跳路由。而當(dāng)設(shè)備重新選擇端口后,將重新建立BFD會(huì)話,上層協(xié)議感知到BFD會(huì)話重新建立后,將重新選擇該路由作為下一跳路由,此現(xiàn)象稱為路由震蕩。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種切換方法,以提高BFD的故障感知效率,從而避免無意義的震蕩現(xiàn)象的發(fā)生,進(jìn)而減輕系統(tǒng)負(fù)擔(dān)。

為了解決上述問題,本發(fā)明實(shí)施例公開了一種切換方法,該方法應(yīng)用于通過聚合鏈路相連的路由設(shè)備,包括:

若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;

以及,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。

相應(yīng)的,本發(fā)明實(shí)施例還提供了一種切換裝置,該裝置應(yīng)用于通過聚合鏈路相連的路由設(shè)備,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用,該裝置包括:

確定模塊,用于若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;

選擇模塊,用于在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。

這樣,本發(fā)明實(shí)施例中,通過若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;以及,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。從而能夠有效地提高BFD會(huì)話的故障感知效率,避免無意義的震蕩現(xiàn)象的發(fā)生,進(jìn)而提升了資源利用率以及用戶體驗(yàn)。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例的描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明的一種切換方法實(shí)施例的步驟流程圖;

圖2是本發(fā)明實(shí)施例的網(wǎng)絡(luò)架構(gòu)圖;

圖3是本發(fā)明一種切換裝置實(shí)施例的結(jié)構(gòu)框圖之一;

圖4是本發(fā)明一種切換裝置實(shí)施例的結(jié)構(gòu)框圖之二。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

BFD可以為各種上層協(xié)議(比如:路由協(xié)議等)快速檢測(cè)兩臺(tái)設(shè)備間雙向轉(zhuǎn)發(fā)路徑的故障。上層協(xié)議通常采用Hello報(bào)文機(jī)制檢測(cè)故障,所需時(shí)間為秒級(jí),而BFD可以提供毫秒級(jí)檢測(cè),從而能夠加快網(wǎng)絡(luò)收斂速度,減少應(yīng)用中斷時(shí)間,提高網(wǎng)絡(luò)的可靠性。

BFD本身沒有發(fā)現(xiàn)機(jī)制,而是依靠被服務(wù)的上層協(xié)議通知來建立會(huì)話。上層協(xié)議通過自己的Hello機(jī)制發(fā)現(xiàn)鄰居并建立連接,然后將鄰居信息(比如:目的地址和源地址等)通告給BFD,BFD根據(jù)收到的鄰居信息通過交互BFD控制報(bào)文來建立BFD會(huì)話。在BFD會(huì)話建立后,兩端設(shè)備周期性地發(fā)送BFD心跳報(bào)文給鄰居設(shè)備,如果在預(yù)設(shè)的檢測(cè)時(shí)間內(nèi)(不同廠商的設(shè)備設(shè)置有不同的檢測(cè)時(shí)間)沒有接收到鄰居發(fā)送的BFD心跳報(bào)文,則認(rèn)為是BFD會(huì)話所在的鏈路故障,進(jìn)而上報(bào)上層協(xié)議,以便上層協(xié)議及時(shí)終止和鄰居設(shè)備的鄰居關(guān)系。

在利用BFD檢測(cè)聚合鏈路兩端的發(fā)送設(shè)備與接收設(shè)備的狀態(tài)時(shí),考慮到節(jié)省資源占用率的原因,通常只選擇聚合鏈路中的其中一個(gè)端口作為BFD會(huì)話的傳輸端口。由于聚合鏈路的端口中可以存在光口、或者電口或者是光電混合端口,因此,在選擇作為BFD會(huì)話的傳輸端口時(shí),如果存在電口,則優(yōu)選電口作為傳輸端口。在實(shí)際應(yīng)用中,假設(shè)接收設(shè)備中的BFD傳輸端口故障,則該端口所在的芯片將會(huì)立即感應(yīng)到端口故障,并中斷上報(bào),相關(guān)寄存器接收到該中斷消息并根據(jù)該故障事件的優(yōu)先級(jí)置位。具體的,在一些實(shí)施例中,相關(guān)寄存器可以為中斷寄存器等。寄存器接收到中斷消息后,其可能正在處理優(yōu)先級(jí)較低的其它故障事件,當(dāng)寄存器接收到端口DOWN中斷消息時(shí),該中斷消息的優(yōu)先級(jí)為最高級(jí)。寄存器將立即處理該事件,將與該端口相關(guān)聯(lián)的標(biāo)識(shí)位置位(在一些實(shí)施例中,置位即置0)。主控模塊感知到寄存器置位,即確認(rèn)BFD傳輸端口異常,在一些實(shí)施例中,主控模塊可以為中央處理器。主控模塊通知接口管理模塊端口出現(xiàn)異常,接口管理模塊接收到該通知后,將轉(zhuǎn)達(dá)給聚合模塊,聚合模塊收到端口異常通知后,將從聚合鏈路的其它可用的成員端口中選擇一個(gè)端口接替故障端口,以繼續(xù)處理BFD會(huì)話。

但是,由前述可知,BFD的檢測(cè)時(shí)間為毫秒級(jí),在一些實(shí)施例中其檢測(cè)時(shí)間為50ms。現(xiàn)有技術(shù)中,在端口發(fā)生故障后,由于需要進(jìn)行上述所記載的多個(gè)步驟,從而將會(huì)導(dǎo)致聚合模塊選擇出新端口之前,BFD會(huì)話已經(jīng)超出檢測(cè)時(shí)間。即發(fā)送設(shè)備在50ms內(nèi)未收到BFD心跳報(bào)文,則BFD會(huì)話判定當(dāng)前鏈路故障,并拆除設(shè)備間的BFD會(huì)話。發(fā)送設(shè)備中的上層協(xié)議感知到BFD會(huì)話拆除,其會(huì)認(rèn)為聚合鏈路發(fā)生故障,并從其它設(shè)備中選擇新的設(shè)備作為下一跳設(shè)備,從而使路由震蕩到新的設(shè)備。當(dāng)接收設(shè)備中的聚合模塊選擇出新的端口并通過該新的端口與發(fā)送設(shè)備建立BFD會(huì)話后,發(fā)送設(shè)備將再次選擇接收設(shè)備為下一跳設(shè)備,使路由震蕩回該接收設(shè)備。顯然,整個(gè)過程中,路由無意義的震蕩了兩次,并且在震蕩過程中將占用大量的CPU資源,從而導(dǎo)致整個(gè)系統(tǒng)的資源利率用的降低,嚴(yán)重影響了用戶體驗(yàn)。

針對(duì)上述問題,本發(fā)明實(shí)施例的核心構(gòu)思之一在于,提出一種切換方法及裝置,以有效地提高BFD的故障感知效率,從而避免無意義的震蕩現(xiàn)象的發(fā)生,進(jìn)而減輕系統(tǒng)負(fù)擔(dān)。

參照?qǐng)D1,示出了本發(fā)明的一種切換方法實(shí)施例的步驟流程圖,該方法應(yīng)用于通過聚合鏈路相連的路由設(shè)備中,具體可以包括如下步驟:

步驟101,若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障。

具體的,在本發(fā)明的實(shí)施例中,設(shè)備的寄存器中具有兩個(gè)或兩個(gè)以上針腳,每個(gè)針腳與每個(gè)物理端口一一對(duì)應(yīng),并且,每個(gè)針腳對(duì)應(yīng)有相應(yīng)的標(biāo)識(shí)位。即,寄存器中存在的兩個(gè)或兩個(gè)以上標(biāo)識(shí)位與聚合鏈路中的端口一一對(duì)應(yīng),以使各標(biāo)識(shí)位監(jiān)測(cè)對(duì)應(yīng)端口(物理端口)的端口狀態(tài)。進(jìn)一步的,通過監(jiān)控端口的端口狀態(tài)能夠?qū)崿F(xiàn)對(duì)該端口對(duì)應(yīng)的鏈路進(jìn)行監(jiān)控。在本發(fā)明的實(shí)施例中,寄存器可以設(shè)置于設(shè)備的任意位置。在一些實(shí)施例中,寄存器可以設(shè)置于中央處理器中。本發(fā)明對(duì)此不做限定。

具體的,如果路由設(shè)備中的芯片檢測(cè)到用于傳輸BFD會(huì)話的第一端口發(fā)生故障,芯片將中斷消息上報(bào)至寄存器。寄存器獲取該中斷消息,同時(shí)判斷該中斷消息的優(yōu)先級(jí),在本發(fā)明的實(shí)施例中,由于設(shè)備資源的限定,寄存器在收到中斷消息后會(huì)先處理優(yōu)先級(jí)最高的中斷消息,各中斷事件的優(yōu)先級(jí)可由操作人員預(yù)先設(shè)定,其中,以接口DOWN事件的優(yōu)先級(jí)為最高級(jí)。即,當(dāng)寄存器接收到與接口DOWN事件對(duì)應(yīng)的中斷消息時(shí),將先處理該中斷消息。

寄存器在判斷中斷消息的優(yōu)先級(jí)為最高級(jí)時(shí),將優(yōu)先處理該中斷事件。寄存器將與第一端口對(duì)應(yīng)的第一標(biāo)識(shí)位對(duì)應(yīng)的狀態(tài)值更新為第一狀態(tài)值。在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,標(biāo)識(shí)位存在兩種狀態(tài)值,分別為第一狀態(tài)值和第二狀態(tài)值。其中,第一狀態(tài)值表示端口狀態(tài)異常,第二狀態(tài)值表示端口狀態(tài)正常。

BFD會(huì)話立刻感知第一標(biāo)識(shí)位置位(即更新為第一狀態(tài)值),則可確定第一端口發(fā)生故障。

步驟102,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。

在本發(fā)明的實(shí)施例中,在BFD會(huì)話確認(rèn)第一端口發(fā)生故障后,將立即從第一端口所屬的聚合鏈路中的其它可用端口中選擇用于繼續(xù)傳輸BFD會(huì)話的第二端口。具體的,BFD會(huì)話查詢與聚合鏈路端口對(duì)應(yīng)的標(biāo)識(shí)位的當(dāng)前狀態(tài)值,并從狀態(tài)值為第二狀態(tài)值(即標(biāo)識(shí)對(duì)應(yīng)端口可用)的標(biāo)識(shí)位中,選擇出第二標(biāo)識(shí)位,并將該標(biāo)識(shí)位對(duì)應(yīng)的端口作為傳輸BFD會(huì)話的端口。

綜上所述,本發(fā)明實(shí)施例提供的技術(shù)方案,通過若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;以及,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài),從而使BFD會(huì)話能夠通過監(jiān)測(cè)與BFD傳輸端口對(duì)應(yīng)的標(biāo)識(shí)位的狀態(tài)值,直接獲取到端口的狀態(tài),繼而在BFD會(huì)話的檢測(cè)時(shí)間(該檢測(cè)時(shí)間在上文中提及,此處不贅述)內(nèi)將BFD會(huì)話切換到可用端口,避免了震蕩現(xiàn)象的發(fā)生,有效地減輕了系統(tǒng)負(fù)擔(dān),提高了資源利用率以及用戶體驗(yàn)。

在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,在步驟101還具體包括:建立第一標(biāo)識(shí)位與第一端口以及BFD會(huì)話之間的第一關(guān)聯(lián)關(guān)系,從而使BFD會(huì)話能夠通過檢測(cè)第一標(biāo)識(shí)位的狀態(tài)值而獲取到第一端口的當(dāng)前端口狀態(tài)。其中,若檢測(cè)到第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則可以確定第一端口發(fā)生故障,并解除第一關(guān)聯(lián)關(guān)系。相應(yīng)的,步驟102還可以具體包括:建立BFD會(huì)話與第二標(biāo)識(shí)位以及第二端口之間的第二關(guān)聯(lián)關(guān)系,從而使BFD會(huì)話能夠通過監(jiān)測(cè)第二標(biāo)識(shí)位的狀態(tài)值而獲取到第二端口的當(dāng)前端口狀態(tài)。

在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,方法還可以進(jìn)一步包括:基于第一關(guān)聯(lián)關(guān)系(即BFD會(huì)話與第一標(biāo)識(shí)位以及第一端口之間的關(guān)聯(lián)關(guān)系),以及寄存器中用于監(jiān)測(cè)成員端口的標(biāo)識(shí)位的狀態(tài)值,建立BFD狀態(tài)表,其中,BFD狀態(tài)表中記錄有第一關(guān)聯(lián)關(guān)系、以及成員端口的端口狀態(tài)。其中,端口狀態(tài)包括選中狀態(tài)及非選中狀態(tài)。

在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,在步驟102還具體包括:刪除BFD狀態(tài)表中記錄的第一關(guān)聯(lián)關(guān)系,并將端口的端口狀態(tài)更新為非選中狀態(tài)。

在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,步驟102還可以具體包括:按照預(yù)定規(guī)則,在端口狀態(tài)為選中狀態(tài)對(duì)應(yīng)的端口中選擇第二端口。其中,按照以下預(yù)設(shè)規(guī)則選擇第二端口:根據(jù)BFD狀態(tài)表中的端口的排列順序,選擇第二端口;或者,根據(jù)聚合鏈路中的端口的負(fù)載狀態(tài),選擇第二端口。

為了更好的理解本發(fā)明的切換方法,下面以具體實(shí)施例進(jìn)行詳細(xì)闡述。

參照?qǐng)D2,示出了本發(fā)明實(shí)施例的切換方法的網(wǎng)絡(luò)架構(gòu)圖。在圖2中:

路由A(即為本發(fā)明實(shí)施例中的發(fā)送設(shè)備)與路由B(即為本發(fā)明實(shí)施例中的接收設(shè)備)通過聚合鏈路進(jìn)行通信連接。其中,該聚合鏈路將路由A與路由B之間的三條物理鏈路分別為link1、link2、link3綁定為一條聚合鏈路。在本實(shí)施例中,該三條物理鏈路在路由A中所對(duì)應(yīng)的端口分別為端口1-3,以及在路由B中所對(duì)應(yīng)的端口分別為端口4-6。并且,當(dāng)前用于承載BFD會(huì)話,傳輸BFD報(bào)文的鏈路為link1,即路由A通過端口1向路由B發(fā)送BFD報(bào)文,路由B通過端口4向路由A發(fā)送BFD報(bào)文。需要說明的是,由于光信號(hào)技術(shù)所采用的機(jī)制與電信號(hào)不同,在端口發(fā)生中斷事件時(shí),不會(huì)發(fā)生震蕩現(xiàn)象,因此,本發(fā)明的實(shí)施例應(yīng)用于聚合鏈路中的成員端口均為電口的場(chǎng)景下。

在本發(fā)明的實(shí)施例中,在業(yè)務(wù)開始之前,操作人員在路由A的寄存器中所具有的多個(gè)標(biāo)識(shí)位中選擇出指定的三個(gè)標(biāo)識(shí)位:標(biāo)識(shí)位1、標(biāo)識(shí)位2、標(biāo)識(shí)位3,該三個(gè)標(biāo)識(shí)位分別與端口1-3進(jìn)行綁定,以標(biāo)識(shí)端口1-3對(duì)應(yīng)的狀態(tài)。由于預(yù)置傳輸BFD會(huì)話的端口為端口1,因此,當(dāng)BFD會(huì)話建立成功后,則BFD模塊將BFD會(huì)話與端口1所對(duì)應(yīng)的標(biāo)識(shí)位,即標(biāo)識(shí)位1建立關(guān)聯(lián)關(guān)系。在本發(fā)明的實(shí)施例中,標(biāo)識(shí)位1-3的狀態(tài)值均為1,即表示各端口狀態(tài)均正常。優(yōu)選的,在一些實(shí)施例中,寄存器可以為中斷寄存器等。

BFD模塊基于BFD會(huì)話與標(biāo)識(shí)位1之間的關(guān)聯(lián)關(guān)系,建立BFD狀態(tài)表。其中,BFD狀態(tài)表中包括但不限于:BFD會(huì)話與標(biāo)識(shí)位1之間的關(guān)聯(lián)關(guān)系以及聚合鏈路中所有成員端口,即端口1-3的端口狀態(tài)。在本發(fā)明的實(shí)施例中,端口狀態(tài)包括選中狀態(tài)與非選中狀態(tài),其中,在本發(fā)明的實(shí)施例中,選中狀態(tài)即標(biāo)識(shí)端口狀態(tài)正常,非選中狀態(tài)則標(biāo)識(shí)端口狀態(tài)異常。

在本發(fā)明的實(shí)施例中,路由B中的設(shè)置與路由A中的設(shè)置類似,此處不再贅述。在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,也可以僅在路由A,即聚合鏈路中的發(fā)送端進(jìn)行上述設(shè)置,而無需在路由B中進(jìn)行設(shè)置。

繼續(xù)參照?qǐng)D2,在本發(fā)明的實(shí)施例中,如果Link1的傳輸線從端口1中被拔出,則路由A中的接口板芯片將立即感應(yīng)到該端口1的中斷事件,并將該中斷事件上報(bào)至寄存器。與此同時(shí),由于傳輸線從端口中拔出導(dǎo)致端口置DOWN,路由A將無法再發(fā)出BFD心跳報(bào)文,也無法接收到任何BFD心跳報(bào)文。在本發(fā)明的實(shí)施例中,不同廠商所生產(chǎn)的設(shè)備,其用于感應(yīng)接口中斷事件的裝置還可以主板芯片上的其它裝置,本發(fā)明對(duì)此不做限定。此外,在本發(fā)明的實(shí)施例中,僅以傳輸線拔出端口的中斷事件作為具體實(shí)施例進(jìn)行闡述,在其它實(shí)施例中,也可以是其它導(dǎo)致端口置DOWN的中斷事件,本發(fā)明對(duì)此不做限定。

寄存器接收到該中斷事件,同時(shí)判斷該中斷事件的優(yōu)先級(jí)對(duì)應(yīng)于預(yù)設(shè)優(yōu)先級(jí)的最高級(jí)。在本發(fā)明的實(shí)施例中,寄存器在接收到中斷消息時(shí),其可能正在處理優(yōu)先級(jí)較低的其它故障事件,當(dāng)寄存器接收到端口DOWN中斷消息時(shí),該中斷消息的優(yōu)先級(jí)為最高級(jí),則寄存器將暫停其它正在處理的較該中斷事件優(yōu)先級(jí)低的事件,而優(yōu)先處理該中斷事件。

在本發(fā)明的實(shí)施例中,寄存器查找與該發(fā)生中斷事件的端口所對(duì)應(yīng)的標(biāo)識(shí)位,即為標(biāo)識(shí)位1,并將該標(biāo)識(shí)位1的狀態(tài)值進(jìn)行更新。在本發(fā)明的實(shí)施例中,寄存器將標(biāo)識(shí)位1的狀態(tài)值由1置為0。

仍參照?qǐng)D2,路由A中的BFD模塊根據(jù)BFD狀態(tài)表中所記錄的BFD會(huì)話與標(biāo)識(shí)位1的關(guān)聯(lián)關(guān)系,實(shí)時(shí)監(jiān)測(cè)標(biāo)識(shí)位1的狀態(tài)值。當(dāng)標(biāo)識(shí)位1的狀態(tài)值置0后,BFD模塊將立即感應(yīng)到該狀態(tài)值的變化,從而確定端口1的狀態(tài)異常。BFD模塊將解除BFD會(huì)話與標(biāo)識(shí)位1之間的關(guān)聯(lián)關(guān)系,并刪除BFD狀態(tài)表中所記錄的BFD會(huì)話與標(biāo)識(shí)位1之間的關(guān)聯(lián)關(guān)系,同時(shí)將端口1所對(duì)應(yīng)的狀態(tài)更新為非選中狀態(tài)。

在本發(fā)明的實(shí)施例中,BFD模塊將按照預(yù)定規(guī)則,在BFD記錄表中記錄的端口狀態(tài)為選中狀態(tài)的端口中選擇其中一個(gè)作為目標(biāo)端口,以接替端口1繼續(xù)傳輸BFD會(huì)話。在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,預(yù)設(shè)規(guī)則包括但不限于根據(jù)端口在BFD狀態(tài)表中的排列順序選擇目標(biāo)端口,還可以根據(jù)端口的傳輸速度等因素選擇目標(biāo)端口。操作人員可根據(jù)實(shí)際需求預(yù)先設(shè)置該預(yù)定規(guī)則,以使BFD模塊根據(jù)該預(yù)定規(guī)則選擇合適的目標(biāo)端口。

繼續(xù)參照?qǐng)D2,在本實(shí)施例中,BFD模塊選擇端口2作為目標(biāo)端口,則BFD會(huì)話將與寄存器中與端口2綁定的標(biāo)識(shí)位2建立關(guān)聯(lián)關(guān)系,并將該關(guān)聯(lián)關(guān)系記錄到BFD狀態(tài)表中。

BFD會(huì)話將通過該端口2繼續(xù)發(fā)送BFD心跳報(bào)文至路由B,從而完成了聚合鏈路端口間的切換。

可見,本發(fā)明實(shí)施例中的技術(shù)方案通過若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;以及,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài),從而使BFD會(huì)話能夠通過實(shí)時(shí)監(jiān)測(cè)與傳輸BFD會(huì)話的端口對(duì)應(yīng)的標(biāo)識(shí)位的狀態(tài)值,直接獲取到該端口的狀態(tài),進(jìn)而在BFD會(huì)話的檢測(cè)時(shí)間(該檢測(cè)時(shí)間在上文中提及,此處不贅述)內(nèi)將BFD會(huì)話切換到可用端口,避免了震蕩現(xiàn)象的發(fā)生,有效地減輕了系統(tǒng)負(fù)擔(dān),提高了資源利用率以及用戶體驗(yàn)。

基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種切換裝置,應(yīng)用于通過聚合鏈路相連的路由設(shè)備中。該切換裝置可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在的路由設(shè)備的處理器,讀取非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令形成的。從硬件層面而言,除了處理器、非易失性存儲(chǔ)器外,路由設(shè)備還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來講,該路由設(shè)備還可能是分布式設(shè)備,可能包括多個(gè)接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展

參照?qǐng)D3,示出了本發(fā)明一種切換裝置300實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:

確定模塊301,用于若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障。

選擇模塊302,用于在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。

參照?qǐng)D4,在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,在圖3的基礎(chǔ)上,裝置300可以進(jìn)一步包括:

第一建立模塊303,用于建立第一標(biāo)識(shí)位與第一端口以及BFD會(huì)話之間的第一關(guān)聯(lián)關(guān)系。

解除模塊304,用于若檢測(cè)到第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障,并解除第一關(guān)聯(lián)關(guān)系。

第二建立模塊305,用于在解除模塊解除第一關(guān)聯(lián)關(guān)系后,建立BFD會(huì)話與第二標(biāo)識(shí)位以及第二端口之間的第二關(guān)聯(lián)關(guān)系。

第三建立模塊306,用于基于第一關(guān)聯(lián)關(guān)系,以及寄存器中用于監(jiān)測(cè)成員端口的標(biāo)識(shí)位的狀態(tài)值,建立BFD狀態(tài)表,其中,BFD狀態(tài)表中記錄有第一關(guān)聯(lián)關(guān)系、以及成員端口的端口狀態(tài);其中,端口狀態(tài)包括選中狀態(tài)及非選中狀態(tài)。

刪除模塊307,用于刪除BFD狀態(tài)表中記錄的第一關(guān)聯(lián)關(guān)系,并將第一端口的端口狀態(tài)更新為非選中狀態(tài)。

在本發(fā)明的一個(gè)優(yōu)選的實(shí)施例中,選擇模塊302可以進(jìn)一步用于按照預(yù)定規(guī)則,在端口狀態(tài)為選中狀態(tài)對(duì)應(yīng)的端口中選擇第二端口。其中,選擇模塊302按照以下預(yù)設(shè)規(guī)則選擇第二端口:

根據(jù)BFD狀態(tài)表中的端口的排列順序,選擇第二端口;或者,根據(jù)聚合鏈路中的端口的負(fù)載狀態(tài),選擇第二端口。

綜上所述,本發(fā)明實(shí)施例提供的BFD實(shí)現(xiàn)裝置,通過若檢測(cè)到寄存器中用于監(jiān)測(cè)傳輸雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的第一端口狀態(tài)的第一標(biāo)識(shí)位的狀態(tài)值更新為第一狀態(tài)值,則確定第一端口發(fā)生故障;以及,在標(biāo)識(shí)位的狀態(tài)值為第二狀態(tài)值所對(duì)應(yīng)的聚合鏈路的成員端口中選擇第二端口,以通過第二端口傳輸BFD會(huì)話,其中,第二狀態(tài)值用于標(biāo)識(shí)第二端口為正常狀態(tài)。從而能夠有效地提高BFD會(huì)話的故障感知效率,避免無意義的震蕩現(xiàn)象的發(fā)生,進(jìn)而提升了資源利用率以及用戶體驗(yàn)。

對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端裝置(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端裝置的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端裝置的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端裝置以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端裝置上,使得在計(jì)算機(jī)或其他可編程終端裝置上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端裝置所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端裝置中還存在另外的相同要素。

以上對(duì)本發(fā)明所提供的一種切換方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿拉尔市| 平谷区| 平乐县| 郸城县| 霸州市| 阆中市| 扬州市| 乐陵市| 闵行区| 茶陵县| 泽州县| 理塘县| 洱源县| 永善县| 什邡市| 江阴市| 丰宁| 含山县| 夹江县| 荃湾区| 临高县| 鄯善县| 阜平县| 河东区| 吐鲁番市| 鄱阳县| 依安县| 兴安盟| 湖南省| 太仆寺旗| 华容县| 珠海市| 溆浦县| 无棣县| 克山县| 望都县| 漳平市| 门头沟区| 游戏| 五峰| 榆林市|