戴俊勉 胡江云 陶慧 吉家昊
摘要:本文通過研究承載鐵路綜合視頻監(jiān)控系統(tǒng)的數(shù)據(jù)通信網(wǎng)出現(xiàn)次優(yōu)路由問題,結(jié)合OSPF(開放式最短路徑協(xié)議)和VRRP(虛擬路由器冗余協(xié)議)的相關(guān)原理,分析網(wǎng)絡(luò)架構(gòu),采用基于Route-policy(路由策略)與Ip-prefix(前綴列表)的路由控制策略進行路由優(yōu)化,并予以實施,解決因OSPF與VRRP聯(lián)動產(chǎn)生次優(yōu)路由,導(dǎo)致影響業(yè)務(wù)正常運行的問題。
關(guān)鍵詞:數(shù)據(jù)通信網(wǎng);開放式最短路徑協(xié)議;虛擬路由器冗余協(xié)議;次優(yōu)路由;網(wǎng)絡(luò)優(yōu)化;路由策略;前綴列表
隨著高速鐵路的快速發(fā)展,鐵路系統(tǒng)在國民生產(chǎn)和生活中發(fā)揮越來越大的作用。由于鐵路系統(tǒng)具有部門多、地點分散、環(huán)境復(fù)雜等特點,為保證鐵路系統(tǒng)的運輸安全,鐵路綜合視頻監(jiān)控系統(tǒng)的穩(wěn)定性和安全性尤為重要。在贛深高鐵綜合視頻監(jiān)控系統(tǒng)中,數(shù)據(jù)通信網(wǎng)采用OSPF和VRRP協(xié)議進行聯(lián)動,以保證綜合視頻監(jiān)控服務(wù)器的正常運行,一旦設(shè)置不合理,數(shù)據(jù)通信網(wǎng)內(nèi)極容易產(chǎn)生次優(yōu)路由,嚴重影響綜合視頻監(jiān)控服務(wù)器的正常運行,因此有必要對綜合視頻監(jiān)控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)及協(xié)議進行深入分析。
一、網(wǎng)絡(luò)結(jié)構(gòu)
贛深高鐵綜合視頻監(jiān)控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。
接入路由器AR01作為綜合視頻監(jiān)控網(wǎng)絡(luò)的出口,由華為NE20E-S8擔當;CE01和CE02作為綜合視頻監(jiān)控服務(wù)器接入交換機,由華為S7706擔當,三臺設(shè)備間運行OSPF協(xié)議實現(xiàn)路由互通。為確保綜合視頻監(jiān)控系統(tǒng)的高可靠性和高可用性,綜合視頻監(jiān)控服務(wù)器Server01和Server02之間采用熱備的方式,同時每臺服務(wù)器均采用雙網(wǎng)卡主備模式,即同一時間僅有主網(wǎng)卡進行工作。并且為了防止單臺網(wǎng)關(guān)交換機故障影響,采用VRRP協(xié)議實現(xiàn)綜合視頻監(jiān)控服務(wù)器網(wǎng)關(guān)的虛擬化冗余備份[1],在CE01和CE02上配置兩個VRRP備份組,其中備份組1的VIP(虛擬網(wǎng)關(guān))作為Server01的網(wǎng)關(guān),其Master(主用)路由設(shè)備為CE01;備份組2的VIP作為Server02的網(wǎng)關(guān),其Master路由設(shè)備為CE02。
在網(wǎng)絡(luò)正常狀態(tài)下,工程建設(shè)人員為確保Server1的流量全部從CE01和AR01的直連鏈路轉(zhuǎn)發(fā),Server2的流量全部從CE02和AR01的直連鏈路轉(zhuǎn)發(fā),并且不允許兩臺Server的流量在一條鏈路上轉(zhuǎn)發(fā)。工程建設(shè)人員在CE01和CE02的下行接口VLANIF上均配置arp direct-route enable的命令,通過基于ARP表生成主機路由,CE01和CE02將Server01和Server02的主機路由分別通告給AR01,實現(xiàn)AR01路由表中關(guān)于Server01和Server02的主機路由下一跳分別為CE01和CE02。
為驗證CE交換機上VRRP虛擬網(wǎng)關(guān)冗余情況,對CE02交換機進行重啟操作后,分析服務(wù)器流量轉(zhuǎn)發(fā)路徑,發(fā)現(xiàn)在AR01路由表中關(guān)于Server02的路由存在異常,去往Server02路由的下一跳從CE02變更為CE01,未按照預(yù)先設(shè)計方案要求進行流量轉(zhuǎn)發(fā),存在次優(yōu)路由的情況,因此有必要對路由協(xié)議進行深入分析。
二、協(xié)議分析
(一)OSPF協(xié)議
OSPF協(xié)議是一種鏈路狀態(tài)路由協(xié)議,其基于IP運行[2],協(xié)議的LSDB(鏈路狀態(tài)數(shù)據(jù)庫)報文直接采用IP封裝,通過Hello、DD(數(shù)據(jù)庫描述)、LSR(鏈路狀態(tài)請求)、LSU(鏈路狀態(tài)更新)和LSAck(鏈路狀態(tài)確認)5種協(xié)議報文來實現(xiàn)協(xié)議的建立及數(shù)據(jù)的交互。其中Hello報文用于發(fā)現(xiàn)直連鏈路上的OSPF鄰居,并用于維護OSPF鄰居關(guān)系;DD報文用于描述LSDB中LSA(鏈路狀態(tài)通告)的頭部數(shù)據(jù);LSR報文用于向OSPF鄰居請求LSA;LSU(鏈路狀態(tài)更新)報文用于發(fā)送完整的LSA數(shù)據(jù),并通過組播的方式進行泛洪;LSAck(鏈路狀態(tài)確認)報文用于設(shè)備收到LSU后,對接收到的LSA進行確認[3]。
OSPF協(xié)議中設(shè)備間兩種關(guān)系:鄰居關(guān)系和鄰接關(guān)系[4],其中鄰居關(guān)系指的是路由器在激活OSPF協(xié)議后,通過互聯(lián)網(wǎng)接口交互Hello報文實現(xiàn)路由器相互發(fā)現(xiàn),并形成2-Way(雙向通信)狀態(tài),以CE01和AR01建立鄰居關(guān)系為例,如圖2所示。
其中CE01和AR01的Router-ID分別為1.1.1.1和3.3.3.3。CE01的G1/0/0接口率先激活OSPF協(xié)議并開始發(fā)送Hello報文,在該報文的頭部中包含設(shè)備的Router-ID及接口的區(qū)域ID,在該報文的載荷中包含接口的網(wǎng)絡(luò)掩碼,Hello間隔、路由器失效間隔,以及該接口上所發(fā)現(xiàn)的鄰居,由于協(xié)議剛激活,此時鄰居為空。AR01收到Hello報文后,首先對報文進行檢查,檢查自己接口的網(wǎng)絡(luò)掩碼是否與收到的Hello報文中的“網(wǎng)絡(luò)掩碼”是否一致,同時對其他相關(guān)參數(shù)進行核對,若存在異常,則忽略Hello報文,當檢查通過后,AR01將CE01的狀態(tài)置為Init(初始)狀態(tài)。接下來,AR01給CE01發(fā)送Hello報文,其中“鄰居”字段中寫入CE01的Router-ID值。當CE01收到AR01發(fā)送的Hello報文,并且在“鄰居”字段中發(fā)現(xiàn)自己的Router-ID值,CE01將AR01添加到自己的鄰居表中,并且將AR01的狀態(tài)置為2-Way。隨后CE01給AR01發(fā)送Hello報文,其中“鄰居”字段中寫入AR01的Router-ID值。AR01收到CE01發(fā)送的Hello報文后,同理進行判斷后,將CE01的狀態(tài)置為2-Way,此時CE01和AR01的OSPF的鄰居關(guān)系建立完成。鄰居關(guān)系建立完成后,路由器間通過交互DD報文,實現(xiàn)雙方LDSB報文中LSA頭部數(shù)據(jù)互通,當路由器需要完整的LSA數(shù)據(jù)時,將通過LSR報文發(fā)起報文更新請求,實現(xiàn)路由器之間LSDB報文的同步,此時CE01和AR01間的狀態(tài)為Full(全毗鄰),CE01和AR01的關(guān)系將變?yōu)猷徑雨P(guān)系。
(二)VRRP協(xié)議
VRRP協(xié)議能夠使得多臺同屬于一個廣播域的網(wǎng)絡(luò)設(shè)備協(xié)同工作,實現(xiàn)設(shè)備冗余,從而提高網(wǎng)絡(luò)的可靠性,其配置在三層交換機或路由器上的接口上,通過Advertisement Package(通告報文)進行協(xié)議交互。在VRRP協(xié)議中定義了VRID(虛擬路由器標識符)和Priority(優(yōu)先級)兩種參數(shù)[5],一個VRRP備份組必須使用相同的VRID進行標識,并且Priority值越大,三層交換機或路由器的接口越容易成為Master。Master路由設(shè)備承擔VRRP備份組的報文轉(zhuǎn)發(fā)任務(wù),并且在一個VRRP備份組中,只有Master路由設(shè)備會響應(yīng)針對虛擬網(wǎng)關(guān)的ARP Request,而處于Backup路由設(shè)備并不參與數(shù)據(jù)轉(zhuǎn)發(fā)工作,但會實時監(jiān)控當前Master的狀態(tài),以便隨時接替其工作[6]。根據(jù)業(yè)務(wù)轉(zhuǎn)發(fā)需要,備份組1中CE01和CE02優(yōu)先級分別設(shè)置為120和100;備份組2中CE01和CE02優(yōu)先級分別設(shè)置為100和120。
(三)路由分析
根據(jù)Server02的流量走向,查看AR01上的路由信息,發(fā)現(xiàn)AR01學(xué)習(xí)到的Server02主機路由是由CE01而非CE02通告,查看CE01和CE02路由表中上關(guān)于Server02的路由信息,發(fā)現(xiàn)CE01上路由信息為直連路由,路由優(yōu)先級為255;CE02上路由信息為O_ASE(OSPF的外部路由信息),路由優(yōu)先級為150,CE02并未通過直連路由學(xué)習(xí)到Server02主機路由,而是通過OSPF協(xié)議學(xué)習(xí)到的。進一步對CE02上路由信息進行詳細分析,可發(fā)現(xiàn)直連路由的狀態(tài)為Inactive Adv(未激活狀態(tài)),而狀態(tài)為Active Adv(激活狀態(tài))的路由條目是從AR01設(shè)備上通過OSPF協(xié)議學(xué)習(xí)到的。結(jié)合VRRP協(xié)議進行深入分析,在測試VRRP功能時,CE02設(shè)備發(fā)生重啟,在CE02設(shè)備重啟過程中,Server02主備網(wǎng)卡發(fā)生切換,同時VRRP備份組2的主設(shè)備變?yōu)镃E01,由CE01生成Server2的主機路由,并將Server02的主機路由通告給AR01。當CE02設(shè)備重啟完成時,AR01會將Server02的主機路由通過OSPF協(xié)議通告給CE02,此時Server02主備網(wǎng)卡再次切換,CE02設(shè)備通過arp direct-route enable命令學(xué)習(xí)到直連的主機路由,由于ARP生成的直聯(lián)主機路由優(yōu)先級為255,小于OSPF路由優(yōu)先級150,所以CE02直連路由不生效,生效的主機路由是通過OSPF學(xué)習(xí)到的。同時在CE01上關(guān)于Server02的ARP表項刷新到Eth-turnk1端口,由于Eth-trunk1端口也加入了下行口的VLAN,因此CE01會生成關(guān)于Server02的主機路由,并將該主機路由通告給AR01,導(dǎo)致上層AR01上關(guān)于Server02的主機路由不會刷新,由此在網(wǎng)絡(luò)中產(chǎn)生次優(yōu)路由。
三、優(yōu)化方案
為了確保VRRP冗余切換完成后,綜合視頻監(jiān)控系統(tǒng)數(shù)據(jù)通信網(wǎng)內(nèi)不出現(xiàn)次優(yōu)路由的問題,使用Route-policy來解決。Route-policy是一種路由選擇和控制工具,功能強大、靈活多變,可對路由信息進行篩選、過濾和屬性設(shè)置等操作,其常與ACL(訪問控制列表)或Ip-prefix配合使用,來實現(xiàn)對路由的控制,可以影響數(shù)據(jù)流量的轉(zhuǎn)發(fā)[7]。通過在CE01和CE02上部署基于Route-policy與Ip-prefix的路由控制策略,實現(xiàn)CE01在arp direct-route enable命令下,只允許發(fā)布Server01的主機路由;CE02在arp direct-route enable命令下,只允許發(fā)布Server02的主機路由,從而打破次優(yōu)路由產(chǎn)生的條件,以CE01為例,具體操作如下:
①創(chuàng)建一條名字為Server01的前綴列表,僅允許Server01的主機地址通過,命令行:ip ip-prefix server01 index 10 permit 10.0.0.4 32。
②創(chuàng)建一條Route-policy,名字為Server01,節(jié)點號為10,命令行:route-policy server01 permit node 10;在節(jié)點視圖下,使用if-match語句匹配名字為Server01的前綴列表,命令行:if-match ip-prefix server01。
③將創(chuàng)建好的路由策略應(yīng)用到arp direct-route enable,實現(xiàn)路由發(fā)布控制,命令行:arp direct-route enable route-policy server01。
同理在CE02上完成對Server02主機路由的路由策略配置,完成上述配置后,對VRRP冗余性進行驗證,確認數(shù)據(jù)通信網(wǎng)內(nèi)流量轉(zhuǎn)發(fā)不存在次優(yōu)路由的情況。
同時由于工程建設(shè)人員未對命令行的工作機制和使用限制進行深入了解,錯誤地認為arp direct-route enable命令生成的直連路由優(yōu)先級最高,使得在OSPF等多協(xié)議的聯(lián)動過程中對數(shù)據(jù)通信網(wǎng)網(wǎng)絡(luò)產(chǎn)生異常影響,因此在數(shù)據(jù)通信網(wǎng)的建設(shè)與維護過程中,應(yīng)完善作業(yè)標準化流程,加強對網(wǎng)絡(luò)協(xié)議聯(lián)動的敏感性。
四、結(jié)束語
本文通過研究鐵路綜合視頻監(jiān)控系統(tǒng)中數(shù)據(jù)通信網(wǎng)出現(xiàn)次優(yōu)路由的問題,結(jié)合OSPF和VRRP協(xié)議的工作原理,采用基于Route-policy與Ip-prefix的路由控制策略,解決了OSPF和VRRP協(xié)議聯(lián)動過程中產(chǎn)生次優(yōu)路由的問題,排查安全隱患,對數(shù)據(jù)通信網(wǎng)的工程建設(shè)和網(wǎng)絡(luò)維護,具有一定的參考意義。
作者單位:戴俊勉 胡江云 陶慧 吉家昊 中國鐵路廣州局集團有限公司
參 ?考 ?文 ?獻
[1]朱仕耿.HCNP路由交換學(xué)習(xí)指南[M].北京:人民郵電出版社,2017:490-492.
[2]華為技術(shù)有限公司.HCNA網(wǎng)絡(luò)技術(shù)學(xué)習(xí)指南[M]. 北京:人民郵電出版社,2015:192-194.
[3] 蔣建峰.HCNA網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2018:78-85.
[4] Jeff Doyle.OSPF和IS-IS詳解[M].孫余強,譯.北京:人民郵電出版社,2014:196-220.
[5]朱壯普.基于MSTP和VRRP的網(wǎng)絡(luò)高可用性技術(shù)研究與實現(xiàn)[J].太原學(xué)院學(xué)報(自然科學(xué)版),2018,36(04):46-51.
[6]胡江云,肖琳琳,龔蕓嫻,等.數(shù)據(jù)通信網(wǎng)VRRP與MSTP聯(lián)動引發(fā)的次優(yōu)路由問題分析[J].鐵道通信信號,2020,56(08):59-62.
[7]戴俊勉,李銘煜,唐春英,等.鐵路數(shù)據(jù)網(wǎng)MPLS BGP VPN雙歸屬業(yè)務(wù)路由優(yōu)化控制研究[J].鐵道通信信號,2019,55(07):54-56.