亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種BFD建鏈的方法及其裝置、路由器與流程

文檔序號:12375661閱讀:464來源:國知局
一種BFD建鏈的方法及其裝置、路由器與流程

本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,更具體地涉及到一種雙向轉(zhuǎn)發(fā)檢測(Bidirectional Forwarding Detection,簡稱BFD)建鏈的方法及其裝置、路由器。



背景技術(shù):

現(xiàn)代社會,科技的不斷進步,越來越多實時的視頻與語音業(yè)務(wù)運行在IP網(wǎng)絡(luò)上,網(wǎng)絡(luò)設(shè)備一個越來越重要的指標(biāo)是,要求對相鄰系統(tǒng)之間通信故障進行快速檢測,這樣在出現(xiàn)故障時可以更快的建立起替代通道或倒換到其他鏈路,從而保證網(wǎng)絡(luò)通訊的穩(wěn)定性。

雙向轉(zhuǎn)發(fā)檢測(BFD)協(xié)議的出現(xiàn),為通信故障的快速檢測提出了一種解決方案。BFD能夠在系統(tǒng)之間的任何類型通道上進行故障檢測,這些通道包括直接的物理鏈路、虛電路、隧道、MPLS(Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)LSP(Label Switched Path,標(biāo)簽交換路徑)、多跳路由通道,以及非直接的通道。BFD實現(xiàn)故障檢測簡單、單一,BFD通過三次握手機制建鏈后,通過不停的發(fā)送快速檢測報文(毫秒級)到對方來,能提供鏈路來回兩個方向的連通性檢測。BFD把快速檢測到的轉(zhuǎn)發(fā)路徑上的故障通知給上層協(xié)議棧,使上層協(xié)議棧能夠快速收斂,并觸發(fā)業(yè)務(wù)流量的電信級(50毫秒內(nèi))快速切換,從而減少鏈路的丟包,保證了通訊的連續(xù)穩(wěn)定。

BFD在維護網(wǎng)絡(luò)穩(wěn)定性中起著很大的作用,但任何事物都有正反兩面,BFD自身的穩(wěn)定性也關(guān)系著網(wǎng)絡(luò)的穩(wěn)定性,在當(dāng)今復(fù)雜的通訊網(wǎng)絡(luò)中,非鏈路問題的BFD的震蕩往往會導(dǎo)致網(wǎng)絡(luò)通信鏈路的不停切換,導(dǎo)致丟包,網(wǎng)絡(luò)通訊失去控制,造成比較嚴(yán)重的后果。尤其是在網(wǎng)絡(luò)設(shè)備配置大容量的BFD的時候,協(xié)議棧上BFD已經(jīng)UP(上線),但底層芯片還沒有準(zhǔn)備好未能發(fā)送快包,雖然鏈路本身沒有故障,但這個時候收包芯片不能識別收到的!P&!F 的報文是協(xié)議棧發(fā)送的up報文,還是發(fā)包芯片發(fā)送的?;顖笪模绻彀€沒有發(fā)送,收包芯片被協(xié)議棧的up報文觸發(fā)?;?,這時候BFD建鏈成功,但BFD其實還沒有協(xié)商好,檢測周期之后,BFD收不到!P&!F報文,就會認(rèn)定鏈路故障而報Down(斷線),從而導(dǎo)致鏈路切換,BFD震蕩,網(wǎng)絡(luò)會出現(xiàn)很嚴(yán)重的故障。



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

本發(fā)明要解決的技術(shù)問題是提供一種BFD建鏈的方法及其裝置、路由器,以確保BFD建鏈的穩(wěn)定性。

為了解決上述技術(shù)問題,本發(fā)明提供了一種雙向轉(zhuǎn)發(fā)檢測BFD建鏈的方法,包括:

將BFD狀態(tài)配置為上線狀態(tài),開始計時;

