李銘煜,胡江云,戴俊勉,鐘毓浩
隨著鐵路數(shù)據(jù)網(wǎng)的發(fā)展,鐵路用戶對(duì)業(yè)務(wù)種類的需求越來(lái)越多。對(duì)于特定用戶,需要訪問(wèn)多個(gè)不同業(yè)務(wù),單業(yè)務(wù)的使用已經(jīng)不能滿足正常的工作需求,急需不同業(yè)務(wù)之間特定路由互通。而修改業(yè)務(wù)中MPLS VPN(基于多協(xié)議標(biāo)簽轉(zhuǎn)換的虛擬專用網(wǎng))的RT 值(路由目標(biāo))是實(shí)現(xiàn)路由互通的一種常見(jiàn)方法,但存在安全隱患。如果網(wǎng)絡(luò)規(guī)劃不合理或路由指向配置錯(cuò)誤,這種錯(cuò)誤會(huì)擴(kuò)散到全網(wǎng),從而影響業(yè)務(wù)網(wǎng)絡(luò)的正常使用[1]。因此有必要分析并設(shè)計(jì)跨VPN路由的優(yōu)化方案。
通常MPLS VPN 中,定義RT 值來(lái)控制VPN路由信息在不同站點(diǎn)的發(fā)布和接收[2]。根據(jù)運(yùn)電通信函[2016]369 號(hào)《鐵路數(shù)據(jù)通信網(wǎng)編號(hào)規(guī)則及路由規(guī)范》的規(guī)定:MPLS VPN 設(shè)置規(guī)范,RT值一般格式為Y∶Y,其中“Y”為業(yè)務(wù)的VPN 編號(hào)[3]。如在鐵路通信網(wǎng)中存在a業(yè)務(wù)和b業(yè)務(wù),其業(yè)務(wù)編號(hào)分別為1 和2,則a 業(yè)務(wù)和b 業(yè)務(wù)的RT 值分別為1∶1和2∶2。為實(shí)現(xiàn)a 業(yè)務(wù)和b 業(yè)務(wù)下特定鐵路用戶能夠相互訪問(wèn),對(duì)a 業(yè)務(wù)和b 業(yè)務(wù)MPLS VPN中的RT值進(jìn)行修改,見(jiàn)表1。

表1 a業(yè)務(wù)和b業(yè)務(wù)RT值變化表
a 業(yè)務(wù)和b 業(yè)務(wù)特定鐵路用戶能實(shí)現(xiàn)互通[4]。但除此之外,a 業(yè)務(wù)和b 業(yè)務(wù)的其他普通用戶也能相互訪問(wèn),這存在著極大的安全隱患。當(dāng)a 業(yè)務(wù)用戶設(shè)置錯(cuò)誤的IP 地址時(shí),可能與b 業(yè)務(wù)用戶IP 地址造成沖突;或當(dāng)a 業(yè)務(wù)用戶配置錯(cuò)誤的路由指向時(shí),可能收到大量的b 業(yè)務(wù)發(fā)來(lái)的垃圾路由信息,影響業(yè)務(wù)的正常使用。
為保證多種不同業(yè)務(wù)中特定用戶實(shí)現(xiàn)路由互通,同時(shí)禁止業(yè)務(wù)間路由信息相互影響,有必要設(shè)計(jì)合理的優(yōu)化方案,控制路由信息的發(fā)布。
為實(shí)現(xiàn)跨VPN 的特定用戶路由互通,同時(shí)避免對(duì)業(yè)務(wù)內(nèi)其他路由造成影響,可以采取部署路由策略(Route-policy) 的方式[5]。Route-policy是一種實(shí)用的過(guò)濾器,用于過(guò)濾路由信息和為路由信息設(shè)置路由屬性,已被廣泛用于各種路由協(xié)議之中,通過(guò)控制路由的引入、發(fā)布、接收,來(lái)對(duì)路由進(jìn)行優(yōu)化和調(diào)整[6]。
Route-policy 中包括N(N≥1) 個(gè) node (節(jié)點(diǎn)),每個(gè)node由多個(gè)If-match和Apply子句組成。其中If-match 子句定義該節(jié)點(diǎn)路由的匹配條件,Apply 子句定義該節(jié)點(diǎn)對(duì)過(guò)濾路由執(zhí)行的行為。路由在執(zhí)行路由策略后,將按照節(jié)點(diǎn)序號(hào)從小到大依次檢查各節(jié)點(diǎn)是否匹配,若路由與該節(jié)點(diǎn)內(nèi)全部的If-match 子句都匹配成功,則進(jìn)入匹配選擇模式,否則進(jìn)入下一個(gè)節(jié)點(diǎn);若路由不能匹配Route-policy 中任何一個(gè)節(jié)點(diǎn),則路由將無(wú)法通過(guò)該路由策略[7]。
If-match子句定義匹配條件,其匹配對(duì)象為路由信息的一些屬性,例如路由的目的地址、源地址、出接口等。因此If-match子句經(jīng)常與ACL(訪問(wèn)控制列表)和IP-prefix(前綴列表)配合使用。
ACL是一組順序排列的過(guò)濾器,每條過(guò)濾器均由匹配條件和動(dòng)作組成,動(dòng)作分為permit(允許)和deny(拒絕),應(yīng)用在數(shù)據(jù)層面過(guò)濾數(shù)據(jù)包或路由控制層面匹配路由[8]。使用ACL雖然可以很好地匹配路由的前綴信息,但卻無(wú)法識(shí)別前綴相同、掩碼不同的路由,不能對(duì)路由進(jìn)行精確的控制,這是ACL的隱形缺陷,這就需要采用IP-prefix[9]。相比于ACL,IP-prefix 用于匹配的對(duì)象為路由信息的目的地址或直接作用于路由器對(duì)象,通過(guò)過(guò)濾IP前綴,能夠同時(shí)匹配前綴和網(wǎng)絡(luò)掩碼。IP-prefix對(duì)路由信息的篩選和控制方面優(yōu)于ACL。因此,在鐵路數(shù)據(jù)網(wǎng)中,為控制特定用戶路由互通,對(duì)路由策略選擇IP-prefix與Route-policy來(lái)配合使用。
Apply 子句定義需執(zhí)行的行為,主要是對(duì)所匹配路由的某些屬性進(jìn)行修改,例如修改路由的優(yōu)先級(jí)、開(kāi)銷值、標(biāo)識(shí)等。若一個(gè)節(jié)點(diǎn)中不包含任何Apply 子句,則該節(jié)點(diǎn)只用于路由過(guò)濾,不能設(shè)置路由屬性。
假設(shè)a 業(yè)務(wù)下特定的用戶終端需要訪問(wèn)b 業(yè)務(wù)下特定的用戶服務(wù)器,同時(shí)禁止a 業(yè)務(wù)和b 業(yè)務(wù)其余網(wǎng)段下用戶相互訪問(wèn),設(shè)計(jì)鐵路數(shù)據(jù)網(wǎng)跨VPN路由優(yōu)化組網(wǎng)如圖1所示。

