李東
(上海海勃物流軟件有限公司 上海市 200080)
隨著時(shí)代的發(fā)展,數(shù)據(jù)中心的規(guī)模和功能也在不斷的演進(jìn),租戶業(yè)務(wù)高冗余的要求催生了跨區(qū)域的雙活云數(shù)據(jù)中心,然而,投入巨大的跨區(qū)域雙活數(shù)據(jù)中心也面臨著眾多,首先租戶的服務(wù)應(yīng)用呈現(xiàn)量級(jí)膨脹,并且要求實(shí)現(xiàn)負(fù)載均衡、無感快速遷移和自由伸縮延展,這些需求,傳統(tǒng)的基于Underlay 網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)已經(jīng)難以為繼,在此背景下,基于NVO3 的IP Overlay 的邏輯大二層網(wǎng)絡(luò)設(shè)計(jì)虛擬網(wǎng)絡(luò)架構(gòu)逐漸成為了業(yè)界主流,NVO3 主要有VXLAN、NVGRE 和STT 三種,其中VXLAN 以其部署靈活、兼容性好、快速收斂、高效轉(zhuǎn)發(fā)、環(huán)路比較少、對(duì)虛擬資源管理更加便利的特點(diǎn)得到了更廣泛的應(yīng)用,從VXLAN 的控制層面考慮,分布式的EVPN+VXLAN 更有利于控制流量泛洪,同時(shí)VTEP 發(fā)現(xiàn)和主機(jī)信息學(xué)習(xí)從數(shù)據(jù)平面轉(zhuǎn)移到控制平面,對(duì)數(shù)據(jù)資源池的管理更加高效可靠。
跨區(qū)域數(shù)據(jù)中心通常由IDC(主)和IDC(冗余)組成,同時(shí)運(yùn)營(yíng),互為備份。IDC 要滿足租戶應(yīng)用可以自動(dòng)切換,業(yè)務(wù)零中斷,數(shù)據(jù)零丟失的需求,實(shí)現(xiàn)網(wǎng)絡(luò)、應(yīng)用、數(shù)據(jù)資源層面的雙活,傳統(tǒng)的數(shù)據(jù)中心的網(wǎng)絡(luò)架構(gòu)有STP、CSS、TRILL 等幾種,都是基于以太網(wǎng)設(shè)計(jì),強(qiáng)調(diào)即插即用,數(shù)據(jù)面向?qū)W習(xí),主要存在以下幾個(gè)方面的問題:
(1)由于VLAN 的ID 只有12bit,因此VLAN 的管理虛擬機(jī)的規(guī)模最大為4K,擴(kuò)展性差;
(2)鏈路的利用率比較低,無TTL 設(shè)計(jì),容易產(chǎn)生廣播風(fēng)暴和網(wǎng)絡(luò)環(huán)路,網(wǎng)絡(luò)隔離能力差,存在安全隱患;
(3)業(yè)務(wù)和網(wǎng)絡(luò)的耦合性高,網(wǎng)絡(luò)出現(xiàn)故障后往往對(duì)業(yè)務(wù)做成災(zāi)難性的影響,網(wǎng)絡(luò)的自愈能力差,容易造成全局故障;
(4)網(wǎng)絡(luò)基于物理實(shí)體機(jī),沒有虛擬機(jī),設(shè)備性能不足后只能更新,造成成本浪費(fèi);
(5)二層只到接入和匯聚的交換機(jī),VM 的遷移局限在一個(gè)二層域,跨二層的服務(wù)器遷移必須要更換IP 地址,造成租戶業(yè)務(wù)中斷,造成跨中心的負(fù)載均衡的部署也很困難;
針對(duì)這些問題,新一代的IDC 的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)不斷演進(jìn),開始逐步走向網(wǎng)絡(luò)虛擬化和網(wǎng)絡(luò)資源池化的云設(shè)計(jì),主要有multi pod、underlay、Overlay、OSPF 和BGP 路由、ECMP、M-LAG 等技術(shù),業(yè)界推崇的是EVPN+VXLAN 分布式解決方案,該設(shè)計(jì)的基本思路如下:傳統(tǒng)的三層網(wǎng)絡(luò)作為underlay,在其上利用EVPN+VXLAN技術(shù)構(gòu)建虛擬二層網(wǎng)絡(luò)Overlay, Underlay 和Overlay 網(wǎng)絡(luò)邏輯分離, Underlay 與業(yè)務(wù)脫耦,主要負(fù)責(zé)進(jìn)行三層轉(zhuǎn)發(fā),實(shí)現(xiàn)不同站點(diǎn)傳遞,Overlay 網(wǎng)絡(luò)面向業(yè)務(wù),通過一對(duì)多的的隧道封裝,把Underlay 的物理網(wǎng)絡(luò)虛擬成邏輯上的“大二層交換機(jī)”,進(jìn)行網(wǎng)絡(luò)二層跨三層的延展,解決VM 應(yīng)用靈活的部署和遷移。
VXLAN 是IETF 定義的NVO3 技術(shù),從根本上講,是一種Overlay 的隧道技術(shù),采用MAC-in-UDP 的報(bào)文封裝格式,通過VTEP 的NVE 對(duì)進(jìn)行封裝和解封,利用VXLAN TUNNEL 在大二層域(BD)內(nèi)進(jìn)行傳輸,BD 通過VNI 區(qū)分,VNI 可支持1600 萬VXLAN,解決了VM 設(shè)備的大規(guī)模部署問題,VXLAN TUNNE 的設(shè)計(jì)可以讓VXLAN 報(bào)文在二層和三層網(wǎng)絡(luò)上透?jìng)鳎鉀Q了VM 遷移時(shí)的應(yīng)用中斷問題。集中式VXLAN 的三層網(wǎng)關(guān)部署在Spine 上,很容易產(chǎn)生流量泛洪,所以在VXLAN 設(shè)計(jì)時(shí)首選分布式EVPN 技術(shù),EVPN 把VXLAN 的L2 和L3 網(wǎng)關(guān)部署在Leaf 上,Spine 專注于IP 的高速轉(zhuǎn)發(fā),根本上解決了廣播風(fēng)暴等問題,傳輸效率更高,資源消耗顯著降低,IDC 的路由選擇OSPF+BGP EVPN 協(xié)議,實(shí)現(xiàn)等價(jià)路由(ECMP),OSPF 不發(fā)布和學(xué)習(xí)業(yè)務(wù)路由,僅用于建立BGP 及搭建VXLAN 架構(gòu),Overlay 運(yùn)行BGP EVPN,用于VXLAN Tunnel 的建立和VM 路由的傳遞。IDC 的Spine 作為RR 設(shè)備(路由反射器),和LEAF 的NVE 節(jié)點(diǎn)建立iBGP 鄰居關(guān)系,實(shí)現(xiàn)路由可達(dá)。網(wǎng)絡(luò)架構(gòu)圖如圖1 所示。