接收到報文時,若超出指定時間,則BFD建鏈?zhǔn)。粑闯鏊鲋付〞r間,則檢測接收到的報文,若所述報文為P置位建鏈報文或F置位建鏈報文,則進行檢測周期協(xié)商;若所述報文為P位和F位都沒有置位且攜帶上線狀態(tài)的報文,則判斷檢測周期協(xié)商是否成功,若成功,則對所述P位和F位都沒有置位且攜帶上線狀態(tài)的報文進行?;?,BFD建鏈成功,若未成功,對所述P位和F位都沒有置位且攜帶上線狀態(tài)的報文不作處理。

進一步地,上述方法還具有下面特點:所述將BFD狀態(tài)配置為上線狀態(tài),包括:

發(fā)送攜帶下線狀態(tài)的建鏈報文;

接收到對端發(fā)送的攜帶下線狀態(tài)的建鏈報文后,將本地狀態(tài)切換到初始狀態(tài),發(fā)送攜帶初始狀態(tài)的建鏈報文;

接收到對端發(fā)送的攜帶初始狀態(tài)的建鏈報文后,將本地狀態(tài)切換到上線狀態(tài)。

進一步地,上述方法還具有下面特點:所述將BFD狀態(tài)配置為上線狀態(tài)后,還包括:

向?qū)Χ税l(fā)送P位和F位都沒有置位且攜帶上線狀態(tài)的報文。

進一步地,上述方法還具有下面特點:所述進行檢測周期協(xié)商包括:

接收到對端發(fā)送的P置位建鏈報文后,向?qū)Χ税l(fā)送F置位建鏈報文與對端進行檢測周期協(xié)商;

接收到對端發(fā)送的F置位建鏈報文后,通知BFD更新本端的檢測周期。

為了解決上述問題,本發(fā)明還提供了一種雙向轉(zhuǎn)發(fā)檢測BFD建鏈的裝置,其中,包括:

協(xié)議模塊,用于將BFD狀態(tài)配置為上線狀態(tài),開始計時;用于接收到P置位建鏈報文或F置位建鏈報文進行檢測周期協(xié)商,接收到P位和F位都沒有置位且攜帶上線狀態(tài)的報文則不做處理;

收包模塊,用于接收到報文時,若超出指定時間,則BFD建鏈?zhǔn)?,若未超出所述指定時間,則檢測接收到的報文,若所述報文為P置位建鏈報文或F置位建鏈報文,則將所述建鏈報文轉(zhuǎn)發(fā)給所述協(xié)議模塊;若所述報文為P位和F位都沒有置位且攜帶上線狀態(tài)的報文,則判斷檢測周期協(xié)商是否成功,若成功,則將所述報文轉(zhuǎn)發(fā)給?;钅K,若未成功,則將所述報文轉(zhuǎn)發(fā)給所述協(xié)議模塊;

所述?;钅K,用于對接收到的P位和F位都沒有置位且攜帶上線狀態(tài)的報文進行?;?,BFD建鏈成功。

進一步地,上述裝置還具有下面特點:所述協(xié)議模塊,將BFD狀態(tài)配置為上線狀態(tài)包括:發(fā)送攜帶下線狀態(tài)的建鏈報文;接收到對端發(fā)送的攜帶下線狀態(tài)的建鏈報文后,將本地狀態(tài)切換到初始狀態(tài),發(fā)送攜帶初始狀態(tài)的建鏈報文;接收到對端發(fā)送的攜帶初始狀態(tài)的建鏈報文后,將本地狀態(tài)切換到上線狀態(tài)。

進一步地,上述裝置還具有下面特點:還包括發(fā)包模塊,

所述協(xié)議模塊,將BFD狀態(tài)配置為上線狀態(tài)后通知所述發(fā)包模塊,

所述發(fā)包模塊,用于向?qū)Χ税l(fā)送P位和F位都沒有置位且攜帶上線狀態(tài)的報文。

進一步地,上述裝置還具有下面特點:所述協(xié)議模塊,進行檢測周期協(xié)商包括:接收到對端發(fā)送的P置位建鏈報文后,向?qū)Χ税l(fā)送F置位建鏈報文與對端進行檢測周期協(xié)商;接收到對端發(fā)送的F置位建鏈報文后,通知BFD更新本端的檢測周期。

為了解決上述問題,本發(fā)明還提供了一種路由器,其中,包括上述的BFD建鏈的裝置。