圖1 鐵路數(shù)據(jù)網(wǎng)跨VPN路由優(yōu)化組網(wǎng)
AR01/02/03/04 形成“口”字型組網(wǎng),AR01和AR03、AR02 和AR04 通過(guò)業(yè)務(wù)子接口建立EBGP(外部邊界網(wǎng)關(guān)協(xié)議)連接,其中AR01/02為位于鐵路數(shù)據(jù)網(wǎng)AS(自治系統(tǒng))內(nèi)的PE 設(shè)備,其AS號(hào)為1,且AR01/02上需配置a業(yè)務(wù)和b業(yè)務(wù)VPN 實(shí)例;AR03/04 為位于用戶自定義AS 內(nèi)的CE 設(shè)備,其AS 號(hào)為2,且AR03/04 上禁止配置a 業(yè)務(wù)和b 業(yè)務(wù)VPN 實(shí)例。考慮到鐵路數(shù)據(jù)網(wǎng)網(wǎng)絡(luò)安全的重要性和必要性,在實(shí)際建設(shè)中,應(yīng)在AS:1 和AS:2 間增設(shè)防火墻等安全防護(hù)設(shè)備,防止鐵路數(shù)據(jù)網(wǎng)路由信息泄漏,或錯(cuò)誤的路由信息進(jìn)入鐵路數(shù)據(jù)網(wǎng)內(nèi),對(duì)鐵路數(shù)據(jù)業(yè)務(wù)造成影響。
鐵路數(shù)據(jù)網(wǎng)在AS 內(nèi),采用IS-IS(中間系統(tǒng)到中間系統(tǒng))承載設(shè)備路由,MP-IBGP(多協(xié)議內(nèi)部邊界網(wǎng)關(guān)協(xié)議)承載業(yè)務(wù)路由,以幫助AS內(nèi)路由器發(fā)現(xiàn)本AS 各個(gè)網(wǎng)段的路由,從而實(shí)現(xiàn)AS 內(nèi)部的數(shù)據(jù)互通。AR01/02 位于鐵路數(shù)據(jù)網(wǎng)AS 內(nèi),通過(guò)IS-IS 和MP-IBGP 協(xié)議,可以學(xué)習(xí)到鐵路數(shù)據(jù)網(wǎng)內(nèi)a 業(yè)務(wù)和b 業(yè)務(wù)全部的路由信息,但由于業(yè)務(wù)的RT 值不同,所以a 業(yè)務(wù)和b 業(yè)務(wù)路由信息無(wú)法互通,AR01/02 通過(guò)EBGP 協(xié)議將a業(yè)務(wù)和b 業(yè)務(wù)路由通告給AR03/04,由于AR03/04 為CE 設(shè)備,且未設(shè)置VPN 實(shí)例,所以AR03/04 的a 業(yè)務(wù)和b 業(yè)務(wù)路由承載在公共網(wǎng)絡(luò)中,可相互訪問(wèn)。
在AR03/04上部署控制策略,控制AR03/04發(fā)布給AR01/02的路由信息。通過(guò)IP-prefix篩選出需要不同業(yè)務(wù)間特定用戶互通的路由網(wǎng)段,結(jié)合Route-policy 對(duì)篩選出的路由網(wǎng)段添加路由屬性標(biāo)識(shí),并控制路由發(fā)布去向。如圖1所示,AR01/02學(xué)習(xí)到a業(yè)務(wù)全部路由信息后,通過(guò)EBGP協(xié)議發(fā)布給AR03/04,AR03/04 通過(guò) IP-prefix 篩選出 a 業(yè)務(wù)特定用戶終端的IP 地址,使用Route-policy添加路由屬性值community(團(tuán)體)標(biāo)識(shí),用于標(biāo)記該路由是從a 業(yè)務(wù)發(fā)布至b 業(yè)務(wù),并用Route-policy 控制AR03/04發(fā)布給AR01/02的b業(yè)務(wù)路由,為a業(yè)務(wù)特定網(wǎng)段路由,則鐵路數(shù)據(jù)網(wǎng)中b業(yè)務(wù)網(wǎng)段將存在a業(yè)務(wù)特定網(wǎng)段路由。由于鐵路數(shù)據(jù)網(wǎng)中a業(yè)務(wù)路由還不存在b業(yè)務(wù)特定網(wǎng)段路由,還需將鐵路數(shù)據(jù)網(wǎng)中b業(yè)務(wù)特定網(wǎng)段路由發(fā)布至a業(yè)務(wù)中,以此實(shí)現(xiàn)a業(yè)務(wù)下特定的用戶終端訪問(wèn)b業(yè)務(wù)下特定的用戶服務(wù)器。
以圖1 為例,在華為數(shù)通模擬器中搭建組網(wǎng),通過(guò)對(duì)AR03/04進(jìn)行路由控制策略,實(shí)現(xiàn)a業(yè)務(wù)用戶終端1.0.0.1 和b 業(yè)務(wù)用戶服務(wù)器2.0.0.1 能夠相互訪問(wèn),同時(shí)禁止a 業(yè)務(wù)和b 業(yè)務(wù)網(wǎng)段下其余用戶相互訪問(wèn),具體操作如下。
1)創(chuàng)建一條名為a-To-b的前綴列表,只允許IP 前綴的前32 位為1.0.0.1 用戶終端通過(guò),命令:ipip-prefix a-To-b index 5 permit 1.0.0.1 32greater-equal 32 less-equal 32。
2)創(chuàng)建一條node 為10、名為b 的路由策略,命令:route-policy b permit node 10。
3)在route-policy 節(jié)點(diǎn)視圖下,創(chuàng)建If-match子句,用于匹配名為a-To-b 的前綴列表,命令:if-match ip-prefix a-To-b;創(chuàng)建Apply 子句,標(biāo)識(shí)community 屬性是從a 業(yè)務(wù)發(fā)布至b 業(yè)務(wù)網(wǎng)絡(luò)中的,命令:apply community 1:2。將創(chuàng)建的路由策略應(yīng)用到AR03/04 的BGP 中,控制AR03/04 的路由發(fā)布,就可以將a 業(yè)務(wù)終端1.0.0.1 的路由信息發(fā)布至鐵路數(shù)據(jù)網(wǎng)b 業(yè)務(wù)網(wǎng)段中,同時(shí)禁止a業(yè)務(wù)其他網(wǎng)段發(fā)布至鐵路數(shù)據(jù)網(wǎng)b 業(yè)務(wù)網(wǎng)段,有效控制了路由信息的傳遞。同理創(chuàng)建將b 業(yè)務(wù)特定服務(wù)器2.0.0.1 發(fā)布至a 業(yè)務(wù)網(wǎng)段的控制策略,實(shí)現(xiàn)特定業(yè)務(wù)路由互通。
通過(guò)在模擬器上仿真試驗(yàn),控制策略可以有效對(duì)路由進(jìn)行篩選,達(dá)到預(yù)期效果。
鐵路數(shù)據(jù)網(wǎng)發(fā)展越來(lái)越迅速,各業(yè)務(wù)用戶間信息交互越來(lái)越頻繁。為實(shí)現(xiàn)不同業(yè)務(wù)間路由互通,同時(shí)保證鐵路數(shù)據(jù)網(wǎng)網(wǎng)絡(luò)安全,探討以IP-prefix 和Route-policy 相結(jié)合的路由控制策略,設(shè)計(jì)跨VPN 路由優(yōu)化組網(wǎng),并通過(guò)仿真模擬,驗(yàn)證多業(yè)務(wù)特定路由互通的可能性,同時(shí)有效避免因修改MPLS VPN 的RT 值來(lái)實(shí)現(xiàn)多路由互通存在的安全隱患,為鐵路數(shù)據(jù)網(wǎng)工程建設(shè)和網(wǎng)絡(luò)優(yōu)化提供參考與借鑒。