圖1:網(wǎng)絡(luò)架構(gòu)圖

圖2:VXLAN 分布式網(wǎng)關(guān)結(jié)構(gòu)圖
每個(gè)IDC 需要2 臺(tái)三層核心交換機(jī)(Spine),同時(shí)核心交換機(jī)作為VXLAN 的RR 路由反射器,主要負(fù)責(zé)把BGP 學(xué)到的MAC表反射給NVE client,IDC 下行和Leaf 交叉連接,IDC 之間通過Spine 交叉互聯(lián),實(shí)現(xiàn)雙活全互聯(lián)冗余。
接入層交換機(jī)(Leaf)采用M-LAG 協(xié)議,引入EVPN 的控制平臺(tái)設(shè)計(jì),2 臺(tái)邏輯成組,作為VXLAN 的VTEP,擔(dān)任VXLAN L3/L2 網(wǎng)關(guān),EVPN 設(shè)計(jì)的VTEP 網(wǎng)關(guān)L2/L3 都在本地完成,有效降低了網(wǎng)絡(luò)延時(shí),節(jié)約了鏈路帶寬,作為L(zhǎng)2 網(wǎng)關(guān),與VM 和DBSERVER 對(duì)接,用于租戶應(yīng)用接入VXLAN,負(fù)責(zé)同一VXLAN虛擬網(wǎng)絡(luò)的子網(wǎng)通信;作為L(zhǎng)3 網(wǎng)關(guān),用于VXLAN 的VTEP 報(bào)文封裝和解封,實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的跨子網(wǎng)通信和外部網(wǎng)絡(luò)的訪問。通 過EVPN 的BGP,觸 發(fā)VETP 建 立VLAN Tunnel,擴(kuò) 散VM路由、MAC 表項(xiàng),指導(dǎo)流量轉(zhuǎn)發(fā);作為VXLAN 的NVE,實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化功能,Leaf 上行與Spine 全互聯(lián),下行接入VM 和DBSERVER。
EVPN 分布式網(wǎng)關(guān)的架構(gòu)如下圖所示:典型的“Spine-Leaf” 組網(wǎng)結(jié)構(gòu),Leaf 是VXLAN Tunnel 的端點(diǎn)VTEP,一方面作為VXLAN 的L3 網(wǎng)關(guān),Spine 只作為轉(zhuǎn)發(fā)點(diǎn),不感知VXLAN Tunnel信息,不在同一網(wǎng)段的server1 和server1 通訊只通過Leaf1 即可;另一方面,作為VXLAN 的L2 網(wǎng)關(guān),與VM 連接,Leaf 只學(xué)習(xí)直連VM 的ARP 表項(xiàng),不需要學(xué)習(xí)所有VM 的ARP 表項(xiàng),避免了數(shù)據(jù)流量泛洪,規(guī)模擴(kuò)展能力更強(qiáng)。
EVPN 主要工作流程如下:
(1)L2 網(wǎng)關(guān)工作流程:收到vxlan 報(bào)文后,通過vxlan Tunnel表檢查VXLAN UDP D_PORT、DIPSIP、VNI;獲取二層廣播域,解封后獲得二層報(bào)文,查mac 表后發(fā)送報(bào)文。
(2)L3 網(wǎng)關(guān)工作流程:收到vxlan 報(bào)文后解封裝獲取二層報(bào)文,對(duì)于非本機(jī)MAC,根據(jù)目的IP 地址查路由表獲取下一跳IP 地址,查找ARP 表, 然后進(jìn)行vxlan 封裝后完成三層轉(zhuǎn)發(fā)。如圖2 所示。
分布式網(wǎng)關(guān)主要有三個(gè)NVE 節(jié)點(diǎn): Borderleaf、Serverleaf 主、Serverleaf 冗。L2/L3 在ServerLeaf 上,BorderLeaf 是IDC 的邊界設(shè)備,外連出口防火墻及和邊界路由器,此ServerLeaf 節(jié)為業(yè)務(wù)節(jié)點(diǎn)。
關(guān)鍵配置如下:

IDC路由選擇OSPF+BGP EVPN路由協(xié)議,Underlay 運(yùn) 行OSPF,用于建立BGP,承載Overlay、搭建VXLAN 架構(gòu),保障內(nèi)網(wǎng)互聯(lián)和VTEP 地址可達(dá)、構(gòu)建等價(jià)路由(ECMP)網(wǎng)絡(luò)進(jìn)行業(yè)務(wù)流量透?jìng)鳌SPF 設(shè)計(jì)如下:IDC(主) 在AREA1, IDC(容災(zāi)) 在AREA2,通過Spine 的AREA0 相連,形成完整的OSPF 鏈?zhǔn)饺致酚桑籓verlay 運(yùn)行BGP EVPN,用于建立VXLAN Tunnel 和傳遞VM 路由,每個(gè)IDC 部署兩個(gè)Spine 作為路由反射器(RR),RR和Leaf、NVE 處在同一個(gè)AS 中,建立IBGP 鄰居,兩個(gè)IDC 通過Spine 互聯(lián)建立iBGP EVPN 鄰居,處在同一個(gè)VXLAN 域,Leaf啟動(dòng)后,VTEP 間通過BGP 通告EVPN 的集成多播路由(Inclusive Multicast Route)來發(fā)現(xiàn)各個(gè)peer,而peer Router id 的IP 地址通常為underlay loopback 地址,同Leaf 下的業(yè)務(wù)互訪,通過本地路由轉(zhuǎn)發(fā),不同Leaf 下的業(yè)務(wù)互訪,通過Spine 轉(zhuǎn)到對(duì)端Leaf 路由轉(zhuǎn)發(fā)。
隨著云IDC 的發(fā)展和成熟,網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)也得到了長(zhǎng)足的進(jìn)步,基于EVPN+VXLAN 的Overlay 設(shè)計(jì)已經(jīng)成為跨區(qū)域云IDC 的典型解決方案,為IDC 提供了高效、穩(wěn)定、靈活的網(wǎng)絡(luò)環(huán)境。