綜上,本發(fā)明提供一種BFD建鏈的方法及其裝置、路由器,利用首包觸發(fā)BFD建鏈,實現(xiàn)簡單,可操作性強,不需要額外的報文及額外的流量,可有效避免BFD是被協(xié)議發(fā)送的!P&!F協(xié)議報文觸發(fā)建鏈,從而震蕩導(dǎo)致的鏈路切換故障。

附圖說明

此處說明的附圖用來提供對本發(fā)明的進一步理解,在附圖中:

圖1為現(xiàn)有技術(shù)的BFD類型的示意圖;

圖2為現(xiàn)有技術(shù)的兩臺設(shè)備BFD建鏈的示意圖;

圖3為本發(fā)明實施例的BFD建鏈的裝置的示意圖

圖4為本發(fā)明實施例的BFD建鏈的方法的流程圖。

具體實施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。

圖3為本發(fā)明實施例的BFD建鏈的裝置的示意圖,如圖3所示,本實施例的裝置包括:協(xié)議模塊、?;钅K、收包模塊和發(fā)包模塊,其中,

協(xié)議模塊,用于將BFD狀態(tài)配置為上線狀態(tài),開始計時;用于接收到P置位建鏈報文或F置位建鏈報文進行檢測周期協(xié)商,接收到P位和F位都沒 有置位且攜帶上線狀態(tài)的報文則不做處理;

收包模塊,用于接收到報文時,若超出指定時間,則BFD建鏈?zhǔn)?,若未超出指定時間,則檢測接收到的報文,若所述報文為P置位建鏈報文或F置位建鏈報文,則將所述建鏈報文轉(zhuǎn)發(fā)給所述協(xié)議模塊;若所述報文為P位和F位都沒有置位且攜帶上線狀態(tài)的報文,則判斷檢測周期協(xié)商是否成功,若成功,則將所述P位和F位都沒有置位且攜帶上線狀態(tài)的報文轉(zhuǎn)發(fā)給保活模塊,若未成功,則將所述P位和F位都沒有置位且攜帶上線狀態(tài)的報文轉(zhuǎn)發(fā)給所述協(xié)議模塊;

所述?;钅K,用于對接收到的P位和F位都沒有置位且攜帶上線狀態(tài)的報文進行?;?,BFD建鏈成功。

在一優(yōu)選實施例中,所述協(xié)議模塊,將BFD狀態(tài)配置為上線狀態(tài)包括:發(fā)送攜帶下線狀態(tài)的建鏈報文;接收到對端發(fā)送的攜帶下線狀態(tài)的建鏈報文后,將本地狀態(tài)切換到初始狀態(tài),發(fā)送攜帶初始狀態(tài)的建鏈報文;接收到對端發(fā)送的攜帶初始狀態(tài)的建鏈報文后,將本地狀態(tài)切換到上線狀態(tài)。

在一優(yōu)選實施例中,所述裝置還包括:還包括發(fā)包模塊,

所述協(xié)議模塊,將BFD狀態(tài)配置為上線狀態(tài)后通知所述發(fā)包模塊,

所述發(fā)包模塊,用于向?qū)Χ税l(fā)送P位和F位都沒有置位且攜帶上線狀態(tài)的報文。

其中,所述協(xié)議模塊,進行檢測周期協(xié)商可以包括:接收到對端發(fā)送的P置位建鏈報文后,向?qū)Χ税l(fā)送F置位建鏈報文與對端進行檢測周期協(xié)商;接收到對端發(fā)送的F置位建鏈報文后,通知BFD更新本端的檢測周期。

本發(fā)明實施例提供一種BFD建鏈的方法,主要是通過?;钍装鼇碛|發(fā)BFD建鏈。本實施例的BFD建鏈的流程是由協(xié)議棧(相當(dāng)于上文的協(xié)議模塊)、發(fā)包芯片(相當(dāng)于上文的發(fā)包模塊)、收包芯片(相當(dāng)于上文的收包模塊)、?;钚酒?相當(dāng)于上文的?;钅K)的共同作用完成的。協(xié)議棧根據(jù)進行三次握手對BFD進行建鏈和檢查周期協(xié)商;發(fā)包芯片用于發(fā)保活快包;收包芯片用于接受協(xié)議棧和發(fā)包芯片轉(zhuǎn)發(fā)的包,并根據(jù)需要發(fā)送給協(xié)議?;虮;钚酒?;?;钚酒糜诒;頑FD。

