專利名稱:一種分配雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話鑒別符的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域中的雙向轉(zhuǎn)發(fā)檢測(cè)(BFD,Bidirectional ForwardingDetection)技術(shù),特別涉及一種分配BFD會(huì)話鑒別符的方法。
背景技術(shù):
BFD技術(shù)是一種快速檢測(cè)技術(shù),能夠在數(shù)據(jù)傳輸出現(xiàn)問(wèn)題時(shí)快速對(duì)故障進(jìn)行定位,找出發(fā)生故障的通信鏈路。
BFD技術(shù)的實(shí)現(xiàn)原理如下兩個(gè)路由器在建立BFD會(huì)話以后,周期性地向?qū)Ψ桨l(fā)送BFD報(bào)文,并在接收對(duì)方發(fā)送的BFD報(bào)文的同時(shí)周期性地檢測(cè)對(duì)方BFD報(bào)文的到達(dá)情況。如果檢測(cè)到在一定時(shí)間間隔內(nèi)沒(méi)有收到對(duì)方發(fā)送過(guò)來(lái)的BFD報(bào)文,就可以認(rèn)定與對(duì)方的通信鏈路發(fā)生了故障,從而實(shí)現(xiàn)對(duì)通信鏈路的快速檢測(cè)。
在路由器檢測(cè)對(duì)方BFD報(bào)文的到達(dá)情況時(shí),由于一個(gè)路由器可能會(huì)同時(shí)與多個(gè)路由器建立BFD會(huì)話,兩個(gè)路由器之間也可能會(huì)建立多個(gè)BFD會(huì)話,所以在路由器接收到BFD報(bào)文以后,需要正確區(qū)分接收到的BFD報(bào)文屬于哪個(gè)路由器發(fā)送過(guò)來(lái)的哪個(gè)BFD會(huì)話,即需要識(shí)別接收到的BFD報(bào)文歸屬的BFD會(huì)話。
路由器識(shí)別接收到的BFD報(bào)文歸屬的BFD會(huì)話,是根據(jù)BFD報(bào)文所攜帶的鑒別符來(lái)進(jìn)行的。鑒別符是路由器為每個(gè)與自身有關(guān)的BFD會(huì)話自由分配的,鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間存在有一定的映射關(guān)系,該映射關(guān)系被保存在路由器的存儲(chǔ)單元中。BFD報(bào)文歸屬BFD會(huì)話的位置信息包括處理板號(hào)(Target-Blade)和BFD索引(BFD-Index)。
路由器為每個(gè)BFD會(huì)話分配的鑒別符都是不同的,對(duì)于同一個(gè)路由器而言,它為每個(gè)BFD會(huì)話分配的鑒別符都是唯一的,每個(gè)BFD會(huì)話也都有一個(gè)唯一的鑒別符與之相對(duì)應(yīng)。
如圖1所示,圖1為BFD技術(shù)應(yīng)用環(huán)境示意圖。路由器A與路由器C之間的鏈路AC上同時(shí)存在有兩個(gè)BFD會(huì)話,在建立這兩個(gè)BFD會(huì)話時(shí),路由器C需要為這兩個(gè)BFD會(huì)話分別分配一個(gè)鑒別符。假如路由器C為其中一個(gè)BFD會(huì)話分配的鑒別符為1,為另一個(gè)BFD會(huì)話分配的鑒別符為2。如果此時(shí)路由器B與路由器C之間的鏈路BC上也需要建立一個(gè)BFD會(huì)話,那么在建立這個(gè)BFD會(huì)話時(shí),路由器C為這個(gè)BFD會(huì)話分配的鑒別符不能為1或2,但可以為除1和2之外的其他任何數(shù)值。
在路由器為BFD會(huì)話分配完鑒別符以后,路由器可以通過(guò)各種方式將分配的鑒別符告知對(duì)方,例如手工指派、外帶協(xié)商、自動(dòng)袋內(nèi)協(xié)商等方式。對(duì)方在獲知該鑒別符以后,在發(fā)過(guò)來(lái)的BFD報(bào)文中必須帶上該鑒別符。路由器在接收到BFD報(bào)文以后,就可以根據(jù)BFD報(bào)文所攜帶的鑒別符及鑒別符與BFD報(bào)文歸屬BFD會(huì)話位置信息之間的映射關(guān)系,確定該BFD報(bào)文歸屬BFD會(huì)話的位置信息,進(jìn)而識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
由于鑒別符與BFD報(bào)文歸屬BFD會(huì)話位置信息之間的映射關(guān)系可以有多種表現(xiàn)形式,所以路由器根據(jù)鑒別符及該映射關(guān)系確定BFD報(bào)文歸屬BFD會(huì)話的位置信息可以通過(guò)多種方式來(lái)實(shí)現(xiàn)。在現(xiàn)有技術(shù)中常用的實(shí)現(xiàn)方式主要有以下三種1、建立一棵以鑒別符為KEY的搜索樹(shù),每次通過(guò)鑒別符搜索該搜索樹(shù),得到葉子節(jié)點(diǎn),根據(jù)葉子節(jié)點(diǎn)內(nèi)容找到對(duì)應(yīng)的BFD會(huì)話位置信息,即該BFD會(huì)話的Target_Blade和BFD_Index。
2、利用三態(tài)內(nèi)容尋址存儲(chǔ)器(TCAM)方式查找,找到對(duì)應(yīng)的BFD會(huì)話位置信息,即該BFD會(huì)話的Target_Blade和BFD_Index。
3、建立一個(gè)4G的靜態(tài)表,每個(gè)表項(xiàng)存放BFD會(huì)話屬性,然后利用鑒別符靜態(tài)索引該靜態(tài)表,找到對(duì)應(yīng)的BFD會(huì)話位置信息,即該BFD會(huì)話的Target_Blade和BFD_Index。
對(duì)于上述1和2兩種實(shí)現(xiàn)方式,無(wú)論確定BFD報(bào)文歸屬BFD會(huì)話位置信息的速度有多快,由于利用了樹(shù)資源或TCAM資源,都將占用和耗費(fèi)路由器大量寶貴的內(nèi)存資源,同時(shí)也將不可避免的大大損耗路由器的處理性能。對(duì)于上述實(shí)現(xiàn)方式3,至少需要占用路由器4G的內(nèi)存資源,對(duì)路由器處理性能的損耗也非常大。
除了上述三種方式以外,現(xiàn)有技術(shù)中路由器根據(jù)鑒別符及上述映射關(guān)系確定BFD報(bào)文歸屬BFD會(huì)話位置信息的實(shí)現(xiàn)方式還有很多種,這些實(shí)現(xiàn)方式都有一個(gè)共同之處,即鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間存在有一定的映射關(guān)系。路由器要確定BFD會(huì)話的位置信息Target_Blade和BFD_Index,必須根據(jù)鑒別符及上述映射關(guān)系才能夠?qū)崿F(xiàn)。
由于鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間映射關(guān)系的存在,路由器在接收到BFD報(bào)文以后,對(duì)接收的BFD報(bào)文進(jìn)行處理時(shí)必然要經(jīng)歷一個(gè)將鑒別符映射到BFD會(huì)話位置信息的過(guò)程,這樣必將大大降低路由器接收處理BFD報(bào)文的效率。
同時(shí),由于鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間映射關(guān)系的存在,路由器接收處理BFD報(bào)文時(shí)需要占用和耗費(fèi)自身大量寶貴的內(nèi)存資源,這樣對(duì)路由器的內(nèi)存提出了很高的要求,損耗了路由器的處理性能,大大提高了對(duì)路由器的系統(tǒng)損耗。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種分配BFD會(huì)話鑒別符的方法,以提高路由器接收處理BFD報(bào)文的效率,降低對(duì)路由器的系統(tǒng)損耗。
為達(dá)到上述目的,本發(fā)明提供了一種分配BFD會(huì)話鑒別符的方法,包括以下步驟A、確定雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的處理板號(hào)Target_Blade和BFD索引BFD_Index;B、構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的鑒別符分配給BFD會(huì)話。
該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,根據(jù)BFD報(bào)文所攜帶鑒別符中的Target_Blade和BFD_Index,識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
上述方案中,所述的步驟A包括根據(jù)業(yè)務(wù)板的屬性選擇一個(gè)設(shè)置有雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話存儲(chǔ)表的業(yè)務(wù)板,在該業(yè)務(wù)板的BFD會(huì)話存儲(chǔ)表中選擇一個(gè)空閑表項(xiàng),確定選擇的業(yè)務(wù)板的Target_Blade和空閑表項(xiàng)的BFD_Index為所述Target_Blade和BFD_Index,并將確定的Target_Blade和BFD_Index記錄到路由器的存儲(chǔ)單元中。
上述方案中,步驟B中所述的構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符包括根據(jù)確定的Target_Blade劃分BFD會(huì)話的鑒別符為兩個(gè)部分,在一部分填寫(xiě)所述的Target_Blade,在另一部分填寫(xiě)所述的BFD_Index。
上述方案中,與所述Target_Blade對(duì)應(yīng)的業(yè)務(wù)板最多能夠支持BFD會(huì)話的數(shù)目為m,所述根據(jù)確定的Target_Blade劃分BFD會(huì)話的鑒別符為兩個(gè)部分包括a、根據(jù)公式2n-1<m≤2n確定鑒別符中BFD_Index所占的比特位為n;b、根據(jù)BFD_Index所占的比特位n確定鑒別符中Target_Blade所占的比特位為(32-n)。
上述方案中,所述的在一部分填寫(xiě)記錄的Target_Blade,在另一部分填寫(xiě)記錄的BFD_Index包括在鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,在鑒別符的低(32-n)比特位填寫(xiě)Target_Blade。
上述方案中,所述的在一部分填寫(xiě)記錄的Target_Blade,在另一部分填寫(xiě)記錄的BFD_Index包括在鑒別符的高(32-n)填寫(xiě)Target_Blade,在鑒別符的低n比特位填寫(xiě)B(tài)FD_Index。
上述方案中,所述鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,低(32-n)比特位填寫(xiě)Target_Blade,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移(32-n)位獲取BFD_Index,將獲取的鑒別符先左移n位再右移n位獲取Target_Blade;根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
上述方案中,所述鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,低(32-n)比特位填寫(xiě)Target_Blade,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移(32-n)位獲取BFD_Index,根據(jù)公式Target_Blade=My_Disc&(2(32-n)-1)計(jì)算得到Target_Blade;根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
上述方案中,所述鑒別符的高(32-n)比特位填寫(xiě)Target_Blade,低n比特位填寫(xiě)B(tài)FD_Index,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移n位獲取Target_Blade,將獲取的鑒別符先左移(32-n)位再右移(32-n)位獲取BFD_Index;根據(jù)獲取的Target_Blade和BFD_Index識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
上述方案中,所述鑒別符的高(32-n)比特位填寫(xiě)Target_Blade,低n比特位填寫(xiě)B(tài)FD_Index,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移n位獲取Target_Blade,根據(jù)公式BFD_Index=My_Disc&(2n-1)計(jì)算得到BFD_Index;根據(jù)獲取的Target_Blade和BFD_Index識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
因此,本發(fā)明提供的這種分配BFD會(huì)話鑒別符的方法,通過(guò)構(gòu)造包含有BFD會(huì)話位置信息Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的包含有Target_Blade和BFD_Index的鑒別符分配給BFD會(huì)話,使路由器分配給BFD會(huì)話的鑒別符可以直接體現(xiàn)Target_Blade和BFD_Index。
利用本發(fā)明,由于路由器分配給BFD會(huì)話的鑒別符直接體現(xiàn)了Target_Blade和BFD_Index,在路由器接收到BFD報(bào)文以后,無(wú)需通過(guò)任何映射關(guān)系來(lái)查找和獲取Target_Blade和BFD_Index,直接根據(jù)鑒別符就可以獲取Target_Blade和BFD_Index,所以大大提高了路由器接收處理BFD報(bào)文的效率。同時(shí)由于路由器分配給BFD會(huì)話的鑒別符直接體現(xiàn)了Target_Blade和BFD_Index,鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間不必建立任何映射關(guān)系,節(jié)省了路由器的內(nèi)存資源,降低了對(duì)路由器內(nèi)存的要求,大大降低了對(duì)路由器的系統(tǒng)損耗。
圖1為BFD技術(shù)應(yīng)用環(huán)境示意圖;圖2為本發(fā)明分配BFD會(huì)話鑒別符總體技術(shù)方案的方法流程圖;圖3為本發(fā)明一個(gè)實(shí)施例中分配BFD會(huì)話鑒別符的方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的核心內(nèi)容是通過(guò)構(gòu)造包含有BFD會(huì)話位置信息Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的包含有Target_Blade和BFD_Index的鑒別符分配給BFD會(huì)話,使路由器分配給BFD會(huì)話的鑒別符可以直接體現(xiàn)Target_Blade和BFD_Index。
如圖2所示,圖2為本發(fā)明分配BFD會(huì)話鑒別符總體技術(shù)方案的方法流程圖,該方法包括以下步驟步驟201確定BFD會(huì)話的Target_Blade和BFD_Index;步驟202構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的鑒別符分配給BFD會(huì)話。
在獲知路由器為BFD會(huì)話分配的鑒別符以后,對(duì)方在發(fā)過(guò)來(lái)的BFD報(bào)文中將帶上該鑒別符。路由器接收到對(duì)方發(fā)送的BFD報(bào)文,根據(jù)BFD報(bào)文所攜帶鑒別符中包含的Target_Blade和BFD_Index,可以直接識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
在上述步驟201中,確定BFD會(huì)話的Target_Blade和BFD_Index的過(guò)程如下根據(jù)業(yè)務(wù)板的屬性選擇一個(gè)設(shè)置有雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話存儲(chǔ)表的業(yè)務(wù)板,在該業(yè)務(wù)板的BFD會(huì)話存儲(chǔ)表中選擇一個(gè)空閑表項(xiàng),確定選擇的業(yè)務(wù)板的Target_Blade和空閑表項(xiàng)的BFD_Index為所述Target_Blade和BFD_Index。
在業(yè)務(wù)板的屬性中一般包含有該業(yè)務(wù)板支持的業(yè)務(wù)類型,且在業(yè)務(wù)板上保存有與該業(yè)務(wù)板支持業(yè)務(wù)類型相對(duì)應(yīng)的信息。
如果業(yè)務(wù)板支持BFD業(yè)務(wù),在業(yè)務(wù)板上就保存有與BFD業(yè)務(wù)相對(duì)應(yīng)的BFD會(huì)話存儲(chǔ)表。在BFD會(huì)話存儲(chǔ)表中,至少包含Target_Blade、BFD_Index、收到BFD報(bào)文的時(shí)間、接收BFD報(bào)文的超時(shí)時(shí)間、檢測(cè)BFD報(bào)文的時(shí)間以及BFD會(huì)話所在鏈路信息等內(nèi)容。BFD會(huì)話存儲(chǔ)表中保存的BFD會(huì)話按照線性表進(jìn)行存儲(chǔ)和索引。
在業(yè)務(wù)板的BFD會(huì)話存儲(chǔ)表中選擇一個(gè)空閑表項(xiàng)是用于存放BFD會(huì)話的。在確定了Target_Blade和BFD_Index以后,路由器將把確定的Target_Blade和BFD_Index記錄到自身的存儲(chǔ)單元中。
在上述步驟202中,構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符的過(guò)程如下路由器根據(jù)確定的Target_Blade劃分BFD會(huì)話的鑒別符為兩個(gè)部分,在一部分填寫(xiě)所述的Target_Blade,在另一部分填寫(xiě)所述的BFD_Index。
在路由器劃分BFD會(huì)話的鑒別符為兩個(gè)部分時(shí),需要先確定鑒別符兩個(gè)部分各自在鑒別符中所占的比特位數(shù)。由于協(xié)議規(guī)定一個(gè)鑒別符所占的比特位數(shù)為32比特位,所以一旦確定了鑒別符兩個(gè)部分中一部分所占的比特位,另一部分所占的比特位也就相應(yīng)確定了。
由于一個(gè)業(yè)務(wù)板最多能夠支持BFD會(huì)話的數(shù)目是一定的,BFD_Index所占的比特位決定于業(yè)務(wù)板最多能夠支持BFD會(huì)話的數(shù)目,所以BFD_Index所占的比特位可以根據(jù)選擇的業(yè)務(wù)板來(lái)確定,其確定方法如下假設(shè)一個(gè)業(yè)務(wù)板最多能夠支持BFD會(huì)話的數(shù)目為m,鑒別符中的BFD_Index所占的比特位為n,m、n為正整數(shù),則根據(jù)公式2n-1<m≤2n即可確定鑒別符中BFD_Index所占比特位n。由于一個(gè)業(yè)務(wù)板能夠支持的BFD會(huì)話的數(shù)目在可預(yù)見(jiàn)的未來(lái)小于232個(gè),所以n應(yīng)小于32,即鑒別符中BFD_Index所占比特位n應(yīng)小于32。
確定了鑒別符(My_Disc)中BFD_Index所占比特位為n以后,鑒別符中Target_Blade所占比特位也就相應(yīng)確定為(32-n)。此時(shí),路由器可以按照如下兩個(gè)公式中的任意一個(gè)公式為BFD會(huì)話分配鑒別符My_Disc=BFD_Index<<(32-n)+Target_Blade,n為正整數(shù);My_Disc=Target_Blade<<n+BFD_Index,n為正整數(shù);如果路由器按照公式My_Disc=BFD_Index<<(32-n)+Target_Blade為BFD會(huì)話分配鑒別符,BFD_Index占用My_Disc的高n比特位,Target_Blade占用My_Disc的低(32-n)比特位,則路由器在鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,在鑒別符的低(32-n)比特位填寫(xiě)Target_Blade。
在路有器按照公式My_Disc=BFD_Index<<(32-n)+Target_Blade為BFD會(huì)話分配鑒別符以后,對(duì)方發(fā)送給路由器的關(guān)于該BFD會(huì)話的BFD報(bào)文就必須帶上該分配的鑒別符。路有器在接收到BFD報(bào)文以后,可以直接從BFD報(bào)文所攜帶的鑒別符中通過(guò)兩次移位操作直接解析出BFD會(huì)話的位置信息BFD_Index和Target_Blade,進(jìn)而根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。其中的移位操作是根據(jù)以下公式進(jìn)行的BFD_Index=My_Disc>>(32-n);Target_Blade=(My_Disc<<n)>>n;即路由器將獲取的鑒別符右移(32-n)位獲取BFD_Index,將獲取的鑒別符先左移n位再右移n位獲取Target_Blade。另外,路由器也可以根據(jù)公式Target_Blade=My_Disc&(2(32-n)-1)計(jì)算得到Target_Blade。路由器獲取BFD_Index和Target_Blade以后,就可以根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
如果路由器按照公式My_Disc=Target_Blade<<n+BFD_Index為BFD會(huì)話分配鑒別符,Target_Blade占用My_Disc的高(32-n)比特位,BFD_Index占用My_Disc的低n比特位,則路由器在鑒別符的高(32-n)填寫(xiě)Target_Blade,在鑒別符的低n比特位填寫(xiě)B(tài)FD_Index。
此時(shí),路由器為解析Target_Blade和BFD_Index所進(jìn)行的移位操作是按照以下公式進(jìn)行的Target_Blade=My_Disc>>n;BFD_Index=(My_Disc<<(32-n))>>(32-n);即路由器將獲取的鑒別符右移n位獲取Target_Blade,將獲取的鑒別符先左移(32-n)位再右移(32-n)位獲取BFD_Index。另外,路由器也可以根據(jù)公式BFD_Index=My_Disc&(2n-1)計(jì)算得到BFD_Index。路由器獲取BFD_Index和Target_Blade以后,就可以根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
為了能夠更加清楚地說(shuō)明本發(fā)明提供的這種為BFD會(huì)話分配鑒別符的方法,以下結(jié)合具體的實(shí)施例,并參照附圖對(duì)此進(jìn)行詳細(xì)說(shuō)明。
如圖3所示,圖3為本發(fā)明一個(gè)實(shí)施例中分配BFD會(huì)話鑒別符的方法流程圖。在本實(shí)施例中,路由器D為在鏈路DE上建立的BFD會(huì)話分配鑒別符。該方法包括以下步驟步驟301路由器D根據(jù)業(yè)務(wù)板的屬性選擇一個(gè)設(shè)置有雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話存儲(chǔ)表的業(yè)務(wù)板,假設(shè)該業(yè)務(wù)板的Target_Blade為5,該業(yè)務(wù)板最多能夠支持64K個(gè)BFD會(huì)話;路由器D在該業(yè)務(wù)板的BFD會(huì)話存儲(chǔ)表中選擇一個(gè)空閑表項(xiàng),假設(shè)該空閑表項(xiàng)的BFD_Index為6;確定選擇的業(yè)務(wù)板的Target_Blade和空閑表項(xiàng)的BFD_Index為所述Target_Blade和BFD_Index,并將確定的Target_Blade和BFD_Index記錄到路由器的存儲(chǔ)單元中。
步驟302由于路由器D最多能夠支持64K個(gè)BFD會(huì)話,根據(jù)215<64K<216,確定n=16,然后根據(jù)公式My_Disc=Target_Blade<<n+BFD_Index在鑒別符的高(32-n)=16位填寫(xiě)入Target_Blade的值5,在鑒別符的低n=16位填寫(xiě)入BFD_Index的值6,路由器D分配鑒別符0x00050006給該BFD會(huì)話。
在鑒別符0x00050006中,0x用于表明鑒別符是16位進(jìn)制的,0005中每個(gè)數(shù)字占用4個(gè)比特位,0005占用了鑒別符的高16比特位,0006占用了鑒別符的低16比特位。
在路由器D將鑒別符0x00050006分配給BFD會(huì)話以后,路由器E發(fā)送給路由器D的BFD報(bào)文中將攜帶有鑒別符0x00050006。路由器D接收到路由器E發(fā)送的BFD報(bào)文中以后獲取鑒別符0x00050006,并根據(jù)公式Target_Blade=My_Disc>>n將鑒別符右移n位獲取Target_Blade=5,根據(jù)公式BFD_Index=(My_Disc<<(32-n))>>(32-n)將鑒別符先左移(32-n)位再右移(32-n)位獲取BFD_Index=6。這樣路由器根據(jù)Target_Blade=5和BFD_Index=6就可以識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
在本發(fā)明所舉的這個(gè)實(shí)施例中,路由器D是根據(jù)公式My_Disc=Target_Blade<<n+BFD_Index來(lái)填寫(xiě)鑒別符的,在鑒別符的高16位填寫(xiě)Target_Blade,在鑒別符的低16位填寫(xiě)B(tài)FD_Index。在實(shí)際應(yīng)用中,路由器D也可以根據(jù)公式My_Disc=BFD_Index<<(32-n)+Target_Blade來(lái)填寫(xiě)鑒別符,在鑒別符的高16位填寫(xiě)B(tài)FD_Index,在鑒別符的低16位填寫(xiě)Target_Blade。這樣的技術(shù)方案與本發(fā)明的技術(shù)方案是一致的,這里就不再贅述。
從上面的實(shí)施例可以看出,本發(fā)明提供的這種分配BFD會(huì)話鑒別符的方法,通過(guò)構(gòu)造包含有BFD會(huì)話位置信息Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的包含有Target_Blade和BFD_Index的鑒別符分配給BFD會(huì)話,使路由器分配給BFD會(huì)話的鑒別符可以直接體現(xiàn)Target_Blade和BFD_Index。
利用本發(fā)明,由于路由器分配給BFD會(huì)話的鑒別符直接體現(xiàn)了Target_Blade和BFD_Index,在路由器接收到BFD報(bào)文以后,無(wú)需通過(guò)任何映射關(guān)系來(lái)查找和獲取Target_Blade和BFD_Index,直接根據(jù)鑒別符就可以獲取Target_Blade和BFD_Index,所以大大提高了路由器接收處理BFD報(bào)文的效率。同時(shí)由于路由器分配給BFD會(huì)話的鑒別符直接體現(xiàn)了Target_Blade和BFD_Index,鑒別符與BFD報(bào)文歸屬BFD會(huì)話的位置信息之間不必建立任何映射關(guān)系,節(jié)省了路由器的內(nèi)存資源,降低了對(duì)路由器內(nèi)存的要求,大大降低了對(duì)路由器的系統(tǒng)損耗。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種分配雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話鑒別符的方法,其特征在于,至少包括以下步驟A、確定雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話的處理板號(hào)Target_Blade和BFD索引BFD_Index;B、構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的鑒別符分配給BFD會(huì)話。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,根據(jù)BFD報(bào)文所攜帶鑒別符中的Target_Blade和BFD_Index,識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟A包括根據(jù)業(yè)務(wù)板的屬性選擇一個(gè)設(shè)置有雙向轉(zhuǎn)發(fā)檢測(cè)BFD會(huì)話存儲(chǔ)表的業(yè)務(wù)板,在該業(yè)務(wù)板的BFD會(huì)話存儲(chǔ)表中選擇一個(gè)空閑表項(xiàng),確定選擇的業(yè)務(wù)板的Target_Blade和空閑表項(xiàng)的BFD_Index為所述Target_Blade和BFD_Index,并將確定的Target_Blade和BFD_Index記錄到路由器的存儲(chǔ)單元中。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述的構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符包括根據(jù)確定的Target_Blade劃分BFD會(huì)話的鑒別符為兩個(gè)部分,在一部分填寫(xiě)所述的Target_Blade,在另一部分填寫(xiě)所述的BFD_Index。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,與所述Target_Blade對(duì)應(yīng)的業(yè)務(wù)板最多能夠支持BFD會(huì)話的數(shù)目為m,所述根據(jù)確定的Target_Blade劃分BFD會(huì)話的鑒別符為兩個(gè)部分包括a、根據(jù)公式2n-1<m≤2n確定鑒別符中BFD_Index所占的比特位為n;b、根據(jù)BFD_Index所占的比特位n確定鑒別符中Target_Blade所占的比特位為(32-n)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述的在一部分填寫(xiě)記錄的Target_Blade,在另一部分填寫(xiě)記錄的BFD_Index包括在鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,在鑒別符的低(32-n)比特位填寫(xiě)Target_Blade。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述的在一部分填寫(xiě)記錄的Target_Blade,在另一部分填寫(xiě)記錄的BFD_Index包括在鑒別符的高(32-n)填寫(xiě)Target_Blade,在鑒別符的低n比特位填寫(xiě)B(tài)FD_Index。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,低(32-n)比特位填寫(xiě)Target_Blade,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移(32-n)位獲取BFD_Index,將獲取的鑒別符先左移n位再右移n位獲取Target_Blade;根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述鑒別符的高n比特位填寫(xiě)B(tài)FD_Index,低(32-n)比特位填寫(xiě)Target_Blade,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移(32-n)位獲取BFD_Index,根據(jù)公式Target_Blade=My_Disc&(2(32-n)-1)計(jì)算得到Target_Blade;根據(jù)獲取的BFD_Index和Target_Blade識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
10.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述鑒別符的高(32-n)比特位填寫(xiě)Target_Blade,低n比特位填寫(xiě)B(tài)FD_Index,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移n位獲取Target_Blade,將獲取的鑒別符先左移(32-n)位再右移(32-n)位獲取BFD_Index;根據(jù)獲取的Target_Blade和BFD_Index識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
11.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述鑒別符的高(32-n)比特位填寫(xiě)Target_Blade,低n比特位填寫(xiě)B(tài)FD_Index,該方法進(jìn)一步包括路由器接收到BFD報(bào)文以后,獲取BFD報(bào)文中攜帶的所述為BFD會(huì)話分配的鑒別符;將獲取的鑒別符右移n位獲取Target_Blade,根據(jù)公式BFD_Index=My_Disc&(2n-1)計(jì)算得到BFD_Index;根據(jù)獲取的Target_Blade和BFD_Index識(shí)別該BFD報(bào)文歸屬的BFD會(huì)話。
全文摘要
本發(fā)明公開(kāi)了一種分配BFD會(huì)話鑒別符的方法,至少包括以下步驟A.確定BFD會(huì)話的Target_Blade和BFD_Index;B.構(gòu)造包含有所述Target_Blade和BFD_Index的鑒別符,并將構(gòu)造的鑒別符分配給BFD會(huì)話。利用本發(fā)明,由于路由器分配給BFD會(huì)話的鑒別符直接體現(xiàn)了Target_Blade和BFD_Index,路由器無(wú)需通過(guò)任何映射關(guān)系來(lái)查找和獲取Target_Blade和BFD_Index,大大提高了路由器接收處理BFD報(bào)文的效率。鑒別符與Target_Blade和BFD_Index之間不必建立任何映射關(guān)系,節(jié)省了路由器的內(nèi)存資源,大大降低了對(duì)路由器的系統(tǒng)損耗。
文檔編號(hào)H04L12/56GK1905516SQ20051008735
公開(kāi)日2007年1月31日 申請(qǐng)日期2005年7月28日 優(yōu)先權(quán)日2005年7月28日
發(fā)明者譚學(xué)飛 申請(qǐng)人:華為技術(shù)有限公司