專利名稱:基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IP網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行 故障檢測(cè)與鏈路恢復(fù)的方法。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,為了保障數(shù)據(jù)的傳送質(zhì)量,對(duì)網(wǎng)絡(luò)設(shè)備的要求 越來越高,要求相鄰系統(tǒng)間的通信故障能夠得到快速檢測(cè),這樣當(dāng)故障出現(xiàn)時(shí) 可以更快地建立備用鏈路或倒換到其它鏈路。但是有很多硬件和軟件無法提供
這樣的功能。目前常用網(wǎng)絡(luò)檢測(cè)方法,是利用Hello (握手)機(jī)制實(shí)現(xiàn),尤其 在路由協(xié)議中,但其4僉測(cè)時(shí)間 一般都會(huì)超過1秒。
為了在故障出現(xiàn)時(shí)能快速發(fā)現(xiàn)并切換到其它鏈路,BFD ( Bidirectional Forwarding Detection,雙向轉(zhuǎn)發(fā)才企測(cè))協(xié)議作為 一種快速4企測(cè)機(jī)制,應(yīng)運(yùn)而生。 正是基于轉(zhuǎn)發(fā)層面的快速故障檢測(cè)…BFD協(xié)議的出現(xiàn),為解決上述問題提供 了一種方便的解決方案,BFD協(xié)議可以在通信系統(tǒng)間的任何通道間進(jìn)行故障 檢測(cè)。它可以用于檢測(cè)以太網(wǎng)、MPLS (多協(xié)議標(biāo)記交換)路徑、普通路由封 裝以及IPSec (IP網(wǎng)絡(luò)安全協(xié)議)隧道等在內(nèi)的多種類型的傳輸正確性。
BFD協(xié)議的目標(biāo)是在相鄰路由設(shè)備之間的路徑上,提供一種低開銷、短 檢測(cè)周期的失效檢測(cè)機(jī)制。當(dāng)BFD會(huì)話建立后,BFD會(huì)話的雙方在使能的鏈 路上定期向?qū)Ψ桨l(fā)送BFD控制報(bào)文,同時(shí)也在該鏈路上定期的檢測(cè)對(duì)方發(fā)送 的BFD控制報(bào)文,如果在足夠長的時(shí)間內(nèi)某一方收不到對(duì)方發(fā)送的BFD控制 報(bào)文,就可以確定該會(huì)話方到其會(huì)話鄰居間的雙向路徑出現(xiàn)了故障。
BFD控制報(bào)文可采用UDP (用戶數(shù)據(jù)報(bào)協(xié)議)來承載,采用UDP的目的 端口為3784 (單跳;f企測(cè))或4784 (多跳;險(xiǎn)測(cè))來識(shí)別BFD控制^JL,源端口 為49252-655365。
如圖1所示為現(xiàn)有技術(shù)中應(yīng)用BFD協(xié)議進(jìn)行路由設(shè)備的故障檢測(cè)示意圖, 以draft-ietf-bfd-base-06中的規(guī)定為例,BFD協(xié)議的工作步驟如下
步驟l、創(chuàng)建BFD會(huì)話的初始,BFD會(huì)話處于DOWN狀態(tài),鏈路一端發(fā) 送BFD控制報(bào)文到對(duì)端;
步驟2、BFD會(huì)話處于DOWN狀態(tài)下,所述鏈路一端接收對(duì)端發(fā)來的BFD 控制報(bào)文,BFD會(huì)話狀態(tài)切換為INIT;
步驟3、 BFD會(huì)話處于INIT狀態(tài)下,所述鏈路一端收到對(duì)端發(fā)送的BFD 控制報(bào)文后,BFD會(huì)話狀態(tài)切換為UP;
步驟4、 BFD會(huì)話處于UP狀態(tài)后,鏈路雙方進(jìn)行BFD會(huì)話參數(shù)的協(xié)商, 對(duì)雙方;f企測(cè)/發(fā)送時(shí)間間隔進(jìn)行協(xié)商,按照協(xié)商好的時(shí)間進(jìn)行BFD控制報(bào)文的 收發(fā);
步驟5、當(dāng)處于UP狀態(tài)下的BFD會(huì)話,鏈路一端在檢測(cè)時(shí)長內(nèi)沒有收到 對(duì)端的BFD控制報(bào)文,則檢測(cè)到鏈路出現(xiàn)故障,BFD會(huì)話狀態(tài)切換為DOWN, 并通知被服務(wù)的上層協(xié)議。
目前,BFD協(xié)議為鏈路故障檢測(cè)提供了兩種模式
一、 Asynchronous (異步)模式在Asynchronous才莫式下,路由設(shè)備(路 由器或路由交換機(jī))之間依靠相互周期地發(fā)送BFD控制報(bào)文確認(rèn)系統(tǒng)的連通 性,如果在檢測(cè)時(shí)長內(nèi)沒有收到對(duì)端路由設(shè)備發(fā)送的BFD控制報(bào)文,則認(rèn)為 路由設(shè)備之間的鏈路出現(xiàn)故障。
二、 Demand (查詢)模式在Demand模式下,路由設(shè)備之間的會(huì)話一 旦建立好后,立即停止發(fā)送BFD控制報(bào)文,當(dāng)某個(gè)路由設(shè)備需要顯式驗(yàn)證連 通性時(shí),發(fā)送一個(gè)較短系列的BFD控制報(bào)文,若在規(guī)定的檢測(cè)時(shí)長內(nèi)沒有收 到對(duì)端返回的BFD控制報(bào)文,則認(rèn)為鏈路出現(xiàn)故障。
從上面可以看出,在Asynchronous模式下,BFD檢測(cè)的檢測(cè)時(shí)長取決于 路由設(shè)備雙方配置的BFD檢測(cè)參數(shù), 一般可以精確到毫秒級(jí)。此外,BFD控 制報(bào)文的發(fā)送/接收間隔可以利用控制報(bào)文本身信息實(shí)時(shí)、動(dòng)態(tài)變更,并可以 根據(jù)應(yīng)用層需求進(jìn)行設(shè)置。
目前,有比較多關(guān)于BFD應(yīng)用的Draft (草案)以及具體實(shí)現(xiàn),如BFD 在單跳、多跳檢測(cè)中的應(yīng)用、BFD在MPLS檢測(cè)中應(yīng)用等,但目前這些關(guān)于 BFD的草案中并沒有對(duì)可以建立BFD會(huì)話的介質(zhì)或協(xié)議進(jìn)行限制,因而對(duì)上 述具體應(yīng)用場(chǎng)景,若要使用BFD協(xié)議來進(jìn)行轉(zhuǎn)發(fā)層面的故障檢測(cè),則可以根 據(jù)需要進(jìn)行相應(yīng)的定義與擴(kuò)展。
在實(shí)際網(wǎng)絡(luò)配置環(huán)境中,用戶可能會(huì)使用較多的靜態(tài)策略配置來代替動(dòng)態(tài) 路由配置功能,例如使用策略路由來提供有差別的轉(zhuǎn)發(fā)服務(wù),基于策略的路由 為網(wǎng)絡(luò)管理者提供了比傳統(tǒng)路由協(xié)議對(duì)報(bào)文的轉(zhuǎn)發(fā)和存儲(chǔ)更強(qiáng)的控制能力。
但現(xiàn)有對(duì)基于策略路由配置的下一跳(路由設(shè)備)的有效性檢測(cè), 一般采 用定時(shí)探測(cè)的方法,定時(shí)檢測(cè)出可用的下一跳與出接口,由于現(xiàn)有的對(duì)策略路
利用接口狀態(tài)變化進(jìn)行通知的檢測(cè)方法,在與下一跳中間連接交換設(shè)備后,則 無法檢測(cè)出與下一跳的連通性,而且上述兩種檢測(cè)方法在進(jìn)行定時(shí)檢測(cè)時(shí),檢 測(cè)的精度僅可以精確到秒級(jí),無法對(duì)策略路由配置的下一跳的故障實(shí)現(xiàn)快速 (毫秒級(jí))檢測(cè)和恢復(fù)。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)的 方法,用以克服現(xiàn)有技術(shù)中無法針對(duì)策略路由配置的下一跳的故障實(shí)現(xiàn)快速檢 測(cè)和恢復(fù)的問題。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明具體是這樣實(shí)現(xiàn)的
基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,包括如下步驟
步驟1,配置策略路由的下一跳與BFD (雙向轉(zhuǎn)發(fā)檢測(cè))會(huì)話的聯(lián)動(dòng); 步驟2,在路由設(shè)備接口下配置BFD檢測(cè)參數(shù);
步驟3,建立BFD會(huì)話,BFD會(huì)話UP后,會(huì)話雙方進(jìn)行BFD檢測(cè)參數(shù) 的協(xié)商,IPFRR的主備路由生成;
步驟4,轉(zhuǎn)發(fā)層面進(jìn)行BFD檢測(cè),檢測(cè)到鏈路超時(shí)后,轉(zhuǎn)發(fā)層面BFD會(huì) 話DOWN;
步驟5,轉(zhuǎn)發(fā)層面根據(jù)策略路由配置進(jìn)行IP FRR切換,切換到備份路由 上,并通知策略路由應(yīng)用層面。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,還包括如下步
驟
步驟6,根據(jù)應(yīng)用需求選擇會(huì)話刪除或是繼續(xù)檢測(cè),若是選擇繼續(xù)檢測(cè), 則繼續(xù)設(shè)置檢測(cè)時(shí)長,進(jìn)行BFD檢測(cè),當(dāng)檢測(cè)到鏈路恢復(fù)后,轉(zhuǎn)發(fā)層面則切 換回原主路由上,實(shí)現(xiàn)BFD會(huì)話的狀態(tài)重新UP,通知到策略路由應(yīng)用層面。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,所述步驟1具體 是這樣實(shí)現(xiàn)的
步驟11,在與接入網(wǎng)相連的路由設(shè)備一側(cè)配置策略路由;
步驟12,設(shè)定多個(gè)優(yōu)先級(jí)不同的下一跳;
步驟13,需要生成主備關(guān)系的下一跳在配置時(shí)與BFD會(huì)話關(guān)聯(lián)。 所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,所述步驟2中的
BFD檢測(cè)參數(shù),是指BFD檢測(cè)報(bào)文的發(fā)送時(shí)間或接收時(shí)間間隔;
所述時(shí)間間隔的取值的配置范圍,大于等于10ms且小于999ms。 所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,所述步驟3中 在建立BFD會(huì)話前,檢測(cè)是否已有相同鄰居的BFD會(huì)話,若有,且BFD
會(huì)話的狀態(tài)為UP,則轉(zhuǎn)入步驟4;否則,進(jìn)行BFD會(huì)話的建立,然后轉(zhuǎn)入步驟4。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,所述進(jìn)行BFD 會(huì)話的建立,具體是這樣實(shí)現(xiàn)的
步驟31,已配置的策略路由的下一跳與BFD會(huì)話關(guān)聯(lián),所述BFD會(huì)話 處于DOWN狀態(tài);
步驟32,鏈路一端發(fā)送BFD控制報(bào)文到對(duì)端,通過在接口下的配置命令 發(fā)起B(yǎng)FD會(huì)話的建立;
步驟33,所述鏈路一端收到對(duì)端返回的BFD控制報(bào)文后,根據(jù)報(bào)文中的 Your Discriminator字段匹配到相應(yīng)的BFD會(huì)話并重新設(shè)置鏈路檢測(cè)定時(shí)器。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,所述BFD會(huì)話 同時(shí)支持基于策略路由配置的BFD檢測(cè)和動(dòng)態(tài)路由協(xié)議,或支持相同鄰居對(duì) 的BFD4全測(cè)。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,在檢測(cè)到BFD 會(huì)話DOWN后,設(shè)置一恢復(fù)檢測(cè)時(shí)長,若恢復(fù)檢測(cè)時(shí)長超時(shí)后,BFD會(huì)話繼 續(xù)進(jìn)行一全測(cè)。
所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法中,所述恢復(fù)檢測(cè) 時(shí)長根據(jù)出現(xiàn)轉(zhuǎn)發(fā)層面切換的頻度動(dòng)態(tài)調(diào)整。
接上述方案,在進(jìn)行恢復(fù)檢測(cè)時(shí)長調(diào)整時(shí),設(shè)置一震蕩時(shí)長,
若檢測(cè)到BFD會(huì)話出現(xiàn)UP-DOWN-UP狀態(tài),BFD會(huì)話UP到DOWN的 時(shí)間小于震蕩時(shí)長,且在震蕩時(shí)長內(nèi)恢復(fù)到UP,則重新設(shè)置恢復(fù)檢測(cè)時(shí)長, 所述重新設(shè)置的恢復(fù)檢測(cè)時(shí)長相比已設(shè)置恢復(fù)檢測(cè)時(shí)長呈指數(shù)倍遞增;
若檢測(cè)到BFD會(huì)話出現(xiàn)UP-DOWN狀態(tài),且BFD會(huì)話UP到DOWN的 時(shí)間大于等于震蕩時(shí)長,則重新設(shè)置恢復(fù)檢測(cè)時(shí)長,所述重新設(shè)置的恢復(fù)檢測(cè) 時(shí)長相比已設(shè)置恢復(fù)^f僉測(cè)時(shí)長呈倍數(shù)級(jí)遞減。
在基于配置的策略路由進(jìn)行網(wǎng)絡(luò)通信的環(huán)境中,本發(fā)明方法提供快速(毫 秒級(jí))高效的轉(zhuǎn)發(fā)層面下一跳的故障檢測(cè)和恢復(fù)的方法,以提高實(shí)際網(wǎng)絡(luò)環(huán)境 中轉(zhuǎn)發(fā)的可靠性,而且本發(fā)明還有效的解決了鏈路快速切換帶來的鏈路頻繁震 蕩的問題,保證了鏈路的穩(wěn)定性,同時(shí),本發(fā)明方法也擴(kuò)展和豐富了 BFD協(xié)
議在網(wǎng)絡(luò)檢測(cè)中的應(yīng)用,使得BFD協(xié)議不但實(shí)現(xiàn)了支持draft中提及的基于動(dòng) 態(tài)路由和MPLS的BFD檢測(cè)功能,還可以同時(shí)支持手工配置策略路由下一跳 的靜態(tài)BFD檢測(cè)功能。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部 分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不 當(dāng)限定。
圖1為現(xiàn)有技術(shù)中應(yīng)用BFD協(xié)議進(jìn)行路由設(shè)備的故障檢測(cè)示意圖; 圖2為實(shí)現(xiàn)本發(fā)明實(shí)施例的BFD檢測(cè)網(wǎng)絡(luò)示意圖; 圖3為實(shí)現(xiàn)本發(fā)明實(shí)施例的流程圖。
具體實(shí)施例方式
本發(fā)明的核心思想是,基于BFD鏈路檢測(cè),利用策略路由配置,發(fā)起雙 向BFD故障檢測(cè)以及故障鏈路的快速恢復(fù),為用戶配置的策略路由的下一跳 是否生效提供了快速檢測(cè)方法,使用BFD檢測(cè)通報(bào)機(jī)制,使得轉(zhuǎn)發(fā)層面的檢 測(cè)更加高效;通過BFD技術(shù)與IPFRR (IP快速重路由)技術(shù)的結(jié)合,當(dāng)BFD 檢測(cè)到策略路由的下一跳的BFD會(huì)話DOWN后,在轉(zhuǎn)發(fā)層面通過IPFRR技 術(shù)實(shí)現(xiàn)毫秒級(jí)的轉(zhuǎn)發(fā)下一跳的切換,使得故障鏈路在最短時(shí)間內(nèi)得以恢復(fù),而 同時(shí)仍然對(duì)DOWN掉鏈路進(jìn)行BFD檢測(cè), 一旦檢測(cè)到鏈路恢復(fù)后,則轉(zhuǎn)發(fā)層 面切換回原主鏈路上。本發(fā)明所述的BFD檢測(cè)是支持VRF ( VPN Routing and Forwarding、 VPN路由和轉(zhuǎn)發(fā)實(shí)例)內(nèi)策略路由的BFD檢測(cè)與恢復(fù)功能。
本發(fā)明所述方法主要包括如下步驟
步驟l,實(shí)現(xiàn)策略路由配置與BFD的聯(lián)動(dòng);
步驟2,實(shí)現(xiàn)BFD檢測(cè)參數(shù)的配置;
步驟3,支持不同版本的BFD會(huì)話的建立與協(xié)商,進(jìn)行鏈路定時(shí)檢測(cè);
步驟4,當(dāng)BFD會(huì)話檢測(cè)到鏈路出現(xiàn)故障后,由轉(zhuǎn)發(fā)層面結(jié)合IP FRR, 進(jìn)行FRR切換,并通知策略路由應(yīng)用層面;當(dāng)BFD會(huì)話DOWN時(shí),根據(jù)鏈 路恢復(fù)檢測(cè)時(shí)長的應(yīng)用,有效避免鏈路頻繁震蕩;
步驟5,當(dāng)鏈路故障恢復(fù)后,由BFD在較短時(shí)間檢測(cè)重新UP,恢復(fù)主鏈路。
如圖2所示為,實(shí)現(xiàn)本發(fā)明實(shí)施例的BFD檢測(cè)網(wǎng)絡(luò)示意圖,如圖所示, 該檢測(cè)網(wǎng)絡(luò)主要包括,支持BFD檢測(cè)功能的路由設(shè)備Rl和R2 ,以及備用鏈 路轉(zhuǎn)發(fā)路由設(shè)備R3,要求路由設(shè)備R1同時(shí)支持配置策略路由與BFD聯(lián)動(dòng)功 能、支持IPFRR (快速重路由)功能。
在路由設(shè)備R1與接入網(wǎng)相連的接口上配置兩條策略路由,指定不同的優(yōu) 先級(jí),高優(yōu)先級(jí)的策略路由的下一跳指向路由設(shè)備R2的接口地址(168.1.1.2) (Rl-R2鏈路為主鏈路),次優(yōu)先級(jí)的策略路由的下一跳指向路由設(shè)備R3與路 由設(shè)備Rl相連的接口地址(轉(zhuǎn)發(fā)鏈路Rl-R3鏈路為備用鏈路),在路由設(shè)備 Rl與路由設(shè)備R2間配置BFD會(huì)話,主鏈路正常情況下,由接入網(wǎng)訪問遠(yuǎn)端 設(shè)備的數(shù)據(jù)包經(jīng)過路由設(shè)備Rl時(shí),通過Rl-R2鏈路進(jìn)行轉(zhuǎn)發(fā),同時(shí)由BFD 會(huì)話來保證R1-R2鏈路的可達(dá)性, 一旦R1-R2鏈路出現(xiàn)問題,通過BFD會(huì)話 來通知策略路由完成路由的IP FRR切換,數(shù)據(jù)包經(jīng)過路由設(shè)備Rl時(shí),則由 Rl-R3鏈路來進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)。
如圖3所示為,實(shí)現(xiàn)本發(fā)明實(shí)施例的流程圖。
步驟301,配置策略路由下一跳與BFD會(huì)話的聯(lián)動(dòng);
為了實(shí)現(xiàn)配置策略路由下一跳與BFD會(huì)話的聯(lián)動(dòng),首先需要在與接入網(wǎng) 相連的路由設(shè)備一側(cè)配置策略路由,同時(shí)設(shè)定多個(gè)下一跳,各個(gè)下一跳的優(yōu)先 級(jí)不同,需要生成主備關(guān)系的下一跳在配置時(shí)與BFD會(huì)話關(guān)聯(lián)(綁定),根據(jù) IP FRR可初步生成配置的主備關(guān)系。
步驟302,在路由設(shè)備4妄口下配置BFD 4企測(cè)參凄史;
BFD檢測(cè)報(bào)文的發(fā)送/接收間隔等檢測(cè)參數(shù)可以跟隨網(wǎng)絡(luò)實(shí)際環(huán)境以及應(yīng)
用需要在接口下配置,所述檢測(cè)報(bào)文的發(fā)送/接收間隔可配置的最小值為10ms (毫秒),最大值為999ms。
步驟303,當(dāng)路由設(shè)備接口下的BFD檢測(cè)參數(shù)以及步驟301的配置完畢 后,開始BFD會(huì)話的建立;
在建立新的BFD會(huì)話前,首先檢查是否已有相同鄰居的BFD會(huì)話,如果 已有,且BFD會(huì)話的狀態(tài)已為UP,則會(huì)通知靜態(tài)路由配置應(yīng)用BFD會(huì)話, 執(zhí)行步驟304,不會(huì)再重新發(fā)起新的BFD會(huì)話請(qǐng)求;否則,建立新的BFD會(huì) 話,(1 )建立BFD會(huì)話的初始,已配置的策略路由的下一跳與BFD會(huì)話關(guān)聯(lián), 所述BFD會(huì)話處于DOWN狀態(tài),鏈路一端發(fā)送BFD控制報(bào)文到對(duì)端,通過 在接口下的配置命令發(fā)起B(yǎng)FD會(huì)話的建立;(2 )所述鏈路一端收到對(duì)端返回 的BFD控制報(bào)文后,根據(jù)報(bào)文中的Your Discriminator字段匹配到相應(yīng)的BFD 會(huì)話,重新設(shè)置鏈路檢測(cè)定時(shí)器。此時(shí)相鄰的路由設(shè)備側(cè)的另一端也配置了遵 循相同BFD版本的靜態(tài)或動(dòng)態(tài)路由配置的BFD檢測(cè),則完成BFD會(huì)話的建 立,鏈路兩端已正常建立了 BFD會(huì)話,則通知靜態(tài)路由配置應(yīng)用BFD會(huì)話, 執(zhí)行步驟4。
支持策略路由配置的BFD檢測(cè)與動(dòng)態(tài)路由協(xié)議可基于同 一個(gè)BFD會(huì)話的 應(yīng)用,本發(fā)明還能支持相同鄰居對(duì)的BFD檢測(cè)使用同一會(huì)話的功能,例如, 以圖2為例,如果已有OSPF (開放最短路徑優(yōu)先)協(xié)議要求進(jìn)行(168.L1.1, 168.1.1.2 )相鄰結(jié)點(diǎn)間的BFD會(huì)話檢測(cè),在進(jìn)行靜態(tài)路由配置的BFD會(huì)話的 創(chuàng)建時(shí),會(huì)將兩類應(yīng)用關(guān)聯(lián)到同一個(gè)會(huì)話中,這樣減少了系統(tǒng)收/發(fā)報(bào)文個(gè)數(shù); 當(dāng)BFD會(huì)話檢測(cè)出鏈路失效時(shí),可以通知BFD所關(guān)聯(lián)的所有應(yīng)用。
BFD協(xié)議中的報(bào)文格式在不同的draft中,定義格式不一致,目前的 draft-ietf-bfd-base-06中定義了 BFD會(huì)話的VERSION字段值為1,但較早的 draft,如draft-ietf-bfd-base-01中定義了 BFD會(huì)話的VERSION字段值為0,但 是不管BFD協(xié)議中的報(bào)文格式采用什么樣的版本,在本發(fā)明中,通過配置, 可同時(shí)支持不同版本的BFD會(huì)話的建立,便于實(shí)現(xiàn)與其它支持BFD協(xié)議的路
由設(shè)備的互通。
步驟304, BFD會(huì)話UP后,會(huì)話雙方進(jìn)行4企測(cè)參數(shù)的協(xié)商;
BFD會(huì)話UP后,會(huì)話雙方進(jìn)行控制報(bào)文發(fā)送周期以及檢測(cè)時(shí)長等檢測(cè)參 數(shù)的協(xié)商,初始的協(xié)商依賴于接口下配置的BFD檢測(cè)參數(shù),在雙方進(jìn)行正常 的BFD檢測(cè)過程中,可以進(jìn)一步動(dòng)態(tài)調(diào)整檢測(cè)參數(shù)的大小,具體而言, 一般 在檢測(cè)參數(shù)協(xié)商好后,可以由鏈路一端按照BFD協(xié)議的要求來發(fā)起檢測(cè)參數(shù) 的變更,所述鏈路一端向?qū)Χ税l(fā)送P控制報(bào)文,對(duì)端收到P控制報(bào)文后,回 應(yīng)F控制報(bào)文,表示參數(shù)的重新協(xié)商。在實(shí)際應(yīng)用時(shí),可以通過命令動(dòng)態(tài)改變 已配置的檢測(cè)參數(shù),而且檢測(cè)參數(shù)的調(diào)整不會(huì)影響B(tài)FD會(huì)話的當(dāng)前狀態(tài);
步驟305,配置策略路由下一跳的BFD會(huì)話建立后,IPFRR的主備關(guān)系 也正式生成,其中主策略路由下一跳的有效性生成;
步驟306,轉(zhuǎn)發(fā)層面進(jìn)行BFD實(shí)時(shí)檢測(cè);
當(dāng)BFD會(huì)話UP,并協(xié)商好檢測(cè)參數(shù)后,由轉(zhuǎn)發(fā)層面定時(shí)進(jìn)行BFD控制 報(bào)文的發(fā)送和接收來檢測(cè)鏈路的連通性;
步驟307, BFD檢測(cè)到鏈路超時(shí)后,轉(zhuǎn)發(fā)層面BFD會(huì)話DOWN;
當(dāng)被檢測(cè)的鏈路出現(xiàn)異常后,發(fā)起B(yǎng)FD會(huì)話的鏈路一端會(huì)通過檢測(cè)超時(shí) 判斷出鏈路失效,而這個(gè)檢測(cè)時(shí)長一般為毫秒級(jí)(依賴于配置以及路由設(shè)備性 能),在轉(zhuǎn)發(fā)層面檢測(cè)到BFD會(huì)話DOWN后,轉(zhuǎn)入步驟308;
步驟308,轉(zhuǎn)發(fā)層面根據(jù)策略路由配置進(jìn)行IP FRR切換,可以快速切換 到備份鏈路上,并通知策略路由應(yīng)用層面;
轉(zhuǎn)發(fā)層面立即進(jìn)行IP FRR備用鏈路的切換,在圖2中,路由設(shè)備R1檢 測(cè)到Rl-R2鏈路出現(xiàn)故障后,將原有的備用路由(Rl-R3)切換為主路由,也 就是到目的網(wǎng)段的下一跳轉(zhuǎn)為路由設(shè)備R3,這樣,不但可以使鏈路的快速恢 復(fù),不影響轉(zhuǎn)發(fā)層面的正常數(shù)據(jù)轉(zhuǎn)發(fā),保證在最短時(shí)間內(nèi)數(shù)據(jù)業(yè)務(wù)的恢復(fù),同 時(shí),通過消息通知方式通知到策略路由應(yīng)用層面。
處于DOWN狀態(tài)下的BFD會(huì)話,并不停止對(duì)發(fā)生故障的鏈路進(jìn)行檢測(cè),
而根據(jù)應(yīng)用需求選擇會(huì)話刪除或是繼續(xù)檢測(cè),如果選擇繼續(xù)檢測(cè),則重新設(shè)置 檢測(cè)時(shí)長,使用較長的時(shí)間間隔(秒級(jí))進(jìn)行檢測(cè),當(dāng)檢測(cè)到鏈路恢復(fù)后,轉(zhuǎn)
發(fā)層面則切換回原來的鏈路上,同樣地,根據(jù)圖2所示的BFD狀態(tài)機(jī)轉(zhuǎn)換, 可以實(shí)現(xiàn)會(huì)話的狀態(tài)重新UP,通知到策略路由應(yīng)用層,完成路由恢復(fù)功能并 重新通知轉(zhuǎn)發(fā)層面。
在實(shí)際應(yīng)用中,可能由于多種原因造成鏈路狀態(tài)的震蕩,而此時(shí)若結(jié)合了 BFD會(huì)話的故障檢測(cè),如果頻繁地檢測(cè)出BFD會(huì)話的UP-DOWN,而導(dǎo)致轉(zhuǎn) 發(fā)層面頻繁切換,這樣會(huì)影響系統(tǒng)的轉(zhuǎn)發(fā)性能。為了避免出現(xiàn)轉(zhuǎn)發(fā)層面的頻繁 切換,在檢測(cè)到BFD會(huì)話DOWN后,設(shè)置一恢復(fù)檢測(cè)時(shí)長,當(dāng)恢復(fù)檢測(cè)時(shí)長 超時(shí)后,BFD會(huì)話繼續(xù)進(jìn)行檢測(cè)與鏈路恢復(fù),若設(shè)置的恢復(fù)檢測(cè)時(shí)長沒有超 時(shí),則BFD會(huì)話依然處于DOWN狀態(tài),且不進(jìn)行鏈路檢測(cè)。
該恢復(fù)檢測(cè)時(shí)長可根據(jù)出現(xiàn)轉(zhuǎn)發(fā)層面切換的頻度動(dòng)態(tài)調(diào)整,設(shè)置一震蕩時(shí) 長(缺省值為5秒鐘,可以動(dòng)態(tài)調(diào)整),當(dāng)檢測(cè)到BFD會(huì)話每次出現(xiàn) UP-DOWN-UP震蕩(其中BFD會(huì)話UP到DOWN的時(shí)間小于設(shè)置的震蕩時(shí) 長,并且BFD會(huì)話DOWN后,在恢復(fù)檢測(cè)時(shí)長過后重新開始纟全測(cè)并在設(shè)置的 震蕩時(shí)長內(nèi)恢復(fù)到UP)后,則說明BFD會(huì)話又出現(xiàn)一次震蕩,需要重新設(shè)置 恢復(fù)檢測(cè)時(shí)長,即,將重新設(shè)置的恢復(fù)檢測(cè)時(shí)長相比原恢復(fù)檢測(cè)時(shí)長之間呈指
數(shù)倍(例如是2"倍,n=l, 2, 3,......)遞增;同時(shí),當(dāng)BFD會(huì)話每出現(xiàn)一
次UP到DOWN的過程,若BFD會(huì)話UP到DOWN的時(shí)間大于等于系統(tǒng)設(shè) 置的震蕩時(shí)長,則認(rèn)為有震蕩可以恢復(fù),將恢復(fù)檢測(cè)時(shí)長呈倍數(shù)級(jí)遞減(例如, 設(shè)恢復(fù)4企測(cè)時(shí)長為M,則遞減為M/2 )。
綜上所述,本發(fā)明有效地解決了目前缺乏的快速策略路由配置下一跳檢測(cè) 機(jī)制,靈活地運(yùn)用BFD協(xié)議,為配置的策略路由的下一跳提供快速鏈路故障 檢測(cè)方法。同時(shí)根據(jù)實(shí)際應(yīng)用需要,可以按需配置與動(dòng)態(tài)路由協(xié)議的檢測(cè)共同 工作、檢測(cè)參數(shù)的動(dòng)態(tài)配置等功能。在BFD檢測(cè)到故障發(fā)生時(shí),結(jié)合FRR機(jī) 制,完成備用鏈路的切換工作,保護(hù)用戶數(shù)據(jù)業(yè)務(wù)損失降低到最小。
權(quán)利要求
1、基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法,其特征在于,包括如下步驟步驟1,配置策略路由的下一跳與雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的聯(lián)動(dòng);步驟2,在路由設(shè)備接口下配置雙向轉(zhuǎn)發(fā)檢測(cè)參數(shù);步驟3,建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話,雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話UP后,會(huì)話雙方進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè)參數(shù)的協(xié)商,IP快速重路由的主備路由生成;步驟4,轉(zhuǎn)發(fā)層面進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè),檢測(cè)到鏈路超時(shí)后,轉(zhuǎn)發(fā)層面雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話DOWN;步驟5,轉(zhuǎn)發(fā)層面根據(jù)策略路由配置進(jìn)行IP快速重路由切換,切換到備份路由上,并通知策略路由應(yīng)用層面。
2、 如權(quán)利要求1所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于,還包括如下步驟步驟6,根據(jù)應(yīng)用需求選擇會(huì)話刪除或是繼續(xù)檢測(cè),若是選擇繼續(xù)檢測(cè),則 設(shè)置檢測(cè)時(shí)長,進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè),當(dāng)檢測(cè)到鏈路恢復(fù)后,轉(zhuǎn)發(fā)層面則切換回 原主路由上,實(shí)現(xiàn)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的狀態(tài)重新UP,通知到策略路由應(yīng)用層面。
3、 如權(quán)利要求1所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于,所述步驟l具體是這樣實(shí)現(xiàn)的步驟11,在與接入網(wǎng)相連的路由設(shè)備一側(cè)配置策略路由; 步驟12,設(shè)定多個(gè)優(yōu)先級(jí)不同的下一跳;步驟13,需要生成主備關(guān)系的下一跳在配置時(shí)與雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話關(guān)聯(lián)。
4、 如權(quán)利要求1所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障;險(xiǎn)測(cè)與鏈路恢復(fù)方法, 其特征在于,所述步驟2中的雙向轉(zhuǎn)發(fā)檢測(cè)參數(shù)是指,雙向轉(zhuǎn)發(fā)^^'討艮文的發(fā)送時(shí)間或 接收時(shí)間間隔; 所述時(shí)間間隔的取值的配置范圍,大于等于10ms且小于999ms。
5、 如權(quán)利要求4所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于,所述步驟3中在建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話前,檢測(cè)是否已有相同鄰居的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話, 若有,且雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的狀態(tài)為UP,則轉(zhuǎn)入步驟4;否則,進(jìn)行雙向轉(zhuǎn)發(fā) 檢測(cè)會(huì)話的建立,然后轉(zhuǎn)入步驟4。
6、 如權(quán)利要求3或5所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方 法,其特征在于,所述進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的建立,具體是這樣實(shí)現(xiàn)的步驟31,已配置的策略路由的下一跳與雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話關(guān)聯(lián),所述雙向 轉(zhuǎn)發(fā)檢測(cè)會(huì)話處于DOWN狀態(tài);步驟32,鏈路一端發(fā)送雙向轉(zhuǎn)發(fā)檢測(cè)報(bào)文到對(duì)端,通過在接口下的配置命 令發(fā)起雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的建立;步驟33,所述鏈路一端收到對(duì)端返回的雙向轉(zhuǎn)發(fā)檢測(cè)報(bào)文后,根據(jù)報(bào)文中 的Your Discriminator字段匹配到相應(yīng)的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話并重新設(shè)置鏈路檢測(cè) 定時(shí)器。
7、 如權(quán)利要求6所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于,所述雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話同時(shí)支持基于策略路由配置的雙向轉(zhuǎn)發(fā)檢測(cè)和動(dòng)態(tài) 路由協(xié)議,或支持相同鄰居對(duì)的雙向轉(zhuǎn)發(fā)檢測(cè)。
8、 如權(quán)利要求1或2所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方 法,其特征在于,在檢測(cè)到雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話DOWN后,設(shè)置一恢復(fù)檢測(cè)時(shí)長,若恢復(fù)檢測(cè) 時(shí)長超時(shí)后,雙向轉(zhuǎn)發(fā)4企測(cè)會(huì)話繼續(xù)進(jìn)行4企測(cè)。
9、 如權(quán)利要求8所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于, 所述恢復(fù)檢測(cè)時(shí)長根據(jù)出現(xiàn)轉(zhuǎn)發(fā)層面切換的頻度動(dòng)態(tài)調(diào)整。
10、如權(quán)利要求9所述的基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法, 其特征在于在進(jìn)行恢復(fù)檢測(cè)時(shí)長調(diào)整時(shí),設(shè)置一震蕩時(shí)長,若檢測(cè)到BFD會(huì)話出現(xiàn)UP-DOWN-UP狀態(tài),BFD會(huì)話UP到DOWN的時(shí) 間小于震蕩時(shí)長,且在震蕩時(shí)長內(nèi)恢復(fù)到UP,則重新設(shè)置恢復(fù)檢測(cè)時(shí)長,所述 重新設(shè)置的恢復(fù)檢測(cè)時(shí)長相比已設(shè)置恢復(fù)檢測(cè)時(shí)長呈指數(shù)倍遞增;若4全測(cè)到BFD會(huì)話出現(xiàn)UP-DOWN狀態(tài),且BFD會(huì)話UP到DOWN的時(shí) 間大于等于震蕩時(shí)長,則重新設(shè)置恢復(fù)檢測(cè)時(shí)長,所述重新設(shè)置的恢復(fù)檢測(cè)時(shí) 長相比已設(shè)置恢復(fù)檢測(cè)時(shí)長呈倍數(shù)級(jí)遞減。
全文摘要
本發(fā)明公開了基于雙向轉(zhuǎn)發(fā)鏈路進(jìn)行故障檢測(cè)與鏈路恢復(fù)方法包括,配置策略路由的下一跳與BFD會(huì)話的聯(lián)動(dòng);在路由設(shè)備接口下配置BFD檢測(cè)參數(shù);建立BFD會(huì)話,BFD會(huì)話UP后,會(huì)話雙方進(jìn)行BFD檢測(cè)參數(shù)的協(xié)商,IP FRR的主備路由生成;轉(zhuǎn)發(fā)層面進(jìn)行BFD檢測(cè),檢測(cè)到鏈路超時(shí)后,轉(zhuǎn)發(fā)層面BFD會(huì)話DOWN;轉(zhuǎn)發(fā)層面根據(jù)策略路由配置進(jìn)行IP FRR切換,切換到備份路由上,并通知策略路由應(yīng)用層面。本發(fā)明提供快速、高效的轉(zhuǎn)發(fā)層面下一跳的故障檢測(cè)和恢復(fù)的方法,以提高實(shí)際網(wǎng)絡(luò)環(huán)境中轉(zhuǎn)發(fā)的可靠性,還有效的解決了鏈路快速切換帶來的鏈路頻繁震蕩的問題,保證了鏈路的穩(wěn)定性,同時(shí),也豐富了BFD協(xié)議在網(wǎng)絡(luò)檢測(cè)中的應(yīng)用。
文檔編號(hào)H04L12/26GK101170459SQ200710187500
公開日2008年4月30日 申請(qǐng)日期2007年11月28日 優(yōu)先權(quán)日2007年11月28日
發(fā)明者張麗暉, 趙建風(fēng), 韋紅波 申請(qǐng)人:中興通訊股份有限公司