專利名稱::Bfd報文的發(fā)送方法、鏈路故障的探測方法及裝置的制作方法
技術領域:
:本發(fā)明涉及網(wǎng)絡技術,尤其涉及雙向轉(zhuǎn)發(fā)探測(BFD,BidirectionalForwardingDetection)報文的發(fā)送技術、本端的會話標識的查找技術及鏈路故障的探測技術。
背景技術:
:鏈路故障快速探測技術在網(wǎng)絡應用中正起著日益重要的作用,通過這種技術,網(wǎng)絡系統(tǒng)可以在鏈^各發(fā)生故障后,快速地發(fā)現(xiàn)故障并采取應對措施。目前,某些傳輸媒介本身就具有快速探測故障的功能,但某些傳輸媒介(例如以太網(wǎng))并沒有這種功能,對此,需要通過一種"Hello"機制(通常用于路由協(xié)議)進行輔助探測。但是,通過"Hello"機制至少需要在鏈路故障發(fā)生后的1秒鐘后才能探測出來,而在高速鏈路上,這么長的故障探測時間會導致大量的數(shù)據(jù)丟失。所以,有必要引入一種更快速的并且獨立于路由協(xié)議的探測機制,為此,本領域技術人員提出了BFD協(xié)議。BFD協(xié)議用于端到端的鏈^備探測,探測速度可達微秒級。探測時,兩端首先通過協(xié)商建立起會話,待會話建立(UP)之后,兩端周期性地向?qū)Χ税l(fā)送BFD報文,并通過這種方式對BFD報文交互時經(jīng)過的鏈路進行探測,如果有一端在一定時間之內(nèi)沒有收到對端發(fā)來的BFD報文,則會話狀態(tài)轉(zhuǎn)變?yōu)閿嚅_(DOWN),并說明了BFD報文經(jīng)過的鏈路發(fā)生了故障。這里的BFD報文是指攜帶有與BFD協(xié)議有關內(nèi)容的各種傳輸協(xié)議報文,或者說,這些協(xié)議報文中的凈荷部分攜帶的是與BFD協(xié)議有關的內(nèi)容。對于BFD報文的互發(fā),兩端可以協(xié)商各自的BFD報文的發(fā)送頻率,頻率越高,則探測到故障就會越快。在IPv4或IPv6網(wǎng)絡中,BFD報文必須使用用戶凄丈據(jù)才艮文協(xié)議(UDP,UserDatagramProtocol)-因特網(wǎng)協(xié)i義(IP,InternetProtocol)的封裝格式。另外,如果兩端建立的會話不經(jīng)過任何三層設備,則所述會話稱為單跳會話;如果兩端建立的會話經(jīng)過了至少一個三層設備,則所述會話稱為多跳會話。在一個網(wǎng)絡系統(tǒng)中,可能會存在多條會話,為便于識別,網(wǎng)絡系統(tǒng)必須為每條會話分配一個非零的且在網(wǎng)絡系統(tǒng)中唯一的會話標識(ID)。針對同一條會話,兩端分別為其分配的會話標識是有可能不同的,所以,在會話建立的協(xié)商階段,兩端都要先學習對端會話標識,并在發(fā)送BFD報文時,將本端、對端的會話標識都填入BFD報文中。在收到BFD報文之后,可以借助BFD報文里攜帶的會話標識將其正確分離到對應的會話。初始化協(xié)商時,由于源端尚未學習到目的端的會話標識,所以源端在向目的端發(fā)送BFD報文時,只能將BFD報文中的目的端的會話ID填寫為0,這種BFD報文稱為初始化BFD報文。目的端收到初始化BFD報文后,必須通過其他信息(例如BFD報文的源端IP地址、目的端IP地址和入接口信息)判斷出該報文是針對哪個會話的,才能學習到源端的會話標識。目的端向源端發(fā)送初始化BFD報文時也是如此。兩端分別學習到對端的會話標識后,才能建立會話。發(fā)明人在認真分析、仔細研究后發(fā)現(xiàn),對于具有多條鏈路的兩端來說,目的端收到初始化BFD報文后,由于初始化BFD報文中的目的端的會話標識為0,所以目的端無法知道這個初始化BFD報文是對應哪一個會話的,進而導致會話無法建立。另外,發(fā)明人在認真分析、仔細研究后還發(fā)現(xiàn),假設具有多條鏈路的兩端建立了多個多跳會話,兩端在互發(fā)BFD凈艮文時,由于BFD々艮文中只有源端IP地址、目的端IP地址以及源端的會話標識,而目的端的會話標識為0且兩端之間建立了多個會話,這樣,源端或中間的三層設備在發(fā)出或轉(zhuǎn)發(fā)BFD報文時,可以選擇任意一個沒有故障的鏈路,由此可見,即使兩端之間已經(jīng)存在故障的鏈路,BFD報文仍然可以到達目的端。所以,目的端在接收到BFD報文后,無法知道BFD報文是對應哪個會話的,或者說,無法知道BFD報文是用于檢測哪個鏈路的,進而導致故障檢測失效。
發(fā)明內(nèi)容本發(fā)明實施例提供一種BFDl艮文的發(fā)送方法、本端的會話標識的查找方法及裝置,用以實現(xiàn)在具有多條鏈路的兩端之間能夠建立起會話。本發(fā)明提供一種BFD報文的發(fā)送方法的實施例,包括獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;將獲取到的所述中途節(jié)點信息設置到BFD報文中;經(jīng)由所述中途節(jié)點信息所對應的鏈路,將所述BFD報文發(fā)送到對端。本發(fā)明還提供一種本端的會話標識的查找方法的實施例,包括接收初始化BFD報文;獲取所接收到的初始化BFD報文所攜帶的沿途經(jīng)由的中途節(jié)點的信息;根據(jù)沿途經(jīng)由的中途節(jié)點的信息以及預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFDl艮文對應的本端的會話標識。本發(fā)明還提供一種BFD報文的發(fā)送裝置的實施例,包括:信息獲取單元,用于獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;信息設置單元,用于將所述信息獲取單元獲取到的所述中途節(jié)點信息設置到BFD報文中;報文發(fā)送單元,用于將所述BFD報文發(fā)送到對端,所述BFD報文經(jīng)由所述中途節(jié)點信息所對應的鏈路。本發(fā)明還提供一種本端的會話標識的查找裝置的實施例,包括報文接收單元,用于接收初始化BFD報文;信息獲取單元,用于獲取所述報文接收單元接收到的初始化BFD"^艮文所攜帶的沿途經(jīng)由的中途節(jié)點的信息;標識查找單元,用于信息獲取單元獲取的中途節(jié)點的信息以及根據(jù)預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFD報文對應的本端的會;舌標識。本發(fā)明實施例還提供一種鏈路故障的探測方法及裝置,用以實現(xiàn)有效的故障檢測。本發(fā)明提供一種鏈路故障的探測方法的實施例,包括判斷是否收到對應會話的BFD報文,所述BFD報文攜帶有中途節(jié)點的信息;如果是,則確定所述會話對應的鏈路運行正常,否則,確定所述會話對應的鏈路運行異常。本發(fā)明還提供一種鏈路故障的探測裝置的實施例,包括報文接收單元,用于接收對應會話的BFD報文;判斷單元,用于判斷所述報文接收單元是否收到對應會話的BFD報文,如果是,則確定所述會話對應的鏈路運行正常,否則,確定所述會話對應的鏈路運行異常。在本發(fā)明的BFD報文的發(fā)送方法、本端的會話標識的查找方法及裝置的實施例中,源端發(fā)送的BFD報文攜帶有沿途經(jīng)由的中途節(jié)點的信息,中途節(jié)7點的信息唯一對應經(jīng)由的鏈路或鏈路上的會話,目的端接收的也是攜帶有上述中途節(jié)點的信息的BFD報文,由于中途節(jié)點已經(jīng)指明了BFD報文對應的鏈路,所以,目的端接收到這樣的中途節(jié)點的信息后,一定會確定BFD報文對應的是哪一條會話,進而完全可以與源端建立會話。在本發(fā)明的BFD報文的發(fā)送方法、鏈路故障的探測方法及裝置的實施例中,源端發(fā)送的BFD報文攜帶有沿途經(jīng)由的中途節(jié)點的信息,中途節(jié)點的信息唯一對應經(jīng)由的鏈路或鏈路上的會話,這樣,源端或中間的三層設備需要根據(jù)中途節(jié)點的信息發(fā)出或轉(zhuǎn)發(fā)BFD報文,或者說,BFD報文是嚴格沿著會話對應的鏈路到達目的端的。所以,目的端接收到BFD報文后,就可以確定所述BFD報文攜帶有中途節(jié)點的信息所對應的鏈路運行正常,否則,就可以確定會話對應的鏈路運行異常,從而實現(xiàn)了有效的故障檢測。圖1為本發(fā)明的BFD報文的發(fā)送方法的實施例的流程圖;圖2為本發(fā)明的對端的會話標識的查找方法的實施例的流程圖;圖3為本發(fā)明的鏈路故障的探測方法的實施例的流程圖;圖4為本發(fā)明的應用實施例的鏈路示意圖;圖5為本發(fā)明的應用實施例的流程圖。具體實施例方式首先對本發(fā)明的BFD報文的發(fā)送方法的實施例進行說明。如圖l所示,包括步驟S101:獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話。具體的,中途節(jié)點的信息可以是中途節(jié)點的標識、中途節(jié)點的地址或者是其他能夠標識中途節(jié)點的信息,也可以是這些信息的任意組合。BFD報文需要沿途經(jīng)由的中途節(jié)點信息可以預先配置,當需要使用時,在本地獲取即可,當然,中途節(jié)點的信息也可以從其他網(wǎng)絡實體獲取。另外,如果還沒有與對端建立會話,或者說,將要發(fā)送的是初始化BFD報文,則中途節(jié)點信息唯一對應經(jīng)由的鏈路;如果已經(jīng)與對端建立會話,或者說,將要發(fā)送的是用于故障探測的BFD報文,則中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話。步驟S102:將獲取到的所述中途節(jié)點信息設置到BFD報文中。具體的,可以通過源站選路或路由頭的方式將中途節(jié)點的信息設置在BFD報文的首部中。源站選路是IPv4的一種IP選項,,路由頭是IPv6的一種擴展報頭,兩者的思想都是由源端指定路由,并將中途節(jié)點的IP地址以清單形式設置在IP首部中。在轉(zhuǎn)發(fā)攜帶有中途節(jié)點的IP地址清單的BFD報文時,必須參考IP地址清單,以保證BFD報文經(jīng)過指定的節(jié)點,例如,每個節(jié)點在接收到報文時,都要查詢IP首部中的中途節(jié)點的IP地址,這樣才能保證將報文發(fā)送給下一個節(jié)點,進而保證了BFD報文始終沿著源端指定的路由傳送,或者說,保證了BFD報文始終沿著與攜帶的中途節(jié)點的IP地址清單對應的鏈路傳送。當然,源站選路方式或路由頭方式只是可選的方式,在實際應用中,還可以應用其他方式將中途節(jié)點的信息設置在BFD報文中。另夕卜,一般來說,中途節(jié)點的信息要設置在BFD沖艮文的首部中,但如果每個節(jié)點都能夠識別,那么設置在BFD報文的其他部分中也是可行的。如果所述BFD報文是初始化BFD報文,則初始化BFD報文中需要攜帶本端的會話標識,這樣,對端在收到初始化BFD報文后,就可以根據(jù)中途節(jié)點的信息查找對端的會話標識,之后就可以確定初始化BFD報文攜帶的會話標識就是與查找到的對端的會話標識對應的會話標識。如果所述BFD報文是建立會話后的BFD報文,則BFD報文中也可以攜帶本端的會話標識,這樣,對端在收到BFD凈艮文后,就知道BFD凈艮文對應的是哪個會話,從而也就知道了BFD報文經(jīng)由的是哪個鏈路。當然,BFD報文中也可以不在BFD報文中攜帶本端的會話標識。這是因為,BFD報文攜帶的中途節(jié)點的信息已經(jīng)能夠表明BFD報文經(jīng)由的鏈路,對端在收到BFD報文后,才艮據(jù)BFD報文攜帶的中途節(jié)點的信息就可以確定BFD報文經(jīng)由的鏈路,對端通過BFD報文經(jīng)由的鏈路就可以確定鏈路是否發(fā)生故障,具體將在下文描述。所述BFD報文可以是IP報文,IP報文攜帶的應該是與BFD協(xié)議有關的內(nèi)容。當然,如果條件允許,上述BFD報文也可以是其他類型的報文。9步驟S103:經(jīng)由所述中途節(jié)點信息所對應的鏈5^,將所述BFD報文發(fā)送給對端。.如步驟S102所述,將中途節(jié)點信息設置在BFD報文中,BFD報文就會嚴格按照中途節(jié)點信息對應的鏈路傳送。如果對應的鏈路發(fā)生故障,則即使其他能夠到達對端的鏈路運行正常,BFD報文也不會沿著其他鏈路到達對端,最后的結(jié)果就是,沒有經(jīng)由所述中途節(jié)點信息對應的鏈路的BFD報文到達對端o需要說明的是,步驟S101、步驟S102和步驟S103的執(zhí)行主體是發(fā)送BFD報文的源端,源端和目的端之間具有多條鏈路。上述發(fā)送方法的實施例可以由多種形式的裝置實現(xiàn),其中的一種BFD報文的發(fā)送裝置包括信息獲取單元,用于獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;信息設置單元,用于將所述信息獲取單元獲取到的所述中途節(jié)點信息設置到BFD報文中;報文發(fā)送單元,用于將所述BFD報文發(fā)送到對端,所述BFD報文經(jīng)由所述中途節(jié)點信息所對應的鏈路。具體的,中途節(jié)點的信息可以是中途節(jié)點的標識、中途節(jié)點的地址或者是其他能夠標識中途節(jié)點的信息,也可以是這些信息的任意組合。BFD報文需要沿途經(jīng)由的中途節(jié)點信息可以預先配置在本地中,當需要使用時,信息獲取單元在本地獲取即可,當然,中途節(jié)點的信息也可以從其他網(wǎng)絡實體獲取。另外,如果還沒有與對端建立會話,或者說,報文發(fā)送單元將要發(fā)送的是初始化BFD報文,則中途節(jié)點信息唯一對應經(jīng)由的鏈路;如果已經(jīng)與對端建立會話,或者說,報文發(fā)送單元將要發(fā)送的是用于故障探測的BFD報文,則中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話。信息設置單元可以通過源站選路或路由頭的方式將中途節(jié)點的信息設置在BFD才艮文的首部中。當然,源站選路方式或路由頭方式只是可選的方式,在實際應用中,信息設置單元還可以應用其他方式將中途節(jié)點的信息設置在BFD報文中。另夕卜,一般來說,中途節(jié)點的信息要設置在BFD報文的首部中,但如杲每個節(jié)點都能夠識別,那么設置在BFD報文的其他部分中也是可行的。如果報文發(fā)送單元發(fā)送的是初始化BFD報文,則初始化BFD報文中需要10攜帶本端的會話標識,這樣,對端在收到初始化BFD報文后,就可以根據(jù)中途節(jié)點的信息查找對端的會話標識,之后就可以確定初始化BFD凈艮文攜帶的會話標識就是與查找到的對端的會話標識對應的會話標識。如果報文發(fā)送單元發(fā)送的是與對端建立會話后的BFD報文,則BFD報文中也可以攜帶本端的會話標識,這樣,對端在收到BFD凈艮文后,就知道BFD報文對應的是哪個會話,從而也就知道了BFD報文經(jīng)由的是哪個鏈路。當然,BFD報文中也可以不在BFD報文中攜帶本端的會話標識。這是因為,BFD報文攜帶的中途節(jié)點的信息已經(jīng)能夠表明BFD報文經(jīng)由的鏈路,對端在收到BFD報文后,根據(jù)BFD報文攜帶的中途節(jié)點的信息就可以確定BFD報文經(jīng)報文發(fā)送單元發(fā)送的BFD報文可以是IP報文,IP報文攜帶的應該是與BFD協(xié)議有關的內(nèi)容。當然,如果條件允許,上述BFD報文也可以是其他類型的報文。如上所述,信息設置單元將中途節(jié)點信息設置在BFD報文中,BFD報文就會嚴格按照中途節(jié)點信息對應的鏈路傳送。如果對應的鏈路發(fā)生故障,則即使其他能夠到達對端的鏈路運行正常,BFD報文也不會沿著其他鏈路到達對端,最后的結(jié)果就是,沒有經(jīng)由所述中途節(jié)點信息對應的鏈路的BFD報文到達對端。需要說明的是,上述發(fā)送裝置中的各個單元可以應用在源端,這些單元在源端中的工作方式與在上述發(fā)送裝置中的工作方式相同,這里不再贅述。上述發(fā)送方法及裝置的實施例說明的是源端發(fā)送BFD報文,如果發(fā)送的是初始化BFD報文,則目的端接收到報文后,需要查找源端的會話標識。下面結(jié)合圖2,介紹本發(fā)明的本端的會話標識的查找方法的實施例,如圖2所示,包括步驟S201:接收初始化BFD報文。步驟S202:獲取所接收到的初始化BFD報文所攜帶的沿途經(jīng)由的中途節(jié)點的信息。中途節(jié)點的信息可以是中途節(jié)點的標識、中途節(jié)點的地址或者是其他能夠標識中途節(jié)點的信息,也可以是這些信息的任意組合。具體的,源端可以通過源站選路或路由頭的方式將中途節(jié)點的信息設置在BFD報文的首部中。當然,源站選路方式或5^由頭方式只是可選的方式,在實際應用中,還可以應用其他方式將中途節(jié)點的信息設置在BFD報文中。另外,一般來說,中途節(jié)點的信息要設置在BFD報文的首部中,但如果每個節(jié)點都能夠識別,那么設置在BFD報文的其他部分中也是可行的。接收到源端發(fā)送的初始化BFD報文后,可以從初始化BFD報文中獲取沿途經(jīng)由的中途節(jié)點的信息。步驟S203:根據(jù)沿途經(jīng)由的中途節(jié)點的信息以及預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFD才艮文對應的本端的會話標識。具體的,可以為每一個會話設置一個對應關系,即,本端的會話標識與鏈路上的中途節(jié)點的信息之間的對應關系,這樣,當獲得中途節(jié)點的信息后,就可以根據(jù)中途節(jié)點的信息,找到對應的本端的會話標識。初始化BFD報文可以是IP報文,IP報文一般都會攜帶源IP地址及目的IP地址,所以在為會話設置對應關系時,可以將本端的會話標識、源IP地址、目的IP地址與鏈路上的中途節(jié)點的信息之間建立對應關系,當獲得初始化BFD報文后,就可以根據(jù)中途節(jié)點的信息、源IP地址、目的IP地址,找到對應的本端的會話標識。查找到初始化BFD報文對應的本端的會話標識后,本端就可以將本端的會話標識與初始化BFD報文攜帶的源端的會話標識對應,或者說,記錄兩個會話標識的對應關系。當源端也建立了兩端的會話標識的對應關系后,兩端就可以建立會活。需要說明的是,可以有多種方式在源端建立源端的會話標識與本端的會話標識的對應關系。例如,當本端將兩個會話標識對應后,可以向源端發(fā)送建鏈報文,所述建鏈報文攜帶所述兩個會話標識,源端接收到所述建鏈報文后,可以直接從建鏈報文中獲取所述兩端的會話標識,進而建立所述兩端的會話標識對應關系。當然,所述建鏈報文也可以攜帶中途節(jié)點信息,這樣,建鏈報文就會嚴格沿著中途節(jié)點信息對應的鏈路到達源端。再例如,當源端向本端發(fā)送初始化BFD報文時,本端也可以向源端發(fā)送12初始化BFD報文,本端向源端發(fā)送的初始化BFD才艮文攜帶有中途節(jié)點的信息及本端的會話標識,源端接收到初始化BFD報文后,可以獲取到中途節(jié)點的信息,之后再根據(jù)預先建立的中途節(jié)點的信息與源端的會話標識之間的對應關系,查找到源端的會話標識,從而建立源端的會話標識與初始化BFD報文攜帶的本端的會話標識的對應關系。還需要說明的是,步驟S201、S202和S203的執(zhí)行主體是接收初始化BFD報文的目的端,源端和目的端之間具有多條鏈路。上述查找方法的實施例可以由多種形式的裝置實現(xiàn),其中的一種本端的會話標識的查找裝置包括報文接收單元,用于接收初始化BFD報文;信息獲取單元,用于獲取所述報文接收單元接收到的初始化BFD報文所攜帶的沿途經(jīng)由的中途節(jié)點的信息;標識查找單元,用于根據(jù)信息獲取單元獲取的中途節(jié)點的信息以及預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFDl艮文對應的本端的會話標識。上述裝置還可以包括對應關系設置單元,用于為每一個會話設置一個對應關系,即,本端的會話標識與鏈路上的中途節(jié)點的信息之間的對應關系,這樣,當信息獲取單元獲得中途節(jié)點的信息后,標識查找單元就可以根據(jù)中途節(jié)點的信息,在該對應關系設置單元查找對應的本端的會話標識。初始化BFD報文可以是IP報文,IP報文一般都會攜帶源IP地址及目的IP地址,所以對應關系設置單元在為會話設置對應關系時,可以將本端的會話標識、源IP地址、目的IP地址與鏈路上的中途節(jié)點的信息之間建立對應關系,當報文接收單元接收到初始化BFD報文后,會話標識確定單元就可以根據(jù)中途節(jié)點的信息、源IP地址、目的IP地址,找到對應的本端的會話標識。需要說明的是,上述查找裝置中的各個單元可以應用在目的端,這些單元在目的端中的工作方式與在上述查找裝置中的工作方式相同,這里不再贅迷。在圖1所示的實施例中曾提到,源端向本端發(fā)送用于探測鏈路故障的BFD報文攜帶有沿途經(jīng)由的中途節(jié)點信息,是為了保證BFD報文能夠嚴格沿著中途節(jié)點信息對應的鏈路到達本端。如果中途節(jié)點信息對應的鏈路發(fā)生故障,則BFD報文不會到達本端,BFD報文也不會沿著其他運行正常的鏈路到達本端,這樣,就不會存在沿著中途節(jié)點信息對應的鏈路到達本端的BFD報文。即使本端收到經(jīng)由其他鏈路的BFD報文,由于這些BFD報文也都攜帶有與故障鏈路不同的中途節(jié)點的信息及兩端的會話標識,本端也會區(qū)分出這些BFD報文對應的鏈路,而不會將這些BFD報文確定為故障鏈路對應的BFD報文。在圖2所示的本端的會話標識的查找方法的實施例中曾提到,本端的會話標識與鏈路上的中途節(jié)點的信息之間有對應關系。如果具有多條鏈路的兩端已經(jīng)建立會話,源端發(fā)送的BFD報文用于鏈路故障的探測,則目的端接收到BFD報文后,需要通過BFD進行鏈路故障的探觀'J。下面結(jié)合圖3,介紹本發(fā)明的鏈路故障的探測方法的實施例,如圖3所示,包括步驟S301:判斷是否收到對應會話的BFD報文,所述BFD報文攜帶有中途節(jié)點的信息,如果是,則轉(zhuǎn)步驟S302,否則,轉(zhuǎn)步驟S303;步驟S302:確定所述會話對應的鏈路運行正常;步驟S303:確定所述會話對應的鏈路運行異常。具體的,可以為每條會話都設置一個定時器,所有定時器的定時時間可以完全相同,也可以不完全相同。當在定時時間內(nèi)4矣收到對應某條會話的BFD外,本端還可以重新設置定時器,新的定時時間可以與原定時時間相同,也可以不相同。當在定時時間內(nèi)未接收到對應某條會話的BFD報文且定時器的定時時間到達時,本端就可以確定所述定時器對應的會話所對應的鏈路運4亍異常,另外,本端也可以重新設置定時時間,同樣,新的定時時間可以與原定時時間相同,也可以不相同。在實際應用中,可以有多種方式判斷是否在定時時間內(nèi)接收到對應某條會話的BFD報文。第一種方式啟動所有的定時器后,如果收到BFD報文,則檢查BFD報文攜帶的兩端的會話標識以及中途節(jié)點信息。檢查兩端的會話標識可以確定BFD報文是對應哪條會話的。由于源端在發(fā)送BFD報文時,都會將與兩端的會話標識對應的中途節(jié)點的信息攜帶于BFD報文中,以保證BFD報文沿著與兩端的會話標識對應的中途節(jié)點到達本端,所以,4全查中途節(jié)點信息時,只14要檢查到BFD報文攜帶了中途節(jié)點的信息,就可以確定BFD報文是沿著與兩端的會話標識對應的中途節(jié)點信息傳送過來的。這樣,確定BFD報文對應的會話以及BFD報文沿著與兩端的會話標識對應的中途節(jié)點信息傳送后,就可以確定BFD才艮文對應的是兩端的會話標識所對應的會活。如果對應所述會話的定時器沒有超時,則可以確定在定時時間內(nèi)收到了對應所述會話的BFD才艮文??蛇x的,在檢查BFD報文攜帶的兩端的會話標識以及中途節(jié)點信息時,可以檢查BFD報文攜帶的兩端的會話標識與BFD報文攜帶的中途節(jié)點信息是否對應,如果對應,則可以進一步確定BFD報文確實是沿著與兩端的會話標識對應的中途節(jié)點傳送過來的。例如,本端可以^^用BFD報文攜帶的兩端的會話標識在本端查找與兩端的會話標識對應的中途節(jié)點信息,再將查找到的中途節(jié)點信息與BFD報文攜帶的中途節(jié)點信息進行比對,如果一致的話,則說明BFD報文確實是沿著與兩端的會話標識對應的中途節(jié)點傳送過來的,否則,說明BFD報文雖然攜帶了兩端的會話標識,但BFD報文是沿著與兩端的會話標識不對應的中途節(jié)點傳送過來的,本端由此可以確定BFD才艮文并不與兩端的會話標識所對應的會話相對應,此時,本端可以才艮據(jù)BFD凈艮文攜帶的中途節(jié)點信息,在本端查找到與中途節(jié)點信息對應的兩端的會話標識,從而可以確定BFD才艮文真正對應的會話。第二種方式啟動所有的定時器后,如果收到BFD報文,則根據(jù)BFD報文攜帶的中途節(jié)點信息,在本端查找到與中途節(jié)點信息對應的兩端的會話標識,從而可以確定BFD報文對應的會話。之后,再判斷所述會話對應的定時器是否超時,如果沒有超時,則可以確定在定時時間內(nèi)收到了對應所述會話的BFD才艮文。當然,上述兩種方式只是可選的實施方式,在實際應用中,本領域:汰術人員還可以通過其他方式判斷是否在定時時間內(nèi)接收到對應某條會話的BFD報文,這里不再贅述。本端如果收到了對應某條會話的BFD才艮文,則可以確定所述會話對應的鏈路運行正常;如果沒有收到對應某條會話的BFD報文,則可以確定所述會話對應的鏈路運行異常。15需要說明的是,步驟S301、步驟S302和步驟S303的執(zhí)行主體是接收BFD報文的目的端,源端和目的端之間具有多條鏈路。上述鏈路故障的探測方法的實施例可以由多種形式的裝置實現(xiàn),其中的一種鏈路故障的探測裝置包括報文接收單元,用于接收對應會話的BFD報文;判斷單元,用于判斷所述報文接收單元是否收到對應會話的BFD報文,如果是,則確定所述會話對應的鏈路運行正常,否則,確定所述會話對應的鏈路運行異常。上述裝置還可以包括對應關系設置單元,用于設置本端的會話標識與鏈路上的中途節(jié)點的信息之間的對應關系。判斷單元可以包括多個定時器,每個定時器對應一條會話,判斷單元判斷報文接收單元在定時器的定時時間內(nèi)是否收到對應會話的BFD報文。需要說明的是,上述探測裝置中的各個單元可以應用在目的端,這些單元在目的端中的工作方式與在上述探測裝置中的工作方式相同,這里不再贅述。下面再結(jié)合圖4及圖5,介紹本發(fā)明的一個應用實施例。如圖4所示,網(wǎng)元A、B之間有兩條鏈路,即,經(jīng)路由器Rl的鏈路和經(jīng)路由器R2的鏈路,并相應地配置兩條平衡路由進行網(wǎng)絡流量的負荷分擔,A、B、Rl、R2的IP地址分別是IP一A、IP一B、IP一R1、IP一R2。現(xiàn)打算在A、B之間建立兩條多跳會話,分別探測經(jīng)R1、R2的鏈路。具體流程如圖5所示,包括步驟S501:進行初始化配置。具體的,在網(wǎng)元A配置兩條多跳會話Al、A2,在網(wǎng)元B配置兩條多跳會話B1、B2,打算使A1、Bl建立連接并探測經(jīng)Rl的鏈路,使A2、B2建立連接并探測經(jīng)R2的鏈路。具體的配置方案如表1:<table>tableseeoriginaldocumentpage16</column></row><table>表1步驟S502:網(wǎng)元A向網(wǎng)元B分別發(fā)送與Al、A2會話相關的初始化BFD報文,網(wǎng)元B向網(wǎng)元A分別發(fā)送與Bl、B2會話相關的初始化BFD報文。與Al會話相關的初始化BFD報文攜帶的IP地址清單是IP一Rl,與A2會話相關的初始化BFD報文攜帶的IP地址清單是IP一R2,與Bl會話相關的初始化BFD報文攜帶的IP地址清單是IP—Rl,與B2會話相關的初始化BFD報文攜帶的IP地址清單是IP一R2。步驟S503:網(wǎng)元B分別解析與Al、A2會話相關的初始化BFD報文,在本端分別選擇Bl、B2會話,網(wǎng)元A分別解析與Bl、B2會話相關的初始化BFD報文,在本端分別選擇A1、A2會話。步驟S504:網(wǎng)元A與網(wǎng)元B分別建立經(jīng)Rl鏈路的4S舌和經(jīng)R2鏈路的會話。步驟S505:網(wǎng)元A與網(wǎng)元B分別對經(jīng)Rl的鏈路和經(jīng)R2的鏈路進行探測。具體的,網(wǎng)元A可以判斷在定時時間內(nèi)是否收到網(wǎng)元B發(fā)出的攜帶有IP_R1的BFD報文,如果是,則確定BFD報文所攜帶的IP—Rl所對應的Rl鏈路正常,否則,根據(jù)會話標識A1、Bl,確定中途節(jié)點為R1,進而確定R1鏈路異常;同理,網(wǎng)元A也可以判斷在定時時間內(nèi)是否收到網(wǎng)元B發(fā)出的攜帶有IP—R2的BFD報文,如果是,則確定BFD報文所攜帶的IP—R2所對應的R2鏈i各正常,否則,根據(jù)會話標識A2、B2,確定中途節(jié)點為R2,進而確定R2鏈路異常。網(wǎng)元B可以判斷在定時時間內(nèi)是否收到網(wǎng)元A發(fā)出的攜帶有IP—Rl的BFD報文,如果是,則確定BFD報文所攜帶的IP—Rl所對應的Rl鏈路正常,否則,根據(jù)會話標識A1、Bl,確定中途節(jié)點為R1,進而確定Rl鏈路異常;同理,網(wǎng)元B也可以判斷在定時時間內(nèi)是否收到網(wǎng)元A發(fā)出的攜帶有IP—R2的BFD報文,如果是,則確定BFD報文所攜帶的IP_R2所對應的R2鏈路正常,否則,根據(jù)會話標識A2、B2,確定中途節(jié)點為R2,進而確定R2鏈路異常。在本發(fā)明的所有實施例中,發(fā)出或接收到的BFD報文都攜帶有中途節(jié)點的信息,目的端可以根據(jù)初始化BFD報文中攜帶的中途節(jié)點的信息查找到本端對應的會話標識,另外從初始化BFD報文中獲得源端的會話標識,并建立兩端會話標識的對應關系,以便建立會話,并且,在鏈路探測過程中,目的17端可以直接根據(jù)中途節(jié)點的信息,判斷出中途節(jié)點對應的鏈路是否發(fā)生故障。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。權(quán)利要求1.一種雙向轉(zhuǎn)發(fā)探測BFD報文的發(fā)送方法,其特征在于,包括獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;將獲取到的所述中途節(jié)點信息設置到BFD報文中;經(jīng)由所述中途節(jié)點信息所對應的鏈路,將所述BFD報文發(fā)送到對端。2.如權(quán)利要求1所述的雙向轉(zhuǎn)發(fā)探測BFD報文的發(fā)送方法,其特征在于,將獲取到的所述中途節(jié)點信息設置到BFD報文中具體包括通過源站選路或路由頭的方式將中途節(jié)點的信息設置在BFD報文的首部中。3.如權(quán)利要求1所述的雙向轉(zhuǎn)發(fā)探測BFD報文的發(fā)送方法,其特征在于,所述中途節(jié)點的信息至少為下述一種信息或信息的組合中途節(jié)點的標識;中途節(jié)點的地址;其他能夠標識中途節(jié)點的信息。4.如權(quán)利要求1所述的雙向轉(zhuǎn)發(fā)探測BFD報文的發(fā)送方法,其特征在于,所述BFD報文為IP報文。5.—種本端的會話標識的查找方法,其特征在于,包括接收初始化BFD報文;獲取所接收到的初始化BFD報文所攜帶的沿途經(jīng)由的中途節(jié)點的信息;根據(jù)沿途經(jīng)由的中途節(jié)點的信息以及預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFDl艮文對應的本端的會話標識。6.如權(quán)利要求5所述的本端的會話標識的查找方法,其特征在于,所述初始化BFD報文為IP報文,所述IP報文攜帶有源IP地址和目的IP地址,根據(jù)預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFD報文對應的本端的會話標識具體為根據(jù)預先建立的中途節(jié)點信息、源IP地址和目的IP地址與本端的會話標識之間的對應關系,在本端查找對應的會話標識。7.—種鏈路故障的探測方法,其特征在于,包括判斷是否收到對應會話的BFD報文,所述BFD報文攜帶有中途節(jié)點的信如果是,則確定所述會話對應的鏈路運行正常,否則,確定所述會話對應的鏈路運行異常。8.如權(quán)利要求7所述的鏈路故障的探測方法,其特征在于,所述BFD報文為IP凈艮文。9.如權(quán)利要求7所述的鏈路故障的探測方法,其特征在于,判斷是否收到對應會話的BFD才艮文具體為接收BFD報文;如果所述BFD報文攜帶了中途節(jié)點信息,則根據(jù)所述BFD報文攜帶的兩端的會話標識,確定與兩端的會話標識對應的會話。10.如權(quán)利要求9所述的鏈路故障的探測方法,其特征在于,確定與兩端的會話標識對應的會話之后還包括根據(jù)所述BFD報文攜帶的兩端的會話標識,在本端查找與兩端的會話標識對應的中途節(jié)點信息;如果查找到的中途節(jié)點信息與所述BFDl艮文攜帶的中途節(jié)點信息一致,則確定所述BFD報文與兩端的會話標識所對應的會話相對應。11.一種BFD報文的發(fā)送裝置,其特征在于,包括信息獲取單元,用于獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;信息設置單元,用于將所述信息獲取單元獲取到的所述中途節(jié)點信息設置到BFD凈艮文中;報文發(fā)送單元,用于將所述BFD報文發(fā)送到對端,所述BFD報文經(jīng)由所述中途節(jié)點信息所對應的鏈路。12.—種本端的會話標識的查找裝置,其特征在于,包括報文接收單元,用于接收初始化BFD報文;信息獲取單元,用于獲取所述報文接收單元接收到的初始化BFD報文所攜帶的沿途經(jīng)由的中途節(jié)點的信息;標識查找單元,用于根據(jù)信息獲取單元獲取的中途節(jié)點的信息以及預先建立的中途節(jié)點信息與本端的會話標識之間的對應關系,查找所述初始化BFD報文對應的本端的會話標識。13.—種鏈路故障的探測裝置,其特征在于,包括報文接收單元,用于接收對應會話的BFD報文;如果是,則確定所述會話對應的鏈路運行正常,否則,確定所述會話對應的鏈路運行異常。14.如權(quán)利要求13所述的鏈路故障的探測裝置,其特征在于,還包括對應關系設置單元,用于設置本端的會話標識與鏈路上的中途節(jié)點的信息之間的對應關系。15.如權(quán)利要求13或14所述的鏈路故障的探測裝置,其特征在于,所述判斷單元包括多個定時器,每個定時器對應一條會話,所述判斷單元判斷所述報文接收單元在定時器的定時時間內(nèi)是否收到對應會話的BFD報文。全文摘要本發(fā)明提供一種BFD報文的發(fā)送方法,包括獲取BFD報文需要沿途經(jīng)由的中途節(jié)點信息,所述中途節(jié)點信息唯一對應經(jīng)由的鏈路或鏈路上的會話;將獲取到的所述中途節(jié)點信息設置到BFD報文中;經(jīng)由所述中途節(jié)點信息所對應的鏈路,將所述BFD報文發(fā)送到對端。本發(fā)明還提供本端的會話標識的查找方法、鏈路故障的探測方法及裝置。在本發(fā)明的BFD報文的發(fā)送方法、本端的會話標識的查找方法及裝置中,由于中途節(jié)點已經(jīng)指明了BFD報文對應的鏈路,目的端一定會據(jù)此確定BFD報文對應的是哪一條會話,進而完全可以與源端建立會話。文檔編號H04L12/56GK101459594SQ20071019957公開日2009年6月17日申請日期2007年12月14日優(yōu)先權(quán)日2007年12月14日發(fā)明者杰吳申請人:華為技術有限公司