協(xié)議棧通過三次握手過程,配置BFD的鏈路兩端狀態(tài)都是up狀態(tài),開啟計時器(例如5s),收包芯片檢測收到的報文,收到P/F報文(P置位報文或F置位報文)通知協(xié)議棧進行檢測周期的協(xié)商。只有等待兩端的P/F協(xié)商完成之后,當(dāng)發(fā)現(xiàn)第一個!P&!F的包時,才將這個包識別為?;羁彀?,開始將報文轉(zhuǎn)發(fā)到保活芯片進行?;?。

如果在會話兩端的檢測周期協(xié)商結(jié)束前收到!P&!F報文,只將!P&!F報文發(fā)送給協(xié)議棧,并等待P/F協(xié)商結(jié)束;如果P/F協(xié)商完成后,收不到!P&!F的快包,計時器到5s后,BFD直接建鏈?zhǔn) ?/p>

!P&!F報文是P標(biāo)志位和F標(biāo)志位都沒有置的攜帶狀態(tài)為up的BFD報文,在BFD建鏈過程中,有兩種!P&!F報文,一種是協(xié)議棧發(fā)送的攜帶up狀態(tài)報文,另一種是發(fā)包芯片發(fā)送的?;顖笪?。

圖4為本發(fā)明實施例的BFD建鏈的流程圖,如圖4所示,包含以下步驟:

S301:在網(wǎng)絡(luò)兩端Router(路由器)A和Router B上配置大容量的BFD,BFD類型可以跨跳,也可以直連;

S302:協(xié)議棧通過三次握手過程,將兩端的BFD狀態(tài)從Down狀態(tài)變?yōu)閁p狀態(tài);具體過程如圖2所示:

Router A和Router B啟動BFD,各自初始狀態(tài)為down,發(fā)送攜帶狀態(tài)為down的BFD報文;Router A和Router B收到狀態(tài)為down的BFD報文,本地狀態(tài)切換至init,發(fā)送攜帶狀態(tài)為init的BFD報文;Router A和Router B收到狀態(tài)為init的BFD報文,本地狀態(tài)切換至up。

可以根據(jù)需要在網(wǎng)絡(luò)兩端配置例如1000個BFD檢測,查看會話1兩端的狀態(tài),兩端協(xié)議棧互發(fā)攜帶up狀態(tài)的建鏈報文,會話兩端的狀態(tài)都up。

S303:Router A和Router B各自的?;钚酒_啟5s計時器,5s后BFD如果未能成功建立,則建鏈?zhǔn)。?/p>

計時器可以也可以由其他芯片比如協(xié)議棧開啟。

S304:Router A和Router B互發(fā)攜帶狀態(tài)為up的報文,Router A和Router B的協(xié)議棧向?qū)Χ税l(fā)送P置位建鏈報文;

S305:Router A和Router B的收包芯片檢測收到的報文并進行分析;

收包芯片在建鏈過程中會收到兩種類型的報文:協(xié)議棧發(fā)送的建鏈報文和發(fā)包芯片發(fā)送的報文。協(xié)議棧發(fā)送的建鏈報文有:攜帶Down狀態(tài)的建鏈報文、攜帶INIT(初始)狀態(tài)的建鏈報文、攜帶UP狀態(tài)的建鏈報文、P置位的建鏈報文和F置位的建鏈報文,其中,攜帶UP狀態(tài)的建鏈報文是!P&!F的報文;發(fā)包芯片發(fā)送的報文是的!P&!F的?;顖笪模糜诒;钚酒谋;?。

S306:Router B收包芯片收到報文,判斷計時器時間,是否有超出5s,如超出,則轉(zhuǎn)步驟S307,如未超出,則轉(zhuǎn)步驟S308;

