胡士毅,袁國材,范 穎
(中國船舶集團(tuán)有限公司 第七二二研究所,湖北 武漢 430205)
艦艇網(wǎng)絡(luò)是艦艇信息系統(tǒng)的重要基礎(chǔ)設(shè)施,面向作戰(zhàn)/平臺/通信/航保等多種應(yīng)用需求,業(yè)務(wù)種類多、服務(wù)質(zhì)量要求差異大。隨著艦艇裝備的不斷升級換代,基于信息系統(tǒng)的體系作戰(zhàn)對艦艇網(wǎng)絡(luò)的集成度和可靠性提出了更高的要求。提高集成度意味著統(tǒng)一的網(wǎng)絡(luò)拓?fù)?,更少的網(wǎng)絡(luò)層級,更少的部署空間,更高的端口密度和交換容量,部署面向全艦的網(wǎng)絡(luò)基礎(chǔ)服務(wù)設(shè)施。統(tǒng)一的網(wǎng)絡(luò)拓?fù)溆欣诖蚱啤盁焽琛笔酱怪毕到y(tǒng)和分散部署的各種專用網(wǎng)絡(luò)。通過VLAN 和VPN 等虛擬網(wǎng)絡(luò)技術(shù),各應(yīng)用系統(tǒng)的業(yè)務(wù)和流量可按需互聯(lián)互通和安全隔離,部署差異化的QOS 和安全性策略。傳統(tǒng)的艦艇網(wǎng)絡(luò)分為接入/匯聚/核心三級架構(gòu),集成度提高以后,可簡化為接入/核心兩級架構(gòu),可以顯著減少電纜數(shù)量、設(shè)備數(shù)量和設(shè)備占用空間,提升網(wǎng)絡(luò)資源利用率。
與此同時(shí),網(wǎng)絡(luò)的高可靠性一直是體系作戰(zhàn)的核心訴求之一。在復(fù)雜惡劣的作戰(zhàn)環(huán)境中,艦艇網(wǎng)絡(luò)各節(jié)點(diǎn)和鏈路發(fā)生故障時(shí),如何增強(qiáng)抗毀能力,減少網(wǎng)絡(luò)故障恢復(fù)時(shí)間,成為艦艇網(wǎng)絡(luò)設(shè)計(jì)的重要目標(biāo)。傳統(tǒng)的艦艇網(wǎng)絡(luò)各業(yè)務(wù)系統(tǒng)單獨(dú)組網(wǎng),可靠性保護(hù)機(jī)制互不兼容,比如對于二層業(yè)務(wù)來說,有的網(wǎng)絡(luò)采用以太網(wǎng)環(huán)網(wǎng)保護(hù)機(jī)制,有的網(wǎng)絡(luò)采用MSTP 生成樹保護(hù)機(jī)制。構(gòu)建統(tǒng)一的網(wǎng)絡(luò)拓?fù)湟院螅鞣N二三層單播/組播/廣播業(yè)務(wù)流量均在接入/核心兩級架構(gòu)中混合傳輸,如何提供統(tǒng)一的高可靠性,是一個(gè)比較大的技術(shù)挑戰(zhàn)。這主要表現(xiàn)在2 個(gè)方面:
1)在三級架構(gòu)中,核心層部署三層路由協(xié)議及三層保護(hù)協(xié)議,匯聚層部署二層交換協(xié)議及二層保護(hù)協(xié)議,因此發(fā)生故障時(shí),二層保護(hù)協(xié)議和三層保護(hù)協(xié)議一般同時(shí)觸發(fā),不存在協(xié)議同步的問題。而在兩級網(wǎng)絡(luò)架構(gòu)中,匯聚層被簡化,二層流量匯聚點(diǎn)上移到核心層,核心層既要承擔(dān)三層路由功能又要承擔(dān)二層交換功能,因此核心層發(fā)生故障時(shí),會同時(shí)觸發(fā)二層保護(hù)協(xié)議和三層保護(hù)協(xié)議,存在協(xié)議同步的問題,顯著增加了故障保護(hù)的難度。
2)由于電子設(shè)備和武器系統(tǒng)的升級,信息節(jié)點(diǎn)之間傳輸速率越來越快,對網(wǎng)絡(luò)故障恢復(fù)時(shí)間的要求也越來越高,不少故障場景的恢復(fù)時(shí)間需要達(dá)到50 ms以下,達(dá)到甚至超過了電信核心網(wǎng)絡(luò)的可靠性要求。
傳統(tǒng)以太網(wǎng)組網(wǎng)一般采用MSTP 作為二層保護(hù)協(xié)議,采用OSPF 和VRRP 作為三層保護(hù)協(xié)議,但存在鏈路阻塞和收斂速度較慢的問題。本文針對兩級扁平化的組網(wǎng)需求,討論了2 種目前常用的高可靠性組網(wǎng)方案:一種是基于設(shè)備堆疊技術(shù),另一種是基于MPLS EVPN 技術(shù)。本文分別討論這2 種方案,并對2 種方案的優(yōu)缺點(diǎn)進(jìn)行分析和評估。
2 臺核心交換機(jī)虛擬成一個(gè)堆疊組,堆疊組內(nèi)采用2 條以上的堆疊線纜互聯(lián),堆疊組之間通過鏈路聚合的方式互聯(lián)。艦艇平臺的業(yè)務(wù)通過接入交換機(jī)接入網(wǎng)絡(luò),接入交換機(jī)通過鏈路聚合的方式雙歸接入核心層堆疊組。典型組網(wǎng)方案如圖1 所示。
圖1 設(shè)備堆疊組網(wǎng)Fig.1 Device stacking network
2 臺相同容量的核心交換機(jī)堆疊以后可看作1 臺2 倍容量的核心交換機(jī)。堆疊支持跨設(shè)備鏈路聚合(Eth-Trunk)技術(shù),可以將不同成員交換機(jī)上的物理以太端口配置成一個(gè)聚合端口。這樣即使某臺成員交換機(jī)故障或聚合鏈路其中一條鏈路出現(xiàn)故障,也不會導(dǎo)致聚合鏈路完全失效,從而保證了數(shù)據(jù)流量的可靠傳輸,不但解決了堆疊設(shè)備單點(diǎn)失效的問題,還極大提高了全網(wǎng)的可靠性。通過堆疊和跨設(shè)備鏈路聚合技術(shù),圖1 中復(fù)雜的網(wǎng)狀拓?fù)淇傻刃閳D2 的鏈狀拓?fù)洌虼硕龑訕I(yè)務(wù)的冗余保護(hù)不再需要部署MSTP和VRRP 協(xié)議。
圖2 設(shè)備堆疊組網(wǎng)等效圖Fig.2 Equivalent diagram of device stacking network
對于二層單播/廣播業(yè)務(wù),可在接入交換機(jī)與核心交換機(jī)之間、核心交換機(jī)之間開啟VLAN 透傳功能。對于三層單播業(yè)務(wù),可在核心交換機(jī)上配置IP 網(wǎng)關(guān),開啟OSPF 路由協(xié)議,并配置相應(yīng)的BFD 雙向快速檢測機(jī)制。對于組播業(yè)務(wù),可在核心交換機(jī)上配置PIM組播路由協(xié)議和IGMP 組播管理協(xié)議,并在接入交換機(jī)上配置IGMP Snooping 防止組播報(bào)文在VLAN 內(nèi)廣播。
網(wǎng)絡(luò)故障處理由設(shè)備堆疊協(xié)議完成,設(shè)備堆疊協(xié)議主要功能包括主備選舉、轉(zhuǎn)發(fā)表同步和協(xié)議狀態(tài)同步,分4 種情況討論:
1)接入交換機(jī)與核心交換機(jī)互聯(lián)鏈路故障
接入交換機(jī)與核心交換機(jī)互聯(lián)鏈路采用了鏈路聚合機(jī)制,由設(shè)備堆疊協(xié)議將跨設(shè)備的物理端口虛擬到一個(gè)鏈路聚合組中,通過默認(rèn)的哈希算法將流量均勻地分擔(dān)到聚合組鏈路上,任一鏈路故障可自動(dòng)切換到其他冗余鏈路上傳輸。
2)核心交換機(jī)堆疊鏈路故障
核心交換機(jī)堆疊鏈路負(fù)責(zé)傳輸設(shè)備堆疊協(xié)議的控制報(bào)文和數(shù)據(jù)報(bào)文,控制報(bào)文主要包括主備心跳報(bào)文檢測、二三層轉(zhuǎn)發(fā)表的同步和協(xié)議狀態(tài)的同步信令,因此堆疊鏈路發(fā)生故障可能產(chǎn)生雙主故障(即同時(shí)存在2 個(gè)主交換機(jī)),導(dǎo)致整個(gè)網(wǎng)絡(luò)狀態(tài)異常。所以核心交換機(jī)上需部署多條冗余堆疊鏈路,并配置雙主檢測功能。
3)核心交換機(jī)互聯(lián)鏈路故障
核心交換機(jī)互聯(lián)鏈路采用了鏈路聚合機(jī)制,由設(shè)備堆疊協(xié)議將跨設(shè)備的物理端口虛擬到一個(gè)鏈路聚合組中,通過默認(rèn)的哈希算法將流量均勻地分擔(dān)到聚合組鏈路上,任一鏈路故障可自動(dòng)切換到其他冗余鏈路上傳輸。
4)核心交換機(jī)宕機(jī)故障
設(shè)備堆疊協(xié)議中的核心交換機(jī)分為主備2 種角色,主用交換機(jī)負(fù)責(zé)運(yùn)行控制協(xié)議,計(jì)算二三層轉(zhuǎn)發(fā)表,并將轉(zhuǎn)發(fā)表項(xiàng)同步給備用交換機(jī),備用交換機(jī)負(fù)責(zé)檢測和備份主用交換機(jī)的控制協(xié)議狀態(tài),執(zhí)行二三層轉(zhuǎn)發(fā)表。因此,如果備用交換機(jī)宕機(jī),堆疊組的控制協(xié)議不受影響,僅僅通過鏈路聚合機(jī)制,可將流量切換到主用交換機(jī)的鏈路;如果主用交換機(jī)宕機(jī),備用交換機(jī)通過主備選舉升為主用交換機(jī),激活備份的控制協(xié)議,重新計(jì)算二三層轉(zhuǎn)發(fā)表的出口,將流量切換到備用交換機(jī)。
該方案采用數(shù)據(jù)中心網(wǎng)絡(luò)中常用的MPLS EVPN 網(wǎng)絡(luò)架構(gòu)。MPLS EVPN 通過以下特性支持高可靠性組網(wǎng):
1)采用擴(kuò)展的BGP 作為服務(wù)信令協(xié)議,使不同站點(diǎn)間的MAC 地址/IP 地址學(xué)習(xí)和發(fā)布過程從數(shù)據(jù)平面轉(zhuǎn)移到控制平面,由此帶來的好處是,本地接口發(fā)生故障,只需回撤BGP 路由,大大加快了MAC 地址的刷新速度,縮短了業(yè)務(wù)故障恢復(fù)時(shí)間。
2)EVPN 采用MPLS 標(biāo)簽分發(fā)作為數(shù)據(jù)平面,因此具備50ms 電信級故障恢復(fù)能力。
3)EVPN 自帶接入交換機(jī)多歸接入核心交換機(jī)的解決方案,支持高可靠性冗余連接。
核心交換機(jī)兩兩互聯(lián)構(gòu)成全連接拓?fù)涞暮诵膶?,接入交換機(jī)作為用戶設(shè)備,雙歸接入核心層。典型組網(wǎng)方案如圖3 所示。
圖3 MPLS EVPN 組網(wǎng)Fig.3 MPLS EVPN network
EVPN 采用集成路由和橋接(IRB)接口將二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)緊密結(jié)合,IRB 接口可以分布式部署在與核心交換機(jī)的下行匯聚端口上,因此在雙歸接入的應(yīng)用場景中,不再需要部署復(fù)雜的VRRP 冗余網(wǎng)關(guān)。EVPN 的三層網(wǎng)關(guān)對內(nèi)負(fù)責(zé)各二層廣播域之間的三層路由,對外負(fù)責(zé)與非EVPN 的網(wǎng)絡(luò)三層互通。EVPN的三層網(wǎng)關(guān)之間使用擴(kuò)展BGP 協(xié)議控制路由信息的引入和發(fā)布,控制粒度可以細(xì)化到某一條特定的IP 前綴,因此具備較好的靈活性和安全性。
對于二層單播/廣播業(yè)務(wù),接入交換機(jī)只需配置VLAN 二層轉(zhuǎn)發(fā)功能,核心交換機(jī)配置與VLAN 綁定的EVPN 實(shí)例。對于三層單播業(yè)務(wù),可在核心交換機(jī)的EVPN 實(shí)例上配置IP 網(wǎng)關(guān),并配置相應(yīng)的BFD 雙向快速檢測機(jī)制。對于組播業(yè)務(wù),可在核心交換機(jī)的EVPN實(shí)例上配置IGMP Snooping 和IGMP Proxy 功能,并在接入交換機(jī)上配置IGMP Snooping,控制組播源的報(bào)文僅發(fā)送給需要這些報(bào)文的設(shè)備。
在網(wǎng)絡(luò)故障處理方面,主要依靠BFD 雙向快速檢測進(jìn)行故障快速檢測,然后采用擴(kuò)展的BGP 協(xié)議快速發(fā)布MAC/IP 路由的更新消息,分4 種情況討論:
1)接入交換機(jī)與核心交換機(jī)互聯(lián)鏈路故障
接入交換機(jī)與核心交換機(jī)互聯(lián)鏈路采用了EVPN多歸技術(shù),任一鏈路發(fā)生故障即時(shí)發(fā)布BGP 撤銷類型的以太自動(dòng)發(fā)現(xiàn)路由,向?qū)Χ送ǜ娌豢蛇_(dá)狀態(tài)。當(dāng)對端收到以太自動(dòng)發(fā)現(xiàn)路由后,自動(dòng)切換到其他冗余鏈路上傳輸,這樣可以避免逐條發(fā)送MAC/IP 路由撤銷信息,大大減少了收斂時(shí)間。
2)核心交換機(jī)互聯(lián)鏈路故障
核心交換機(jī)之間配置BGP 路由協(xié)議和標(biāo)簽分發(fā)協(xié)議LDP,并配置BFD for BGP 和BFD for LDP,BFD 心跳檢測間隔時(shí)間最快可達(dá)3.3 ms。發(fā)生鏈路故障時(shí),BFD 快速檢測到鏈路故障,并上報(bào)給BGP 協(xié)議和LDP協(xié)議,然后BGP 和LDP 協(xié)議聯(lián)動(dòng),實(shí)現(xiàn)MPLS 快速重路由功能,將流量快速切換到冗余鏈路上。
3)核心交換機(jī)宕機(jī)故障
EVPN 多歸接入組的核心交換機(jī)分為主備2 種角色。如果備用交換機(jī)宕機(jī)通過跨設(shè)備鏈路聚合機(jī)制,可將流量切換到主用交換機(jī)的鏈路。如果主用交換機(jī)宕機(jī),備用交換機(jī)通過主備選舉機(jī)制升為主用交換機(jī),將流量切換到備用交換機(jī)的鏈路,同時(shí),BFD 快速檢測到宕機(jī)故障后通知對端核心交換機(jī),實(shí)現(xiàn)MPLS快速重路由功能,將對端發(fā)送的流量快速切換到備用交換機(jī)。
為了比較2 種方案的故障恢復(fù)時(shí)間,按照圖1 和圖2 搭建試驗(yàn)環(huán)境,使用網(wǎng)絡(luò)測試儀模擬二三層單播/組播/廣播混合流量,分別產(chǎn)生1.2 節(jié)和2.2 節(jié)所述故障場景各5 次,通過統(tǒng)計(jì)發(fā)生故障時(shí)丟包數(shù)計(jì)算平均故障恢復(fù)時(shí)間。試驗(yàn)結(jié)果如表1 所示。
從表1 可以看出,MPLS EVPN 方案的平均故障恢復(fù)時(shí)間為10.2ms,所有故障場景的恢復(fù)時(shí)間均小于50ms,設(shè)備堆疊方案的平均故障恢復(fù)時(shí)間為66.2ms,部分組播業(yè)務(wù)的故障恢復(fù)時(shí)間大于50ms,因此MPLS EVPN 方案明顯優(yōu)于設(shè)備堆疊方案。這主要是因?yàn)樵O(shè)備堆疊本質(zhì)上還是一種設(shè)備級的冗余保護(hù)機(jī)制,而MPLS EVPN 采用的是網(wǎng)絡(luò)級的冗余保護(hù)機(jī)制。在故障檢測方面,MPLS EVPN 采用了BFD 快速檢測,可以顯著縮短故障檢測時(shí)間;在故障恢復(fù)方面,MPLSEVPN 采用了快速重路由技術(shù),將預(yù)先計(jì)算的備份路徑寫入路由表,省去了傳統(tǒng)IP 路由協(xié)議重新學(xué)習(xí)路由的時(shí)間,使流量能夠更快地切換到備份路徑。
表1 故障恢復(fù)時(shí)間試驗(yàn)Tab.1 Failure recovery time test
MPLS EVPN 方案的優(yōu)點(diǎn)如下:
1)故障恢復(fù)時(shí)間更短,可以達(dá)到50 ms 以內(nèi);
2)設(shè)備之間采用標(biāo)準(zhǔn)協(xié)議,不同廠家的設(shè)備可以混合組網(wǎng);
3)設(shè)備之間支持任意拓?fù)浣Y(jié)構(gòu),擴(kuò)展性好。
MPLS EVPN 方案的缺點(diǎn)主要是IP/MPLS 控制信令的配置比較復(fù)雜,組網(wǎng)成本較高。
相比之下,設(shè)備堆疊方案的優(yōu)點(diǎn)在于配置簡單,組網(wǎng)成本不高,但存在如下缺點(diǎn):
1)設(shè)備之間采用私有協(xié)議,不同廠家的設(shè)備不能混合組網(wǎng);
2)設(shè)備之間的堆疊鏈路不能中斷,否則會產(chǎn)生雙主故障引起網(wǎng)絡(luò)狀態(tài)混亂;
3)堆疊數(shù)量有限制,并且堆疊拓?fù)渲恢С汁h(huán)狀和鏈狀拓?fù)洌恢С志W(wǎng)狀拓?fù)洌?/p>
4)故障恢復(fù)時(shí)間較長,部分場景不能達(dá)到50 ms以內(nèi)。
艦艇網(wǎng)絡(luò)技術(shù)近十年間的演進(jìn),是在傳統(tǒng)以太網(wǎng)向以數(shù)據(jù)中心為主的SDN 網(wǎng)絡(luò)轉(zhuǎn)型的大背景下展開的。本文討論了2 種常見的組網(wǎng)方案:設(shè)備堆疊和MPLS EVPN,前者是主要是從設(shè)備層面對可靠性進(jìn)行增強(qiáng),后者則是隨著SDN 網(wǎng)絡(luò)興起的一種新型網(wǎng)絡(luò)架構(gòu),因?yàn)檗D(zhuǎn)發(fā)層使用了MPLS 技術(shù),所以具備端到端的高可靠性。實(shí)際上,隨著SDN 網(wǎng)絡(luò)的進(jìn)一步發(fā)展,一些控制信令更簡單的端到端轉(zhuǎn)發(fā)技術(shù)正逐漸興起,比如IPv6 版本的SR 分段路由技術(shù)(SRv6),由于使用了源路由技術(shù),SRv6 核心交換機(jī)上不需要維護(hù)復(fù)雜的路徑狀態(tài),使用和維護(hù)更加簡單。因此,如何在艦艇網(wǎng)絡(luò)中部署包括SRv6 在內(nèi)的下一代SDN 網(wǎng)絡(luò)技術(shù),進(jìn)一步提高艦艇網(wǎng)絡(luò)的可靠性和可用性,是未來值得研究的方向之一。