于 華
鐵路數(shù)據(jù)通信網(wǎng)各站點(diǎn)采用雙套接入路由器承載系統(tǒng)業(yè)務(wù)時(shí),用戶側(cè)設(shè)備通常采用雙上行靜態(tài)路由協(xié)議方式接入數(shù)據(jù)通信網(wǎng)。由于接入路由器與用戶側(cè)設(shè)備間可能存在非直連鏈路,兩側(cè)端口無法準(zhǔn)確感知鏈路變化情況,導(dǎo)致鏈路切換不生效,存在安全隱患。而通過雙向轉(zhuǎn)發(fā)檢測(BFD) 技術(shù)可有效解決非直連鏈路倒換端口無法感知鏈路變化的問題,為此將BFD 技術(shù)應(yīng)用于鐵路數(shù)據(jù)通信網(wǎng)。
上海局鐵路數(shù)據(jù)通信網(wǎng)車站節(jié)點(diǎn)設(shè)置2 臺(tái)接入路由器,自治域內(nèi)采用IGP(內(nèi)部網(wǎng)關(guān)協(xié)議)承載網(wǎng)絡(luò)拓?fù)渎酚尚畔?,BGP(邊界網(wǎng)關(guān)協(xié)議) 承載用戶路由信息,MP-BGP(多協(xié)議外部網(wǎng)關(guān)協(xié)議)承載VPN(虛擬專用網(wǎng)絡(luò))用戶路由信息。業(yè)務(wù)系統(tǒng),如綜合視頻(IVMS)、動(dòng)環(huán)監(jiān)控(PESS)、會(huì)議電視(VCS)、電力遠(yuǎn)動(dòng)(SCADA) 等,采用靜態(tài)路由協(xié)議接入。為保證重要業(yè)務(wù)的安全運(yùn)行,以防端口故障,將業(yè)務(wù)接入設(shè)備(CE) 與2 臺(tái)接入節(jié)點(diǎn)路由器(PE)互聯(lián)。雙上行靜態(tài)路由組網(wǎng)方式見圖1。
圖1 雙上行靜態(tài)路由組網(wǎng)方式
CE 與PE 互聯(lián)協(xié)議采用靜態(tài)路由協(xié)議,主用設(shè)置在PE01,備用設(shè)置在PE02。在PE 路由器上配置CE 側(cè)業(yè)務(wù)地址靜態(tài)路由,指向CE 互聯(lián)下一跳,同時(shí)在BGP 里引入靜態(tài)路由進(jìn)行業(yè)務(wù)地址發(fā)布。在CE 三層交換機(jī)上配置2 條靜態(tài)缺省路由,分別指向PE01 和PE02,并將指向PE02 的優(yōu)先級(jí)修改為備用保護(hù)通道級(jí)別。
工作正常時(shí),PE01 方向?yàn)橹饔面溌?;?dāng)CE與PE01 間互聯(lián)鏈路中斷后,CE 設(shè)備主用靜態(tài)缺省路由失效,備用靜態(tài)缺省路由生效,從而將流量切換至備用鏈路。
實(shí)際組網(wǎng)中,各業(yè)務(wù)系統(tǒng)CE 交換機(jī)與PE 路由器連接,距離近的,使用尾纖網(wǎng)線直連;距離遠(yuǎn)的,需經(jīng)傳輸SDH 以太網(wǎng)接口連接。在鐵路數(shù)據(jù)通信網(wǎng)絡(luò)中,一般通過硬件檢測信號(hào)(如SDH 告警)檢測鏈路硬件故障;無法通過硬件信號(hào)檢測故障的,通常采用動(dòng)態(tài)路由協(xié)議的Hello 報(bào)文機(jī)制來探測鄰居關(guān)系。但上述方法存在如下問題:①并不是所有的介質(zhì)都能夠提供硬件檢測;②路由協(xié)議的Hello 報(bào)文機(jī)制檢測到故障所需時(shí)間比較長(超過1 s),當(dāng)數(shù)據(jù)傳輸速率達(dá)到吉比特速率級(jí)時(shí),在檢測時(shí)間內(nèi)大量數(shù)據(jù)將會(huì)丟失;③在小型三層網(wǎng)絡(luò)中,如果沒有部署路由協(xié)議,則無法使用路由協(xié)議的Hello 報(bào)文機(jī)制來檢測故障。這對(duì)路由器間互聯(lián)互通定位故障造成困難。
相對(duì)于動(dòng)態(tài)路由,靜態(tài)路由比較簡單,僅僅是依靠檢測下一跳鏈路層協(xié)議是否使能(UP)來進(jìn)行判斷,判斷其是否生效的標(biāo)志是下一跳出接口鏈路層協(xié)議是否處于使能狀態(tài),但無法準(zhǔn)確判斷鏈路的真實(shí)情況。對(duì)于POS/E1 等ppp(點(diǎn)對(duì)點(diǎn))鏈路,需要ppp 協(xié)議正常,鏈路層協(xié)議才能使能;對(duì)于以太網(wǎng)、Vlan-if 等廣播型網(wǎng)絡(luò)接口,只要端口物理狀態(tài)使能(UP),則鏈路層協(xié)議自然使能(UP)。
傳輸通道中斷業(yè)務(wù)流量無法正常切換如圖2 所示。當(dāng)PE01 側(cè)鏈路斷開時(shí),CE 側(cè)物理連接正常,物理接口使能,Vlan-if 接口使能,鏈路檢測路由不會(huì)發(fā)生變化,數(shù)據(jù)流量繼續(xù)從互聯(lián)接口發(fā)送數(shù)據(jù),導(dǎo)致業(yè)務(wù)故障。因此需要使用BFD 技術(shù)作為鏈路檢測的輔助手段,以提高靜態(tài)路由對(duì)鏈路質(zhì)量的判斷。
BFD 用于快速檢測系統(tǒng)之間的通信故障,并在出現(xiàn)故障時(shí)通知上層應(yīng)用。在鐵路通信數(shù)據(jù)網(wǎng)中,通常與ISIS(鏈路狀態(tài)路由協(xié)議)進(jìn)行聯(lián)動(dòng),監(jiān)控路由器設(shè)備間互聯(lián)鏈路,以保證在路由器設(shè)備互聯(lián)鏈路中斷后,ISIS 路由能快速收斂,減少故障時(shí)間內(nèi)的數(shù)據(jù)丟包。在日常維護(hù)過程中,當(dāng)有互聯(lián)鏈路斷開時(shí),網(wǎng)管會(huì)先看到BFD 斷開告警,隨后立即出現(xiàn)ISIS 鄰居中斷的告警。這就是BFD 檢測快速、聯(lián)動(dòng)的體現(xiàn)。
圖2 傳輸通道中斷業(yè)務(wù)流量無法正常切換
BFD 既可以與ISIS、OSPF(開放式最短路徑優(yōu)先協(xié)議)、BGP 等動(dòng)態(tài)路由協(xié)議聯(lián)動(dòng),主動(dòng)建立會(huì)話;也可以手動(dòng)建立靜態(tài)BFD 會(huì)話后,與靜態(tài)路由進(jìn)行綁定,達(dá)到聯(lián)動(dòng)的效果。
BFD 快速檢測有會(huì)話報(bào)文、聯(lián)動(dòng)物理接口狀態(tài)2 種檢測模式。
1) BFD 會(huì)話報(bào)文檢測模式。BFD 會(huì)話建立后,會(huì)周期性地快速發(fā)送BFD 控制報(bào)文,該報(bào)文是UDP(用戶數(shù)據(jù)報(bào)協(xié)議)報(bào)文,端口號(hào)3784。如果某個(gè)系統(tǒng)連續(xù)3 個(gè)報(bào)文都沒有接收到,就認(rèn)為此BFD 會(huì)話的狀態(tài)是關(guān)閉(down)。認(rèn)為該雙向轉(zhuǎn)發(fā)路徑發(fā)生了故障,將通知被服務(wù)的相關(guān)層應(yīng)用進(jìn)行相應(yīng)的處理。BFD 檢測建立會(huì)話機(jī)制見圖3。
圖3 BFD 檢測建立會(huì)話機(jī)制
2)BFD 聯(lián)動(dòng)物理接口狀態(tài)檢測模式。BFD 會(huì)話在配置綁定相應(yīng)端口后,會(huì)主動(dòng)檢測物理端口物理層告警,如R_LOS 等。當(dāng)監(jiān)控到物理端口物理層告警異常導(dǎo)致接口down 時(shí),BFD 則會(huì)立即關(guān)閉會(huì)話,不再等待3 次報(bào)文的響應(yīng),使鏈路檢測更加快速高效。
在PE 至CE 間傳輸鏈路中斷情況下,為解決靜態(tài)雙上行路由無法自動(dòng)切換的問題,將BFD 檢測技術(shù)與靜態(tài)路由進(jìn)行聯(lián)動(dòng),為每條靜態(tài)路由綁定一個(gè)BFD 會(huì)話。當(dāng)BFD 會(huì)話檢測到鏈路及端口異常時(shí),將BFD 會(huì)話狀態(tài)變?yōu)閐own,并通知靜態(tài)路由管理模塊此靜態(tài)路由失效,從而避免流量的引入,實(shí)現(xiàn)路由的快速切換。
BFD 會(huì)話可進(jìn)行參數(shù)自動(dòng)協(xié)商和手動(dòng)指定。
1)手動(dòng)參數(shù)指定方式用于不同廠家設(shè)備對(duì)接。
bfdbfdbind peer-ip 10.0.12.2 source-ip 10.0.12.1 *創(chuàng)建一個(gè)名為bfd 的靜態(tài)bfd 會(huì)話,鄰居地址為10.0.12.2 源地址為10.0.12.1*
discriminator local 200 *創(chuàng)建本端標(biāo)識(shí)符,對(duì)端要配置與此標(biāo)識(shí)符一致*
discriminator remote 100 *創(chuàng)建對(duì)端標(biāo)識(shí)符,與對(duì)端設(shè)備配置標(biāo)識(shí)符一致*
min-tx-interval 100 *配置探測報(bào)文發(fā)送時(shí)間間隔,單位ms*
min-rx-interval 100 *配置探測報(bào)文接收時(shí)間間隔,單位ms*
detect-multiplier 3 *配置會(huì)話檢測倍數(shù),默認(rèn)是3*
commit*提交配置,使配置生效*
2)參數(shù)自動(dòng)協(xié)商方式用于同廠家設(shè)備對(duì)接。
bfdbfdbind peer-ip 10.0.12.2 source-ip 10.0.12.1 auto *配置自動(dòng)BFD 參數(shù)協(xié)商:用于同廠家設(shè)備對(duì)接*
commit
ip route-static 0.0.0.0 0.0.0.0 10.0.12.2 track bfd-session bfd*配置BFD 與靜態(tài)路由聯(lián)動(dòng)*
通過抓包軟件對(duì)報(bào)文進(jìn)行分析,可以看到設(shè)備兩端實(shí)時(shí)發(fā)送BFD 探測報(bào)文,以對(duì)鏈路進(jìn)行探測。
BFD 需要PE 和CE 兩側(cè)相互配合工作,需要CE 側(cè)設(shè)備支持且進(jìn)行對(duì)應(yīng)的參數(shù)配置。在鐵路通信數(shù)據(jù)網(wǎng)中,CE 設(shè)備類型多樣,存在無法進(jìn)行BFD配置的情況,這時(shí)需要使用BFD 的單臂回聲檢測。
當(dāng)對(duì)端CE 設(shè)備不支持BFD 檢測功能時(shí),為了能夠快速檢測這2 臺(tái)設(shè)備之間的故障,可以在支持BFD 功能的設(shè)備上,創(chuàng)建單臂回聲(Echo)功能的BFD 會(huì)話;不支持BFD 功能的設(shè)備接收到BFD Echo 報(bào)文后,則直接將其環(huán)回,從而實(shí)現(xiàn)轉(zhuǎn)發(fā)鏈路的連通性檢測功能。BFD單臂回聲檢測見圖4。
圖4 BFD 單臂回聲檢測
配置方式:bfd bind peer-ip 10.1.1.1 interface gigabitethernet1/0/0 one-arm-echo
上海局管轄范圍廣,路由器與客戶側(cè)CE 設(shè)備間使用傳輸通道承載的情況較多,針對(duì)現(xiàn)網(wǎng)數(shù)據(jù)通信網(wǎng)絡(luò)以三層靜態(tài)路由雙上行接入時(shí)的應(yīng)用情況,結(jié)合現(xiàn)場維護(hù)應(yīng)用場景進(jìn)行分析研究,當(dāng)采用三層靜態(tài)路由雙上行接入業(yè)務(wù)時(shí),需在路由器與客戶側(cè)CE 設(shè)備兩端開啟BFD 檢測功能,以便快速檢測鏈路質(zhì)量,達(dá)到冗余保護(hù)目的。