沈 蕾
(中國鐵路上海局集團(tuán)有限公司上海通信段,上海 200080)
Intermediate System-to-Intermediate System(IS-IS)是一種基于內(nèi)部網(wǎng)關(guān)的動態(tài)路由協(xié)議,用在自治系統(tǒng)內(nèi)部,如圖1 所示[1]。為承載大規(guī)模的路由表項(xiàng),IS-IS 協(xié)議采用分層結(jié)構(gòu),將PE 設(shè)備分成若干等級,它分為骨干區(qū)域,邊緣區(qū)域和用戶業(yè)務(wù)接入?yún)^(qū)域,并定義了路由器的3 種角色: Level-1、Level-2 和Level-1-2。

圖1 IS-IS基本模型Fig.1 IS-IS basic model
Level-1 管理域內(nèi)的路由, Level-1-2 和Level-2 管理骨干區(qū)域的路由, Level-1 只與同一區(qū)域的Level-1 和Level-1-2 形成鄰居關(guān)系,只建立一個(gè)包含本區(qū)域Level-1 的鏈路狀態(tài)數(shù)據(jù)庫(LSA), 維護(hù)本區(qū)域的路由信息。Level-1-2 作為連接骨干區(qū)域與接入?yún)^(qū)域的邊緣連接點(diǎn),同時(shí)擁有Level-1 和Level-2 的路由,在IS-IS 路由協(xié)議中,作為IS-IS 協(xié)議的缺省屬性,ipv4 路由默認(rèn)為Level-1。因此在同一區(qū)域內(nèi)Level-1 的數(shù)量非常多時(shí),容易產(chǎn)生Level-1 的次優(yōu)路由[2]。
為解決一級反射建立鄰居數(shù)據(jù)量的局限性,在MLPS VPN 中采用分層Hierarchy of PE(PE),將PE 分為低端用戶級和高端匯聚轉(zhuǎn)發(fā)級,讓部分PE 承擔(dān)二級反射的角色,緩解只有一級反射的壓力,并形成層次結(jié)構(gòu),共同完成一個(gè)PE 的功能[3]。
HoPE 體系結(jié)構(gòu)如圖2 所示,將傳統(tǒng)MPLS L3 VPN 的PE 設(shè)備分為高端設(shè)備和低端設(shè)備,與用戶CE 設(shè)備直接相連的PE 設(shè)備稱為下層PE(Under-Layer PE 或User-end PE,用戶側(cè)PE),簡寫為UPE;連接UPE 并位于網(wǎng)絡(luò)內(nèi)部的設(shè)備稱為上層PE(Super-Stratum PE 或ServiceProviderend PE,服務(wù)提供商側(cè)PE),簡寫為SPE。多個(gè)UPE 和一個(gè)SPE組成分層式PE,同時(shí)承擔(dān)PE 的功能。與用戶的CE 設(shè)備直接相連的PE 設(shè)備稱為UPE。

圖2 HoPE體系結(jié)構(gòu)Fig.2 HoPE system architecture
上海局鐵路數(shù)據(jù)通信網(wǎng)目前在網(wǎng)設(shè)備共計(jì)1 053 套,由于設(shè)備數(shù)量多,規(guī)模較大,按照總公司鐵路數(shù)據(jù)網(wǎng)編號規(guī)則及路由規(guī)范(運(yùn)電通信函[2016]369 號文),采用IS-IS 分層結(jié)構(gòu)[7],分核心層(Level-2)、匯聚層(Level-1-2)和接入層(Level-1),拓?fù)浣Y(jié)構(gòu)如圖3 所示。
在上海虹橋北輔樓和客專調(diào)度樓各設(shè)1 套華為NE40E-X16 設(shè)備,作為鐵路數(shù)據(jù)網(wǎng)路由轉(zhuǎn)發(fā)核心節(jié)點(diǎn),主要完成與總公司骨干數(shù)據(jù)網(wǎng)互聯(lián),用于轉(zhuǎn)發(fā)出局業(yè)務(wù)。2 套核心設(shè)備采用10GE 裸纖互聯(lián),采用Level-2 層級。

