本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種bfd會話建立方法及裝置。
背景技術(shù):
為了保證網(wǎng)絡(luò)通信的可靠性,通常需要在兩臺諸如路由器等轉(zhuǎn)發(fā)設(shè)備之間建立主、備用路徑并進(jìn)行檢測,當(dāng)檢測到主路徑故障時(shí),立即切換到備用路徑上,以快速恢復(fù)網(wǎng)絡(luò)通信。
在現(xiàn)有的多協(xié)議標(biāo)簽交換(multiprotocollabelswitching,mpls)網(wǎng)絡(luò)中,當(dāng)需要在源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間同一條轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)不同種類轉(zhuǎn)發(fā)等價(jià)類(forwardingequivalenceclass,fec)時(shí),轉(zhuǎn)發(fā)設(shè)備需要為不同種類的fec分別配置雙向轉(zhuǎn)發(fā)檢測(bidirectionalforwardingdetection,bfd)會話,重復(fù)檢測同一條標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常,導(dǎo)致轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率較低,從而降低了在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
并且,當(dāng)轉(zhuǎn)發(fā)設(shè)備轉(zhuǎn)發(fā)的fec種類的數(shù)量超過轉(zhuǎn)發(fā)設(shè)備所能支持的bfd會話的數(shù)量時(shí),轉(zhuǎn)發(fā)設(shè)備沒有足夠的bfd會話資源為新增的fec提供標(biāo)簽轉(zhuǎn)發(fā)路徑檢測服務(wù),也降低了檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而降低了在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
技術(shù)實(shí)現(xiàn)要素:
本申請用于提高標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
為達(dá)到上述目的,本申請采用如下技術(shù)方案:
第一方面,本申請?zhí)峁┝艘环Nbfd會話建立方法,該方法包括:
為一條指定轉(zhuǎn)發(fā)等價(jià)類fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置,利用bfd會話配置形成一個(gè)bfd會話;
若在所述標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec要配置bfd,則建立所述bfd會話與其他fec中每條fec的關(guān)聯(lián)關(guān)系;
利用bfd會話,檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
第二方面,本申請?zhí)峁┝艘环Nbfd會話建立裝置,該裝置包括:
配置單元,用于為一條指定轉(zhuǎn)發(fā)等價(jià)類fec的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置;
bfd會話單元,用于利用bfd會話配置形成一個(gè)bfd會話;
建立單元,用于若在所述標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec要配置bfd,則建立所述bfd會話與其他fec中每條fec的關(guān)聯(lián)關(guān)系;
bfd會話單元,還用于利用bfd會話,檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
第三方面,本申請?zhí)峁┝艘环N計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序加載到計(jì)算機(jī)上被計(jì)算機(jī)執(zhí)行時(shí),使計(jì)算機(jī)執(zhí)行如第一方面所述的方法。
第四方面,本申請?zhí)峁┝艘环N轉(zhuǎn)發(fā)設(shè)備,包括處理器、存儲器和網(wǎng)絡(luò)接口,以及連接處理器、存儲器和網(wǎng)絡(luò)接口的總線,其中
存儲器,用于存儲計(jì)算機(jī)程序指令;
網(wǎng)絡(luò)接口,用于在該轉(zhuǎn)發(fā)設(shè)備與另一轉(zhuǎn)發(fā)設(shè)備之間轉(zhuǎn)發(fā)數(shù)據(jù);
處理器,用于執(zhí)行存儲器中存儲的計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如第一方面所述的方法。
本申請實(shí)施例提供的bfd會話建立方法及裝置,為一條指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑配置唯一的bfd會話,并分別建立bfd會話與要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的每種fec之間的關(guān)聯(lián)關(guān)系。利用所述bfd會話檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。由此可見,在本申請實(shí)施例中,發(fā)起一次bfd會話,即可為指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有其他fec完成標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測任務(wù),避免了為同一條標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的每條fec分別配置并發(fā)起對應(yīng)的bfd會話,以檢測每條fec的標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常的情況,減少了諸如路由器等轉(zhuǎn)發(fā)設(shè)備需要轉(zhuǎn)發(fā)的bfd報(bào)文數(shù)量,提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
并且,在本申請實(shí)施例中,同一標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有其他fec,能夠復(fù)用同一個(gè)bfd會話完成標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,可以節(jié)省轉(zhuǎn)發(fā)設(shè)備的bfd會話資源,使得轉(zhuǎn)發(fā)設(shè)備能夠?qū)⒂邢薜腷fd會話用于更多的標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,進(jìn)一步提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請實(shí)施例提供的一種bfd會話建立方法流程圖;
圖2為本申請實(shí)施例提供的另一種bfd會話建立方法流程圖;
圖3為本申請實(shí)施例提供的另一種bfd會話建立方法流程圖;
圖4為本申請實(shí)施例提供的另一種bfd會話建立方法流程圖;
圖5為本申請實(shí)施例提供的另一種bfd會話建立方法流程圖;
圖6為本申請實(shí)施例提供的一種bfd會話建立裝置的結(jié)構(gòu)示意圖;
圖7為本申請實(shí)施例提供的另一種bfd會話建立裝置的結(jié)構(gòu)示意圖;
圖8為本申請實(shí)施例提供的另一種bfd會話建立裝置的結(jié)構(gòu)示意圖;
圖9為本申請實(shí)施例提供的一種轉(zhuǎn)發(fā)設(shè)備的結(jié)構(gòu)示意圖;
圖10為本申請實(shí)施例提供的一種mpls網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
本申請實(shí)施例提供一種bfd會話建立方法,如圖1所示,該方法具體包括:
步驟101、為一條指定轉(zhuǎn)發(fā)等價(jià)類fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置。
其中,bfd會話用于檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
標(biāo)簽轉(zhuǎn)發(fā)路徑可以是mpls網(wǎng)絡(luò)中的一條物理路徑。例如,如圖10所示,圖中的r1至r5均為mpls網(wǎng)絡(luò)中的路由器,路由器r1經(jīng)路由器r2至路由器r3的物理路徑(下文簡稱路徑1)為一條標(biāo)簽轉(zhuǎn)發(fā)路徑,而路由器r1經(jīng)路由器r4和路由器r5至路由器r3的物理路徑(下文簡稱路徑2)為另一條標(biāo)簽轉(zhuǎn)發(fā)路徑。
在本實(shí)施例中,配置bfd會話的fec,可以為需要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的現(xiàn)有用戶業(yè)務(wù)對應(yīng)的fec,也可以是源轉(zhuǎn)發(fā)設(shè)備的管理員配置的專用fec,該確定的fec可以稱為指定fec,為該指定fec配置bfd信息以形成bfd會話。
需要說明的是,本申請實(shí)施例中,在bfd會話創(chuàng)建之前,源轉(zhuǎn)發(fā)設(shè)備首先需要啟動路徑探測,獲取該指定fec對應(yīng)的源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間的轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄該fec的所有節(jié)點(diǎn)信息。之后,為該指定fec形成bfd會話,以便于該bfd會話用于檢測該指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。鑒于路徑探測為現(xiàn)有技術(shù),此處不再贅述。
在本申請實(shí)施例中,上述標(biāo)簽轉(zhuǎn)發(fā)路徑上諸如路由器、交換機(jī)等每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,可以記錄在該fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表中。
需要說明的是,標(biāo)簽轉(zhuǎn)發(fā)路徑可以是單向的,也可以是雙向的。例如,如圖10所示,在從路由器r1至r3的方向上,路徑1的路徑信息包括r1:接口1、r2:接口1的ip地址和r3:接口1的ip地址,而在從r3至r1方向上,路徑1的路徑信息包括r3:接口1、r2:接口2的ip地址和r1:接口1的ip地址。
步驟102、利用bfd會話配置形成一個(gè)bfd會話。
其中,利用bfd會話配置形成一個(gè)bfd會話是指,轉(zhuǎn)發(fā)設(shè)備利用步驟101中所獲取的該標(biāo)簽轉(zhuǎn)發(fā)路徑的路徑信息,生成對應(yīng)的bfd會話配置,并形成bfd會話。
步驟103、若在所述標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec要配置bfd,則建立所述bfd會話與其他fec中每條fec的關(guān)聯(lián)關(guān)系。
在本實(shí)施例中,在與所述bfd會話建立關(guān)聯(lián)關(guān)系的其他每條fec的判斷方法是:判斷其他fec的標(biāo)簽轉(zhuǎn)發(fā)路徑上各節(jié)點(diǎn)的節(jié)點(diǎn)信息是否與指定fec的轉(zhuǎn)發(fā)路徑節(jié)點(diǎn)信息完全相同。其中,每條fec的路徑節(jié)點(diǎn)信息可以記錄在標(biāo)簽轉(zhuǎn)發(fā)表中,例如,上述路徑1中所有節(jié)點(diǎn)的節(jié)點(diǎn)信息。
在本實(shí)施例中,建立bfd會話與其他fec中的每條fec之間的關(guān)聯(lián)關(guān)系可以包括:將bfd會話標(biāo)識與其他fec的標(biāo)識對應(yīng)記錄在bfd會話與其他fec對應(yīng)關(guān)系表中。
在本實(shí)施例的另一種實(shí)施方式中,建立bfd會話與其他fec中的每條fec之間的關(guān)聯(lián)關(guān)系可以包括:在為標(biāo)簽轉(zhuǎn)發(fā)路徑配置的bfd會話信息中,記錄其他fec中的每條fec的標(biāo)識等信息。
步驟104、利用bfd會話,檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
本領(lǐng)域已知,bfd會話用于檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。因此,可以利用所配置的bfd會話來檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
本申請實(shí)施例提供的bfd會話建立方法,能夠?yàn)橥粭l標(biāo)簽轉(zhuǎn)發(fā)路徑配置唯一的bfd會話,并分別建立bfd會話與要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec中的每條fec之間的關(guān)聯(lián)關(guān)系。利用所述bfd會話檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。。由此可見,在本申請實(shí)施例中,發(fā)起一次bfd會話,即可為同一條標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有其他fec完成標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測任務(wù),避免了為同一條標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec中的每條fec分別配置并發(fā)起bfd會話,以檢測其他fec中的每條fec的標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常的情況,減少了諸如路由器等轉(zhuǎn)發(fā)設(shè)備需要轉(zhuǎn)發(fā)的bfd報(bào)文數(shù)量,提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
并且,在本申請實(shí)施例中,同一標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有其他fec,能夠復(fù)用同一個(gè)bfd會話完成標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,可以節(jié)省轉(zhuǎn)發(fā)設(shè)備的bfd會話資源,使得轉(zhuǎn)發(fā)設(shè)備能夠?qū)⒂邢薜腷fd會話用于更多的標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,進(jìn)一步提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
為了及時(shí)回收記錄bfd會話與至少一種fec中的每種fec之間的關(guān)聯(lián)關(guān)系的存儲資源,以及減少利用bfd會話檢測標(biāo)簽轉(zhuǎn)發(fā)路徑時(shí)收發(fā)的bfd報(bào)文占用的處理資源,在如圖1所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖2所示的實(shí)現(xiàn)方式,在執(zhí)行步驟103、104,若其他fec每條fec與所述bfd會話建立關(guān)聯(lián)關(guān)系,且bfd會話檢測到標(biāo)簽轉(zhuǎn)發(fā)路徑正常之后,還可以執(zhí)行步驟201:
步驟201、若要刪除在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)其他fec中的部分或全部fec,則解除bfd會話與要刪除的fec的關(guān)聯(lián)關(guān)系。
在本實(shí)施例的一種實(shí)施方式中,解除bfd會話與要刪除的fec之間的關(guān)聯(lián)關(guān)系包括:在bfd會話與fec對應(yīng)關(guān)系表中,刪除要刪除的每條fec的標(biāo)識。
在本實(shí)施例的另一種實(shí)施方式中,解除bfd會話與要刪除的fec之間的關(guān)聯(lián)關(guān)系可以包括:在為標(biāo)簽轉(zhuǎn)發(fā)路徑配置的bfd會話信息中,刪除要刪除的fec的標(biāo)識。
需要說明的是,解除bfd會話與要刪除的fec之間的關(guān)聯(lián)關(guān)系,并不一定同時(shí)刪除了為標(biāo)簽轉(zhuǎn)發(fā)路徑配置的bfd會話,這是因?yàn)椋撼獎h除的fec之外,標(biāo)簽轉(zhuǎn)發(fā)路徑上還有其他需要轉(zhuǎn)發(fā)的fec。
在本申請實(shí)施例中,刪除不再需要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的fec與bfd會話之間的對應(yīng)關(guān)系,還可以節(jié)省存儲空間,以便用來存儲需要轉(zhuǎn)發(fā)的新fec與bfd會話的對應(yīng)關(guān)系,提高了在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
在如圖1或圖2所示的實(shí)現(xiàn)方式的基礎(chǔ)上,以圖1為例,還可以實(shí)現(xiàn)為如圖3所示的實(shí)現(xiàn)方式。如圖3所示,在執(zhí)行步驟101為一條指定轉(zhuǎn)發(fā)等價(jià)類fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置之后,且在執(zhí)行步驟102利用bfd會話配置形成一個(gè)bfd會話之前,還可以執(zhí)行步驟301:
步驟301、獲取指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄指定fec的所有節(jié)點(diǎn)信息。
其中,在bfd會話創(chuàng)建之前,源轉(zhuǎn)發(fā)設(shè)備首先需要啟動路徑探測,獲取該指定fec對應(yīng)的源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間的轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄該fec的所有節(jié)點(diǎn)信息。鑒于路徑探測為現(xiàn)有技術(shù),此處不再贅述。
以及,步驟103中的若要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)其他fec的判斷方法,具體包括步驟302和步驟303:
步驟302、獲取其他fec的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄其他fec中每條fec的所有節(jié)點(diǎn)信息。
其中,獲取其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,是指啟動路徑探測以獲取其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息。該路徑探測方法與步驟301中獲取該標(biāo)簽轉(zhuǎn)發(fā)路徑的路徑信息的方法相同,此處不再贅述。
步驟303、確定記錄的其他fec中每條fec的所有節(jié)點(diǎn)信息與記錄的指定fec的所有節(jié)點(diǎn)信息是否相同。
本實(shí)施例提供的bfd會話建立方法,若確定指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,與其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息相同,則不再為其他fec創(chuàng)建bfd會話,而是利用為指定fec創(chuàng)建的bfd會話為所有其他fec完成路徑檢測任務(wù),可以避免為其他fec中的每條fec分別創(chuàng)建獨(dú)立的bfd會話,節(jié)省了bfd會話資源,提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常的效率,從而提高了在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
在如圖1或圖2所示的實(shí)現(xiàn)方式的基礎(chǔ)上,以圖1為例,還可以實(shí)現(xiàn)為如圖4所示的實(shí)現(xiàn)方式。如圖4所示,標(biāo)簽轉(zhuǎn)發(fā)路徑包括主路徑和備用路徑。
在實(shí)際應(yīng)用中,主路徑可以是源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間最短的那條路徑,也可以是源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間最快的那條路徑。例如,如圖10所示,可以將路徑1作為源轉(zhuǎn)發(fā)設(shè)備r1與目的轉(zhuǎn)發(fā)設(shè)備r3之間的主路徑,同時(shí)將路徑2作為源轉(zhuǎn)發(fā)設(shè)備r1與目的轉(zhuǎn)發(fā)設(shè)備r3之間的備用路徑。為主路徑配置的bfd會話,用于檢測主路徑是否正常,為備用路徑配置的bfd會話,用于檢測備用路徑是否正常。主路徑和備用路徑擁有各自的指定fec。
如圖4所示,步驟101為一條指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置,具體可以實(shí)現(xiàn)為步驟401:
步驟401、為主路徑進(jìn)行bfd會話配置。
以及,步驟104利用bfd會話,檢測所述標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常,具體可以實(shí)現(xiàn)為步驟402~404:
步驟402、利用bfd會話,檢測主路徑是否正常。
步驟403、若bfd會話檢測到主路徑異常,則解除bfd會話與其他fec中的每條fec的關(guān)聯(lián)關(guān)系。
在本實(shí)施例的一種實(shí)施方式中,解除bfd會話與其他fec中的每條fec的關(guān)聯(lián)關(guān)系包括:在bfd會話與其他fec對應(yīng)關(guān)系表中,刪除其他fec中的每條fec標(biāo)識。
在本實(shí)施例的另一種實(shí)施方式中,解除bfd會話與其他fec中的每條fec的關(guān)聯(lián)關(guān)系可以包括:在bfd會話信息中,刪除其他fec中的每條fec的標(biāo)識。
步驟404、若bfd會話檢測到備用路徑正常,則將其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑從主路徑切換到備用路徑。
在實(shí)際應(yīng)用中,為了保證網(wǎng)絡(luò)通信的可靠性,對于關(guān)鍵轉(zhuǎn)發(fā)設(shè)備之間的標(biāo)簽轉(zhuǎn)發(fā)路徑,往往設(shè)置一條主路徑,以及至少一條備用路徑,并且同時(shí)為主路徑和備用路徑分別配置對應(yīng)的bfd會話;當(dāng)檢測到主路徑故障,且至少一條備用路徑正常時(shí),可以將原本在主路徑上轉(zhuǎn)發(fā)的fec切換到備用路徑上轉(zhuǎn)發(fā),以便快速恢復(fù)網(wǎng)絡(luò)通信。
在本實(shí)施例的一種實(shí)施方式中,可以將主路徑上轉(zhuǎn)發(fā)的全部fec,切換到檢測結(jié)果正常的一條備用路徑上轉(zhuǎn)發(fā)。
在本實(shí)施例的另一種實(shí)施方式中,也可以將主路徑上轉(zhuǎn)發(fā)的fec分為至少兩個(gè)集合,并將每個(gè)集合中的fec,分別切換到檢測結(jié)果正常的一條備用路徑上轉(zhuǎn)發(fā)。
在如圖4所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖5所示的實(shí)現(xiàn)方式,在執(zhí)行步驟404若備用路徑被檢測到正常,則將其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑從主路徑切換到備用路徑之后,還可以執(zhí)行步驟501:
步驟501、針對指定fec定期進(jìn)行主路徑可達(dá)性探測,若探測到主路徑恢復(fù)正常,則為對應(yīng)主路徑的指定fec重建bfd會話,并重建bfd會話與主路徑上其他fec中每條fec的關(guān)聯(lián)關(guān)系。
在本實(shí)施例的一種實(shí)施方式中,可以在執(zhí)行步驟404之后立即啟動路徑探測,周期性地探測主路徑是否恢復(fù)正常。當(dāng)檢測到主路徑恢復(fù)正常時(shí),立即執(zhí)行步驟501,將切換至備用路徑上轉(zhuǎn)發(fā)的其他fec快速回切至主路徑上轉(zhuǎn)發(fā),以便利用主路徑轉(zhuǎn)發(fā)效率較高的優(yōu)點(diǎn),提高轉(zhuǎn)發(fā)fec的效率。
在本實(shí)施例的另一種實(shí)施方式中,步驟501也可以在bfd會話檢測到備用路徑故障之后進(jìn)行,本申請實(shí)施例對此不作限定。
在本實(shí)施例的一種實(shí)施方式中,若主路徑因發(fā)生了不可自我恢復(fù)的故障等原因而長時(shí)間處于故障狀態(tài)時(shí),可以不再檢測主路徑是否正常,以減少為檢測主路徑是否正常收發(fā)的路徑探測報(bào)文的數(shù)量,節(jié)省了為檢測主路徑是否正常收發(fā)的路徑探測報(bào)文所占用的轉(zhuǎn)發(fā)設(shè)備的系統(tǒng)資源,以便轉(zhuǎn)發(fā)設(shè)備將更多的系統(tǒng)資源用于在備用路徑上轉(zhuǎn)發(fā)fec,提高了在備用路徑上轉(zhuǎn)發(fā)fec的效率。
其中,判斷主路徑是否發(fā)生了不可自我恢復(fù)的故障的方法包括:發(fā)送了路徑探測報(bào)文、但未能在一個(gè)較長的指定時(shí)限內(nèi)接收到目的轉(zhuǎn)發(fā)設(shè)備發(fā)送的響應(yīng)報(bào)文。例如,源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間的節(jié)點(diǎn)設(shè)備發(fā)生了掉電、死機(jī)等故障,或者源轉(zhuǎn)發(fā)設(shè)備和目的轉(zhuǎn)發(fā)設(shè)備之間的物理連線斷開。
在本實(shí)施例的另一種實(shí)施方式中,主路徑上發(fā)生了可以恢復(fù)的故障,例如,在主路徑上短時(shí)間內(nèi)出現(xiàn)的業(yè)務(wù)量超出了主路徑的處理能力而造成的網(wǎng)絡(luò)擁塞,由于主路徑并沒有出現(xiàn)諸如死機(jī)、掉電、斷線等物理故障,隨著業(yè)務(wù)量恢復(fù)正常,這類故障通??梢宰孕谢謴?fù)。
在實(shí)際應(yīng)用中,主路徑往往是路徑最短或速度最快的路徑,轉(zhuǎn)發(fā)效率較高,因此當(dāng)主路徑恢復(fù)正常時(shí),可以將切換到備用路徑上轉(zhuǎn)發(fā)的其他fec,回切到主路徑上轉(zhuǎn)發(fā),以提高轉(zhuǎn)發(fā)fec的效率。
如圖6所示,本申請實(shí)施例提供了一種bfd會話建立裝置60,用于實(shí)現(xiàn)如圖1所示的方法流程,其中,裝置60包括:
配置單元61,用于為一條指定轉(zhuǎn)發(fā)等價(jià)類fec的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行雙向轉(zhuǎn)發(fā)檢測bfd會話配置;
bfd會話單元62,用于利用bfd會話配置形成一個(gè)bfd會話;
建立單元63,用于若要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)其他fec,則建立bfd與其他fec中每條fec之間的關(guān)聯(lián)關(guān)系;
bfd會話單元62,還用于利用bfd會話,檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。
本申請實(shí)施例提供的bfd會話建立裝置60,為一條指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑配置唯一的bfd會話,并分別建立bfd會話與要在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的其他fec中的每條fec之間的關(guān)聯(lián)關(guān)系。利用所述bfd會話檢測標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常。由此可見,在本申請實(shí)施例中,發(fā)起一次bfd會話,即可為在該指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有其他fec完成路徑檢測任務(wù),避免了為同一條標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的每條fec分別配置并發(fā)起對應(yīng)的bfd會話,以檢測每條fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑是否正常的情況,減少了諸如路由器等轉(zhuǎn)發(fā)設(shè)備需要轉(zhuǎn)發(fā)的bfd報(bào)文數(shù)量,提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
并且,在本申請實(shí)施例中,同一標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)的所有fec,能夠復(fù)用同一個(gè)bfd會話完成標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,可以節(jié)省轉(zhuǎn)發(fā)設(shè)備的bfd會話資源,使得轉(zhuǎn)發(fā)設(shè)備能夠?qū)⒂邢薜腷fd會話用于更多的標(biāo)簽轉(zhuǎn)發(fā)路徑的檢測,進(jìn)一步提高了轉(zhuǎn)發(fā)設(shè)備檢測標(biāo)簽轉(zhuǎn)發(fā)路徑的效率,從而提高在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)fec的效率。
在如圖6所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖6所示的另一種實(shí)現(xiàn)方式,用于實(shí)現(xiàn)如圖2所示的方法流程。如圖6所示,建立單元63,還用于若要刪除在標(biāo)簽轉(zhuǎn)發(fā)路徑上轉(zhuǎn)發(fā)其他fec中的部分或全部fec,則刪除bfd會話與要刪除的fec的關(guān)聯(lián)關(guān)系。
在如圖6所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖7所示的實(shí)現(xiàn)方式,用于實(shí)現(xiàn)如圖3所示的方法流程。如圖7所示,裝置60還包括路徑探測單元64,
路徑探測單元64,用于在配置單元61為一條指定fec的標(biāo)簽轉(zhuǎn)發(fā)路徑進(jìn)行bfd會話配置之后,在bfd會話單元62利用bfd會話配置形成一個(gè)bfd會話之前,獲取指定fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄指定fec的所有節(jié)點(diǎn)信息;
路徑探測單元64,還用于獲取其他fec在標(biāo)簽轉(zhuǎn)發(fā)路徑上每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息,記錄其他fec中每條fec的所有節(jié)點(diǎn)信息;
建立單元63,還用于確定記錄的其他fec中每條fec的所有節(jié)點(diǎn)信息與記錄的指定fec的所有節(jié)點(diǎn)信息是否相同。
在如圖7所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖8所示的另一種實(shí)現(xiàn)方式,用于實(shí)現(xiàn)如圖4所示的方法流程。如圖8所示,標(biāo)簽轉(zhuǎn)發(fā)路徑包括主路徑和備用路徑,裝置60還包括切換單元65,
建立單元63,還用于在bfd會話單元檢測到主路徑異常后,解除bfd會話與其他fec中的每條fec的關(guān)聯(lián)關(guān)系;
切換單元65,用于若所述bfd會話單元檢測到備用路徑正常,則將其他fec對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)路徑從主路徑切換到備用路徑。
在如圖8所示的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以實(shí)現(xiàn)為如圖8所示的另一種實(shí)現(xiàn)方式,用于實(shí)現(xiàn)如圖5所示的方法流程,路徑探測單元64,還用于針對指定fec定期進(jìn)行主路徑可達(dá)性探測,若探測到主路徑恢復(fù)正常,則通知bfd會話單元62;
bfd會話單元62,還用于在檢測到主路徑恢復(fù)正常后,為對應(yīng)主路徑的指定fec重建bfd會話;
建立單元63,還用于重新建立bfd會話與其他fec中每條fec之間的關(guān)聯(lián)關(guān)系。
本申請實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序加載到計(jì)算機(jī)上被計(jì)算機(jī)執(zhí)行時(shí),能夠使計(jì)算機(jī)執(zhí)行執(zhí)行如圖1至圖5任意一項(xiàng)所示的方法。
計(jì)算機(jī)可讀存儲介質(zhì),例如可以是但不限于電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(randomaccessmemory,ram)、只讀存儲器(read-onlymemory,rom)、可擦式可編程只讀存儲器(erasableprogrammablereadonlymemory,eprom)、光纖、便攜式緊湊磁盤只讀存儲器(compactdiscread-onlymemory,cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、電線、光纜、(radiofrequency,rf)等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本申請方法流程的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括諸如java、smalltalk、c++等面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,還包括諸如c語言等常規(guī)的過程式程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過諸如局域網(wǎng)(localareanetwork,lan)、廣域網(wǎng)(wideareanetwork,wan)等任意種類的網(wǎng)絡(luò)連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用互聯(lián)網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
本申請實(shí)施例提供了一種轉(zhuǎn)發(fā)設(shè)備90,如圖9所示,其包括處理器91、存儲器92和網(wǎng)絡(luò)接口93,以及連接處理器91、存儲器92和網(wǎng)絡(luò)接口93的總線94,其中
存儲器92,用于存儲計(jì)算機(jī)程序指令;
網(wǎng)絡(luò)接口93,用于在該轉(zhuǎn)發(fā)設(shè)備90與另一轉(zhuǎn)發(fā)設(shè)備之間轉(zhuǎn)發(fā)數(shù)據(jù);
處理器91,用于執(zhí)行存儲器92中存儲的計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如圖1至圖5任意一項(xiàng)所示的方法。
其中,總線94表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrysubversivealliance,isa)總線,微通道體系結(jié)構(gòu)(microchannelarchitecture,mca)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(videoelectronicsstandardsassociation,vesa)局域總線以及外圍組件互連(peripheralcomponentinterconnect,pci)總線。
轉(zhuǎn)發(fā)設(shè)備90典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被轉(zhuǎn)發(fā)設(shè)備90訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。
存儲器92可以包括易失性存儲器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲器(ram)和/或高速緩存存儲器。轉(zhuǎn)發(fā)設(shè)備90可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲器92可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖9未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖9中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個(gè)驅(qū)動器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線94相連。
轉(zhuǎn)發(fā)設(shè)備90還包括網(wǎng)絡(luò)接口93,使得該轉(zhuǎn)發(fā)設(shè)備90能與一個(gè)或多個(gè)轉(zhuǎn)發(fā)設(shè)備進(jìn)行通信。這種通信可以通過網(wǎng)絡(luò)適配器與一個(gè)或者多個(gè)網(wǎng)絡(luò)通信。
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個(gè)實(shí)施例所述的方法。
以上所述,僅為本申請的具體實(shí)施方式,但本申請的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本申請揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本申請的保護(hù)范圍之內(nèi)。因此,本申請的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。