S307:計時器超出5s,直接建鏈?zhǔn)。?/p>

S308:Router B收包芯片檢測收到的報文,判斷是否!P&!F報文,如是,則轉(zhuǎn)步驟S309;如不是,則轉(zhuǎn)步驟S310;

S309:收包芯片收到的報文是!P&!F報文,需要判斷協(xié)議棧協(xié)商檢測周期是否已成功,如未成功,則轉(zhuǎn)步驟S11;如成功,則轉(zhuǎn)步驟S12;

S310:收包芯片收到的是P置位報文或F置位報文,轉(zhuǎn)步驟S11;

S311:通知協(xié)議棧處理,協(xié)議棧收到P/F進行檢測周期的協(xié)商,對!P&!F報文不做處理,然后轉(zhuǎn)向步驟S305;

協(xié)議棧收到P/F報文進行檢測周期的協(xié)商具體如下:

Router B收包芯片收到的是Router A發(fā)送過來的P置位的協(xié)商報文,則將通知Router B協(xié)議棧,Router B協(xié)議棧向Router A發(fā)送F置位的協(xié)商報文,與Router A進行檢測周期的協(xié)商;Router A收包芯片收到Router B發(fā)送的F置位協(xié)商報文,則將通知Router A協(xié)議棧,Router A協(xié)議棧通知BFD更新本端的檢測周期;RouterA協(xié)商OK;

Router A收包芯片收到Router B發(fā)送過來的P置位的協(xié)商報文,則將通知Router A協(xié)議棧,Router A協(xié)議棧向Router B發(fā)送F置位的協(xié)商報文,與Router B進行檢測周期的協(xié)商;Router B收包芯片收到Router A發(fā)送的F置位協(xié)商報文,則將通知Router B協(xié)議棧,Router B協(xié)議棧通知BFD更新本端的檢測周期;Router B協(xié)商OK;

Router A和Router B協(xié)議棧檢測周期協(xié)商完成。兩端的收包芯片繼續(xù)檢測收到的報文,直到收到第一個!P&!F的BFD報文;

S312:Router A和Router B協(xié)議棧檢測周期協(xié)商成功,通知本端更新檢測周期;

S313:Router A和Router B協(xié)議棧檢測周期協(xié)商都成功,收包芯片將收到的!P&!F檢測快包轉(zhuǎn)發(fā)到?;钚酒?;

S314:保活芯片使用收到的!P&!F檢測快包進行?;睿?/p>

S315:BFD成功建鏈,開始檢測鏈路的連通性。

BFD開始正常檢測,當(dāng)檢測周期內(nèi)收不到對端發(fā)送的快包,就判斷其中間的鏈路出現(xiàn)故障,從而向協(xié)議棧通知報down進行,使協(xié)議棧能夠快速收斂切換,保證網(wǎng)絡(luò)的連通穩(wěn)定。

如果在5s的時間內(nèi)P/F協(xié)商不成功,或P/F協(xié)商成功后一直沒有收到!P&!F的快包報文,BFD判斷鏈路有故障,BFD建鏈?zhǔn) ?/p>

綜上所述,本發(fā)明實施例的方法提出利用首包觸發(fā)BFD建鏈,實現(xiàn)簡單,可操作性強,不需要額外的報文及額外的流量。因此,本發(fā)明適用于一種典型場景:在配置大容量BFD的設(shè)備上,大量報文的同時下發(fā),由于底層硬件的性能的限制,協(xié)議棧BFD已經(jīng)UP,收包芯片不能識別!P&!F報文是否是保活報文,在這種情況下,設(shè)置只有BFD兩端的P/F協(xié)商都完成并且在協(xié)商完成后收到第一個!P&!F報文是?;顖笪?,觸發(fā)這個報文,BFD才會成功建鏈,通過這種方式,可有效避免BFD是被協(xié)議發(fā)送的!P&!F協(xié)議報文觸發(fā)建鏈,從而震蕩導(dǎo)致的鏈路切換故障。

本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任 何特定形式的硬件和軟件的結(jié)合。

以上僅為本發(fā)明的優(yōu)選實施例,當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1