專利名稱:一種雙向轉(zhuǎn)發(fā)檢測會話的處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別是涉及一種雙向轉(zhuǎn)發(fā)檢測會話的處理方法及裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,網(wǎng)絡(luò)設(shè)備一個越來越重要的特征是,要求對相鄰系統(tǒng)之間通信故障進行快速檢測,這樣在出現(xiàn)故障時,可以更快的建立起替代通道或倒換到其他鏈路。目前,很多硬件或者軟件無法提供這個功能,比如以太網(wǎng),還有一些無法實現(xiàn)路徑檢測,比如轉(zhuǎn)發(fā)引擎或者接口等,無法實現(xiàn)端到端的檢測。目前的網(wǎng)絡(luò)一般采用慢Hello機制,尤其在路由協(xié)議中,在沒有硬件幫助下,檢測時間會很長。缺陷感應(yīng)時間長,代表著大量數(shù)據(jù)的丟失,因此,實現(xiàn)快速網(wǎng)絡(luò)檢測和修復(fù)就越發(fā)顯得重要。BFD(BidirectionalForwarding Detection,雙向轉(zhuǎn)發(fā)檢測)協(xié)議的出現(xiàn),為上述問題的提供了一種解決方案。
BFD有兩種檢測模式,分別為異步模式和查詢模式,另外還有一種輔助功能回聲功能,它可以和這兩種模式結(jié)合起來使用。在異步模式下,系統(tǒng)之間相互周期性地發(fā)送BFD控制包,如果某個系統(tǒng)在檢測時間內(nèi)沒有收到對端發(fā)來的BFD控制報文,就宣布會話為Down。在查詢模式下,假定每個系統(tǒng)都有一個獨立的方法用來確認它連接到其他系統(tǒng)。這樣一旦一個BFD會話建立起來以后,系統(tǒng)停止發(fā)送BFD控制報文,除非某個系統(tǒng)需要顯式地驗證連接性,在需要顯式驗證連接性的情況下,系統(tǒng)發(fā)送一個短系列的BFD控制包,如果在檢測時間內(nèi)沒有收到返回的報文就宣布會話為Down,如果收到對端的回應(yīng)報文,協(xié)議再次保持沉默。異步模式和查詢模式的本質(zhì)區(qū)別在于檢測的位置不同,異步模式下本端按照一定的發(fā)送周期發(fā)送BFD控制報文,需要在遠端檢測本端發(fā)送的BFD控制報文;在查詢模式下,檢測本端發(fā)送的BFD控制報文則是在本端進行的。
BFD在檢測前,需要路由協(xié)議在路由鄰居的兩端觸發(fā)建立對等會話,會話建立以后以協(xié)商后的速率各自向?qū)Χ税l(fā)送BFD的控制報文來實現(xiàn)故障檢測。在BFD會話建立并協(xié)商好相關(guān)參數(shù)后(假設(shè)BFD會話模式是異步模式),BFD會話的鄰居間就按照協(xié)商好的間隔,周期性地向?qū)Χ税l(fā)送BFD控制報文,這些BFD控制報文的作用是心跳檢測,跟其他路由協(xié)議的HELLO報文功能和操作方式一樣,只是發(fā)送頻率往往更快。在發(fā)送的同時,也定時檢測BFD鄰居發(fā)送過來的BFD報文,如果連續(xù)丟失鄰居的BFD報文,則宣布鏈路DOWN,并將這個消息通告給其他應(yīng)用,比如路由模塊等。
GR(Graceful Restart,優(yōu)雅重啟)是指優(yōu)雅重啟路由器的一種功能,不會對其他路由器造成影響。GR是實現(xiàn)HA(High Availability,熱備份)的關(guān)鍵技術(shù)。一臺路由器關(guān)閉之后,與它鄰接的路由器就會把它從鄰居列表中刪除,并通知給其他路由器,這樣就要重新計算SPF(Shortest Path First,最短路徑優(yōu)先算法)。如果路由器關(guān)閉的時間很短,可能只是幾秒鐘,就沒有必要影響整個網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。幾秒鐘之后路由器恢復(fù)工作,又需要重新建立鄰接關(guān)系并計算SPF。GR功能是指當一臺路由器重啟時,會通知與它鄰接的路由器它只是關(guān)閉幾秒鐘,馬上就會恢復(fù)正常。這樣,鄰接路由器就不會將進行GR操作的路由器從鄰居列表中刪除,避免了不必要的SPF計算,其他路由器也不會知道有路由器重啟。
現(xiàn)有技術(shù)方案如圖1所示,路由器A、B之間有數(shù)據(jù)通信,在路由器A、B之間根據(jù)路由鄰居關(guān)系建立BFD會話,當路由器A、B之間發(fā)生故障,BFD會話能快速檢測到會話Down,會通知路由協(xié)議,從而觸發(fā)路由協(xié)議進行路由收斂,并且在路由重建的過程中,會聯(lián)動刪除原有的BFD會話,然后重建BFD會話,恢復(fù)檢測。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題由于BFD會話的刪除和創(chuàng)建與路由的刪除和創(chuàng)建是相互關(guān)聯(lián)的,如果路由器A在刪除控制層面路由時聯(lián)動刪除了BFD會話,由于BFD的檢測速度非???,路由器B檢測到BFD會話Down,會通知路由協(xié)議刪除路由器B上的BFD會話,這樣就會引起路由器B上的路由刪除,導(dǎo)致路由的斷流,丟失報文,網(wǎng)絡(luò)通信業(yè)務(wù)受到影響,網(wǎng)絡(luò)可靠性大大降低。
發(fā)明內(nèi)容
本發(fā)明的實施例要解決的問題是提供一種在主用、備用主控板切換后,在不間斷轉(zhuǎn)發(fā)報文的前提下,建立BFD會話的技術(shù)方案。
為達到上述目的,一方面,本發(fā)明實施例的技術(shù)方案提供了一種雙向轉(zhuǎn)發(fā)檢測會話的處理方法,包括切換主用、備份主控板,并啟動路由優(yōu)雅重啟GR功能;并設(shè)置雙向轉(zhuǎn)發(fā)檢測BFD會話為老化狀態(tài);建立路由鄰居關(guān)系,設(shè)置與所述路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話為激活狀態(tài)。
另一方面,本發(fā)明實施例的技術(shù)方案還提供了一種BFD會話處理裝置,包括GR處理單元、BFD會話狀態(tài)設(shè)置單元和路由設(shè)置單元;所述GR處理單元,用于在切換主用、備份主控板之后,啟動GR功能;所述BFD會話狀態(tài)設(shè)置單元,用于設(shè)置切換主用、備份主控板之前建立的BFD會話為老化狀態(tài),待所述路由設(shè)置單元建立路由鄰居關(guān)系后,根據(jù)路由鄰居關(guān)系設(shè)置處于老化狀態(tài)的BFD會話為激活狀態(tài);所述路由設(shè)置單元,用于在切換主用、備份主控板之后,根據(jù)網(wǎng)絡(luò)連接關(guān)系建立路由鄰居關(guān)系。
再一方面,本發(fā)明實施例的技術(shù)方案還提供了一種路由器,包括BFD會話處理裝置,所述BFD會話處理裝置還包括GR處理單元、BFD會話狀態(tài)設(shè)置單元和路由設(shè)置單元;所述GR處理單元,用于在切換主用、備份主控板之后,啟動GR功能;所述BFD會話狀態(tài)設(shè)置單元,用于設(shè)置切換主用、備份主控板之前建立的BFD會話為老化狀態(tài),待所述路由設(shè)置單元建立路由鄰居關(guān)系后,根據(jù)路由鄰居關(guān)系設(shè)置處于老化狀態(tài)的BFD會話為激活狀態(tài);所述路由設(shè)置單元,用于在切換主用、備份主控板之后,根據(jù)網(wǎng)絡(luò)連接關(guān)系建立路由鄰居關(guān)系。
上述技術(shù)方案中的一個技術(shù)方案具有如下優(yōu)點采用在建立BFD會話時與路由GR聯(lián)動的技術(shù)手段,克服在刪除路由時也同時刪除的BFD會話的問題,進而達到了報文不間斷轉(zhuǎn)發(fā)的技術(shù)效果。
圖1是現(xiàn)有技術(shù)路由器連接示意圖;圖2是本發(fā)明實施例的一種BFD會話處理方法的流程圖;圖3是本發(fā)明實施例的一種BFD會話處理方法的示意圖;圖4是本發(fā)明實施例的一種BFD會話處理裝置結(jié)構(gòu)圖。
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。
圖2是本發(fā)明實施例的一種BFD會話處理方法的流程圖。結(jié)合圖2,進行詳細描述。
步驟S201,因為硬件或軟件等原因,路由器主用主控板發(fā)生故障,則將主用主控板的功能切換到備用主控板上,由備用主控板實現(xiàn)主用主控板的功能。
步驟S202,重新啟動控制層面和管理層面工作,并且啟動GR功能。通知與該路由器鄰接的路由器只是關(guān)閉幾秒鐘,馬上就會恢復(fù)正常。這樣,鄰接路由器就不會將進行GR操作的路由器從鄰居列表中刪除,其他路由器也不會知道有路由器重啟。
步驟S203,重啟路由器對在主備主控板切換之前建立的BFD會話進行設(shè)置將所有切換之前建立的BFD會話設(shè)置為老化狀態(tài)。具體操作可以為在BFD會話設(shè)置一標示位,將標示位設(shè)置為特定值(如“0”),表示該BFD會話處于老化狀態(tài)。處于老化狀態(tài)的BFD會話依然維持在UP狀態(tài),可以發(fā)送BFD報文并進行BFD檢測,從而保持路由檢測的連通性。設(shè)置BFD會話處于老化狀態(tài)的同時,可以觸發(fā)老化定時器開始計時,該老化定時器設(shè)定有一個老化時間,該老化時間為路由完成GR的時間。
步驟S204,路由器重啟后,根據(jù)網(wǎng)絡(luò)拓撲關(guān)系,建立路由鄰居關(guān)系。
步驟S205,當路由收斂重建成功后,根據(jù)路由鄰居關(guān)系,選擇性的設(shè)置處于老化狀態(tài)的BFD會話,將與路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話設(shè)置為激活狀態(tài),設(shè)置為激活狀態(tài)的方式可以具體為將標示位的值進行變化(如由“0”變化為“1”),表示該BFD會話處于激活狀態(tài)。處于激活狀態(tài)的BFD會話為UP狀態(tài),可以發(fā)送BFD報文和進行BFD檢測,保持了路由檢測的連通性。另外,如果路由鄰居關(guān)系中包括主用、備用主控板切換前不包括的新路由鄰居關(guān)系,則根據(jù)新路由鄰居關(guān)系創(chuàng)建新的BFD會話,使其為UP狀態(tài)。
步驟S206,待老化定時器設(shè)定的時間超時后,路由器刪除所有仍然處于老化狀態(tài)的BFD會話,從而保證BFD會話與路由的一致性。
由本實施例可以看出,通過BFD GR技術(shù),可以很好的保證路由的GR功能,使路由器在主備主控板切換時不會因為BFD會話的Down導(dǎo)致路由的斷流,報文的丟失,從而保證了業(yè)務(wù)轉(zhuǎn)發(fā)的連續(xù)性。
圖3是本發(fā)明實施例的一種BFD會話處理方法的示意圖,本圖只為說明本實施例,只是為了便于理解,并不用于限定本發(fā)明的范圍。
如圖3所示,路由器31、32之間建立通信,路由器31、32之間的路由鄰居關(guān)系為1、2、3,根據(jù)路由鄰居關(guān)系1、2、3,對應(yīng)建立BFD會話A、BFD會話B和BFD會話C,BFD會話A、B、C均處于UP狀態(tài),發(fā)送BFD報文,進行BFD檢測。由于硬件、軟件或人為等原因,路由器31主用主控板發(fā)生故障,切換到備用主控板,由備用主控板取代主用主控板的功能。重新啟動控制層面和管理層面工作,并且啟動GR功能。通知路由器32只是關(guān)閉幾秒鐘,馬上就會恢復(fù)正常。這樣,路由器32就不會將路由器31從鄰居列表中刪除,網(wǎng)絡(luò)中的其他路由器也不會知道有路由器重啟。路由器31對BFD會話A、B、C進行設(shè)置,將BFD會話A、B、C的標示位均設(shè)置為0,表示BFD會話A、B、C均處于老化狀態(tài)。處于老化狀態(tài)的BFD會話A、B、C仍然維持在UP狀態(tài),發(fā)送BFD報文,進行BFD檢測。保持路由檢測的連通性。在設(shè)置BFD會話A、B、C的同時,觸發(fā)老化定時器開始計時,老化定時器設(shè)定路由完成GR的時間為90秒。路由器31恢復(fù)后,向路由器32發(fā)送信號,并在收到響應(yīng)后重新建立鄰居關(guān)系列表。路由器31根據(jù)新的網(wǎng)絡(luò)關(guān)系,建立路由鄰居關(guān)系,此時路由鄰居關(guān)系包括1、2、4、5。路由器31根據(jù)鄰居關(guān)系1、2,設(shè)置處于老化狀態(tài)的BFD會話A、B的標示位為1,表示BFD會話A、B由老化狀態(tài)轉(zhuǎn)為激活狀態(tài)。同時根據(jù)鄰居關(guān)系4、5,創(chuàng)建BFD會話D、E,這樣路由器31、32之間就完成了BFD會話的建立。路由器31通過與路由器32鄰居建立會話獲得拓撲或路由信息,然后根據(jù)收到的拓撲或路由信息計算自己的路由表。BFD會話A、B、D、E均處于UP狀態(tài),發(fā)送BFD報文,進行BFD檢測。當老化定時器超時后,即90秒后,路由器31刪除仍然處于老化狀態(tài)的BFD會話C,從而保證了BFD會話與路由的一致性。路由器31和路由器32借助失效標記Stale標記觸發(fā)路由表和轉(zhuǎn)發(fā)表中表項的老化。
通過本實施例可以看出,路由器31發(fā)生故障倒換時,不刪除路由表和轉(zhuǎn)發(fā)表中的路由信息,也不復(fù)位接口板,接口板繼續(xù)傳輸業(yè)務(wù),從而實現(xiàn)整個系統(tǒng)不間斷地轉(zhuǎn)發(fā)報文,從而保持了業(yè)務(wù)的轉(zhuǎn)發(fā)。
本發(fā)明實施例的一種路由器包括BFD會話處理裝置,BFD會話處理裝置能夠在主用主控版切換到備用主控板之后,啟動路由GR功能,并根據(jù)網(wǎng)絡(luò)拓撲關(guān)系建立路由鄰居關(guān)系,而且能夠設(shè)置BFD會話的狀態(tài)為老化或者激活狀態(tài)。BFD會話處理裝置的具體組成見圖4,圖4是本發(fā)明實施例的一種BFD會話處理裝置結(jié)構(gòu)圖,該BFD會話處理裝置包括GR處理單元41、老化定時器42、BFD會話狀態(tài)設(shè)置單元43和路由設(shè)置單元44。當包括BFD會話處理裝置的路由器由主用主控板切換到備用主控板之后,GR處理單元41啟動路由GR功能,通知與包括該BFD會話處理裝置的路由器鄰接的路由器只是關(guān)閉幾秒鐘,馬上就會恢復(fù)正常。這樣,鄰接路由器就不會將進行GR操作的路由器從鄰居列表中刪除,其他路由器也不會知道有路由器重啟。BFD會話狀態(tài)設(shè)置單元43對路由器建立的BFD會話的狀態(tài)進行設(shè)置,將切換前建立的BFD會話的狀態(tài)均設(shè)置為老化狀態(tài),具體操作可以為將代表BFD會話狀態(tài)的標示位設(shè)置為0,表示BFD會話為老化狀態(tài)。BFD會話狀態(tài)設(shè)置單元43在設(shè)置BFD會話狀態(tài)的同時,觸發(fā)老化定時器42開實計時。路由設(shè)置單元44根據(jù)主控板切換后的網(wǎng)絡(luò)拓撲關(guān)系,建立路由鄰居關(guān)系。當路由收斂重建成功后,根據(jù)新路由鄰居關(guān)系,BFD會話狀態(tài)設(shè)置單元43選擇性設(shè)置處于老化狀態(tài)的BFD會話,將與路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話設(shè)置為激活狀態(tài)。具體操作可以為將標示位設(shè)置為1,表示BFD會話為激活狀態(tài)。如果路由鄰居關(guān)系中包括切換前不包括的新路由鄰居關(guān)系,BFD會話管理單元43則根據(jù)新路由鄰居關(guān)系建立新的BFD會話。待老化定時器42計時完畢后,路由器刪除仍然處于老化狀態(tài)的BFD會話。
通過以上實施例可以看出,本發(fā)明實施例通過采用BFD GR老化技術(shù),解決了路由的GR與BFD檢測之間的矛盾,解決了在路由器主用、備用主控板切換時因BFD會話Down而導(dǎo)致路由斷流,丟失報文,影響業(yè)務(wù)的問題,從而實現(xiàn)了業(yè)務(wù)的不間斷轉(zhuǎn)發(fā),提高了網(wǎng)絡(luò)的可靠性。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺網(wǎng)絡(luò)設(shè)備(可以是路由器等設(shè)備)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種雙向轉(zhuǎn)發(fā)檢測會話的處理方法,其特征在于,包括以下步驟切換主用、備份主控板,并啟動路由優(yōu)雅重啟GR功能;設(shè)置雙向轉(zhuǎn)發(fā)檢測BFD會話為老化狀態(tài);建立路由鄰居關(guān)系,并設(shè)置與所述路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話為激活狀態(tài)。
2.如權(quán)利要求1所述雙向轉(zhuǎn)發(fā)檢測會話的處理方法,其特征在于,在啟動路由優(yōu)雅重啟GR功能之后還包括觸發(fā)路由完成GR時間開始計時。
3.如權(quán)利要求1所述雙向轉(zhuǎn)發(fā)檢測會話的處理方法,其特征在于,所述處于老化狀態(tài)的BFD會話,向會話對端發(fā)送BFD報文,進行BFD檢測。
4.如權(quán)利要求1所述雙向轉(zhuǎn)發(fā)檢測會話的處理方法,其特征在于,在建立路由鄰居關(guān)系之后,還包括如果所述路由鄰居關(guān)系包括切換主用、備份主控板后建立的新路由鄰居關(guān)系,則根據(jù)所述新路由鄰居關(guān)系建立新的BFD會話。
5.如權(quán)利要求1所述雙向轉(zhuǎn)發(fā)檢測會話的處理方法,其特征在于,在設(shè)置與所述路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話為激活狀態(tài)之后,還包括待所述路由完成GR時間計時完畢后,刪除所述處于老化狀態(tài)的BFD會話。
6.一種BFD會話處理裝置,其特征在于,包括GR處理單元、BFD會話狀態(tài)設(shè)置單元和路由設(shè)置單元;所述GR處理單元,用于在切換主用、備份主控板之后,啟動GR功能;所述BFD會話狀態(tài)設(shè)置單元,用于設(shè)置切換主用、備份主控板之前建立的BFD會話為老化狀態(tài),待所述路由設(shè)置單元建立路由鄰居關(guān)系后,根據(jù)路由鄰居關(guān)系設(shè)置處于老化狀態(tài)的BFD會話為激活狀態(tài);所述路由設(shè)置單元,用于在切換主用、備份主控板之后,根據(jù)網(wǎng)絡(luò)連接關(guān)系建立路由鄰居關(guān)系。
7.如權(quán)利要求6所述BFD會話處理裝置,其特征在于,還包括老化定時器;所述老化定時器,用于設(shè)置路由完成GR的時間,從所述BFD會話狀態(tài)設(shè)置單元設(shè)置BFD會話為老化狀態(tài)起觸發(fā)所述老化定時器開始計時,待計時完畢后,所述BFD會話處理裝置刪除所述處于老化狀態(tài)的BFD會話。
8.一種路由器,其特征在于,包括BFD會話處理裝置,所述BFD會話處理裝置還包括GR處理單元、BFD會話狀態(tài)設(shè)置單元和路由設(shè)置單元;所述GR處理單元,用于在切換主用、備份主控板之后,啟動GR功能;所述BFD會話狀態(tài)設(shè)置單元,用于設(shè)置切換主用、備份主控板之前建立的BFD會話為老化狀態(tài),待所述路由設(shè)置單元建立路由鄰居關(guān)系后,根據(jù)路由鄰居關(guān)系設(shè)置處于老化狀態(tài)的BFD會話為激活狀態(tài);所述路由設(shè)置單元,用于在切換主用、備份主控板之后,根據(jù)網(wǎng)絡(luò)連接關(guān)系建立路由鄰居關(guān)系。
9.如權(quán)利要求8所述路由器,其特征在于,所述BFD會話處理裝置還包括老化定時器;所述老化定時器,用于設(shè)置路由完成GR的時間,從所述BFD會話狀態(tài)設(shè)置單元設(shè)置BFD會話為老化狀態(tài)起觸發(fā)所述老化定時器開始計時,待計時完畢后,所述BFD會話處理裝置刪除所述處于老化狀態(tài)的BFD會話。
全文摘要
本發(fā)明公開了一種雙向轉(zhuǎn)發(fā)檢測會話的處理方法,涉及通信領(lǐng)域,包括以下步驟切換主用、備份主控板,并啟動路由優(yōu)雅重啟GR功能;設(shè)置雙向轉(zhuǎn)發(fā)檢測BFD會話為老化狀態(tài);建立路由鄰居關(guān)系,設(shè)置與所述路由鄰居關(guān)系對應(yīng)的處于老化狀態(tài)的BFD會話為激活狀態(tài)。本發(fā)明還公開了一種BFD會話處理裝置,包括GR處理單元、BFD會話狀態(tài)設(shè)置單元和路由設(shè)置單元。本發(fā)明解決了BFD會話與路由聯(lián)動刪除的問題,實現(xiàn)了在主用、備用主控板切換后不間斷轉(zhuǎn)發(fā)報文的技術(shù)效果。
文檔編號H04L29/06GK101075921SQ20071012994
公開日2007年11月21日 申請日期2007年7月20日 優(yōu)先權(quán)日2007年7月20日
發(fā)明者吳麗娜, 王玉婷, 王鵬, 汪祖亮 申請人:華為技術(shù)有限公司