圖3 上海局鐵路數(shù)據(jù)通信組網(wǎng)結(jié)構(gòu)示意Fig.3 Schematic diagram of railway data communication network structure of Shanghai Bureau
在客專調(diào)度樓和上海虹橋北輔樓分別設(shè)2 套一級反射節(jié)點(diǎn)(RR)路由器,采用華為NE20E-S8設(shè)備,主要完成與二級反射節(jié)點(diǎn)之間鄰居的建立,其中上海虹橋反射節(jié)點(diǎn)路由器作為主用,客專調(diào)度樓反射節(jié)點(diǎn)路由器作為備用,呈負(fù)荷分擔(dān)方式。
在上海局客專調(diào)度樓、上海虹橋北輔樓、杭州東三電綜合樓、衢州通信樓、金華通信樓、寧波東通信樓、溫州通信樓、蘇州通信樓、南京傳輸室、南京南京滬高場、安慶站、合肥RBC 機(jī)房、合肥南合福場、阜陽通信樓、淮北通信樓、徐州東通信樓、徐州傳輸室、海安通信樓各設(shè)2 套匯聚路由器(華為型號為NE40E-X3,NE40E-X8,NE40E-8,華三設(shè)備型號為CR16008)作為匯聚及二級反射節(jié)點(diǎn),主要完成與接入路由器鄰居的建立和路由表的轉(zhuǎn)發(fā)。匯聚層到核心層上聯(lián)利用GE 或10GE 以上傳輸通道,口字型互聯(lián)。設(shè)備全局模式下啟用Level-1-2,作為連接Level-2 區(qū)域和Level-1 區(qū)域的邊緣設(shè)備,上海局目前采用異地雙反射方式對接入層設(shè)備進(jìn)行雙重保護(hù),即同一區(qū)域的接入層跟異地的匯聚路由器均做反射。
接入層根據(jù)不同線別,華為采用NE20E 系列設(shè)備,華三部分采用SR66 系列設(shè)備,就近接入?yún)R聚路由器,華為和華三的設(shè)備分別采用不同區(qū)域號,以保證不同區(qū)域的接入路由器之間沒有Level-1 的路由,減少路由條目數(shù)。接入層采用異地雙反射模式,分別與不同地區(qū)的2 套匯聚路由器建立反射。接入層本線互聯(lián)通道采用裸纖GE 互聯(lián),每條線設(shè)若干抽頭,上聯(lián)至匯聚路由器。接入層全局模式下啟用Level-1,該區(qū)域內(nèi)設(shè)備作為上海局?jǐn)?shù)據(jù)通信網(wǎng)業(yè)務(wù)承載層,與用戶側(cè)CE 相連,完成業(yè)務(wù)的互聯(lián)互通,在接入路由器通過不同VPN 來隔離業(yè)務(wù),使各自業(yè)務(wù)系統(tǒng)相互獨(dú)立,不發(fā)生沖突。
由于上海局基礎(chǔ)網(wǎng)改造數(shù)據(jù)網(wǎng)組網(wǎng)采用HoPE模式,接入路由器為UPE,是承載上海局鐵路數(shù)據(jù)網(wǎng)業(yè)務(wù)的用戶邊緣路由器,僅能維護(hù)本Level-1 域內(nèi)的VPN 站點(diǎn)路由, 但不維護(hù)其他區(qū)域內(nèi)站點(diǎn)的路由。
各地區(qū)匯聚路由器作為Level-1-2 層,主要作用是維護(hù)本區(qū)域和相鄰區(qū)域VPN 的路由,保證不同區(qū)域內(nèi)Level-1 接入路由器間業(yè)務(wù)能夠正常互訪。
匯聚路由器在上海局不僅承擔(dān)SPE 的角色,同時(shí)還作為二級路由反射器來使用,作為一級路由反射器的客戶機(jī)(reflect client),學(xué)習(xí)一級路由反射器發(fā)來的BGP 路由,指定接入路由器為其反射客戶端,向客戶機(jī)反射BGP 路由。由于接入路由器沒有Level-2 等級ISIS 路由表,所以需要在匯聚路由器對接入路由器反射時(shí),修改下一跳為自身地址(next-hop-local)。接入路由器中有明細(xì)路由表,但下一跳不是真實(shí)始發(fā)路由器,而是屬性為Level-2 的匯聚路由器。這就導(dǎo)致接入設(shè)備間橫向流量都要通過匯聚路由器轉(zhuǎn)發(fā)的問題,如圖4 所示,按照IS-IS 協(xié)議默認(rèn)情況下,AR02 訪問AR01 是按照最短路徑優(yōu)先,直接優(yōu)選AR02 與AR01 互聯(lián)的鏈路,但采用HoPE 后,AR02 再訪問AR01 時(shí),AR02 的下一跳被強(qiáng)制為匯聚路由器,再由匯聚路由器轉(zhuǎn)發(fā)到AR01,這樣大大增加接入設(shè)備間的橫向轉(zhuǎn)發(fā)流量, 嚴(yán)重浪費(fèi)帶寬資源。
在HoPE 模式下,UPE 與SPE 設(shè)備間為IS-IS Level-1 區(qū)域,所以UPE 只有本區(qū)域Level-1 設(shè)備路由一級SPE 下發(fā)的缺省路由。
匯聚路由器DR 設(shè)備作為SPE,與核心路由反射器RR 設(shè)備建立IBGP 鄰居關(guān)系,從一級反射器學(xué)習(xí)全網(wǎng)BGP 路由。與下掛接入路由器AR 建立IBGP 鄰居關(guān)系,通過下發(fā)缺省路由的方式,下發(fā)給接入路由器各VPNV4 業(yè)務(wù)系統(tǒng)缺省路由, 并將路由下一跳更改為自身loopback 地址。此時(shí),當(dāng)有新的VPN 業(yè)務(wù)接入時(shí),SPE 需要為每個(gè)新接入的業(yè)務(wù)系統(tǒng)創(chuàng)建VPN 實(shí)例。
接入路由器作為UPE 設(shè)備,只需要與上行SPE 設(shè)備建立IBGP 鄰居關(guān)系,接收SPE 設(shè)備下發(fā)的缺省路由,并將自身路由發(fā)送給SPE, 如圖5 所示,當(dāng)UPE 同左右SPE 同時(shí)做了反射,在缺省路由模式下,核心層路由器CR 與匯聚層路由器DR上行鏈路一旦斷開,匯聚路由器DR01 和DR02 可以學(xué)習(xí)到業(yè)務(wù)網(wǎng)段的BGP VPNV4 明細(xì)路由。但是業(yè)務(wù)網(wǎng)段路由沒有被優(yōu)選,不能指導(dǎo)數(shù)據(jù)轉(zhuǎn)發(fā),因?yàn)锽GP VPNV4 路由被優(yōu)選的一個(gè)必要條件為下一跳地址存在標(biāo)簽交換路徑(LSP)。在HoPE 模式上行鏈路斷開后,查看匯聚路由器的LSP 表項(xiàng),會發(fā)現(xiàn)本地不存在BGP VPNV4 路由器下一跳的LSP,因?yàn)槿笔∏闆r下SPE 只能為擁有32 位明細(xì)路由的路由器分配MPLS 標(biāo)簽。所以,當(dāng)一端匯聚路由器SPE 上行鏈路中斷后,本地IS-IS 協(xié)議無法通過原有Level-2 鄰居關(guān)系學(xué)習(xí)到明細(xì)路由,僅能通過另一端的匯聚路由器學(xué)習(xí)到Level-1 的缺省路由。IS-IS 缺省情況下,SPE 不會為該缺省路由分配標(biāo)簽,從而導(dǎo)致業(yè)務(wù)BGP VPNV4 路由沒有被優(yōu)先,造成上行鏈路中斷時(shí)SPE 下掛的所有UPE 設(shè)備業(yè)務(wù)中斷。
為解決HoPE 模式作為SPE 的匯聚路由器下發(fā)缺省路由問題,在相應(yīng)SPE 匯聚路由器將32 位掩碼的loopback 地址路由從IS-IS 協(xié)議Level-2 區(qū)域滲透到Level-1 區(qū)域, 即路由滲透,具體配置如下:
ip prefix-list test index 10 permit 0.0.0.0 0 greater-equal 32 less-equal 32
import-route isis Level-2 into Level-1 filter-policy ip-prefix test

圖5 核心到匯聚鏈路中斷Fig.5 link between the core router and convergence router interrupted

圖6 路由滲透Fig.6 Route leaking
當(dāng)匯聚路由器上行鏈路故障后,依然可以從其他做過反射的匯聚路由器學(xué)習(xí)到業(yè)務(wù)網(wǎng)段下一跳明細(xì)路由,如圖6 所示,查看匯聚路由器的LSP表項(xiàng),本地已經(jīng)能夠從另一個(gè)SPE 學(xué)習(xí)到BGP VPNV4 下一跳的LSP,即便上層鏈路中斷,下層接入路由器業(yè)務(wù)也不會中斷。
上海局基礎(chǔ)數(shù)據(jù)網(wǎng)工程中,原二級反射器配置方式為:
bgp 65133
peer 10.54.61.235 group in
ipv4-family vpnv4
peer in enable
peer in next-hop-local
peer in reflect-client
peer in upe
peer in default-route-advertise vpn-instance SCADA109
peer in default-route-adverties …
peer 10.54.61.235 enable
peer 10.54.61.235 group in
…
為解決默認(rèn)下一跳為匯聚路由器的問題,通過在BGP 中配置以下的策略:
bgp 65133
peer 10.54.61.235 group in
ipv4-family vpnv4
undo policy vpn-target //新增
peer in enable
peer in reflect-client
peer in upe route-policy hope export
peer in upe
peer in default-route-advertise vpn-instance SCADA109
peer in default-route-adverties …
peer 10.54.61.235 enable
peer 10.54.61.235 group in
…
route-policy hope pemit node 10
if-match ip address acl 3000
acl advanced 3000
rule 0 permit ip
可以實(shí)現(xiàn)基于HoPE 架構(gòu)的基礎(chǔ)上,由SPE 向UPE 發(fā)布全部下一跳地址為對應(yīng)接入設(shè)備地址的業(yè)務(wù)明細(xì)路由,當(dāng)兩個(gè)路由器之間業(yè)務(wù)互訪時(shí),下一跳不再強(qiáng)制為匯聚路由器,而是根據(jù)路由表選擇路由,避免橫向轉(zhuǎn)發(fā)流量的資源浪費(fèi)。
本文通過在上海局既有鐵路數(shù)據(jù)網(wǎng)配置路由滲透策略,保證了當(dāng)區(qū)域內(nèi)匯聚路由器至核心路由器上行鏈路中斷后,該區(qū)域內(nèi)Level-1 接入路由器承載的所有業(yè)務(wù)不會受影響;本文通過優(yōu)化BGP 策略配置,實(shí)現(xiàn)路由自動優(yōu)選,保證了當(dāng)兩個(gè)Level-1 路由器之間業(yè)務(wù)互訪時(shí),下一跳不再強(qiáng)制為Level-1-2 的匯聚路由器,而是根據(jù)路由表選擇路由,避免了橫向轉(zhuǎn)發(fā)流量的資源浪費(fèi),大大提高了鐵路數(shù)據(jù)通信網(wǎng)業(yè)務(wù)的安全可靠性。