在典型的企業級數據中心部署中數據中心可能跨地域部署,并且會有不同的業務部署在跨地域的數據中心里。這就意味著網絡要有能力在兩個或者多個數據中心之間進行擴展,從而讓跨地域的業務之間可以進行二三層通信。華云軟件定義網絡支持基于EVPN VxLAN 的兩個及以上數據中心的連接,簡稱DCI(Data Center Interconnect),即華云軟件定義網絡支持多數據中心之間以MP-BGP EVPN 作為控制平面的VxLAN Overlay網絡。
VxLAN 概述
顧名思義,VXLAN旨在提供與VLAN相同的以太網二層網絡服務,但具有更大的擴展性和靈活性。 與VLAN相比,VXLAN具有以下優點:
在整個數據中心靈活放置多租戶段:它提供了一種解決方案,在底層網絡基礎設施上擴展二層網絡段,以便租戶工作負載可以放置在跨數據中心的物理Pod上。
可擴展性更強,可訪問更多的二層網段:VLAN使用12位的VLAN ID來訪問二層網段,因此只能訪問4094個VLAN。 VXLAN使用一個24位的段ID,稱為VXLAN網絡標識符(VNID),它可以使1600萬個VXLAN段同時存在于同一個管理域中。
更好地利用底層基礎設施中的可用網絡路徑:VLAN使用生成樹協議(Spanning Tree Protocol) 預防環路,通過阻塞冗余路徑,最終網絡中的一半網絡鏈路不被有效使用。 VXLAN報文在底層網絡中基于三層報頭進行傳輸,可以充分利用三層路由、ECMP (equal-cost multipath)路由和鏈路聚合協議,使用所有可用路徑。
VXLAN是一種基于三層網絡的二層Overlay方案。 它使用MAC地址封裝在UDP報文中 (MAC-in-Udp)來提供一種跨數據中心網絡擴展二層網段的方法。 VXLAN是一種在公共物理基礎設施上支持靈活的、大規模的多租戶環境的解決方案。 物理數據中心網絡的傳輸協議是IP + UDP。
VXLAN 報文格式:
MP-BGP EVPN 控制平面概述
MP-BGP EVPN是基于行業標準的VxLAN控制協議。 在EVPN之前,VxLAN Overlay網絡以flood-and-learn模式運行。 在這種模式下,終端主機信息學習和VTEP發現都是數據平面驅動的,不需要控制協議在VTEP之間分發終端主機可達信息。 MP-BGP EVPN改變了這種模式。 它為遠程VTEP背后的終端主機引入了控制平面學習。 它實現了控制平面和數據平面的分離,為VxLAN Overlay網絡的二層轉發和三層轉發提供了統一的控制平面。
華云軟件定義網絡實現了MP-BGP EVPN的控制平面,提供了如下主要的優點:
MP-BGP EVPN協議基于行業標準,允許多廠商互操作。
它使控制平面學習終端主機第二層和第三層可達信息,使組織能夠建立更健壯和可擴展的VxLAN Overlay網絡。
采用穩定的MP-BGP VPN技術,支持可擴展的多租戶VxLAN Overlay網絡。
EVPN地址族攜帶二層和三層可達信息,從而在VxLAN Overlay網絡中提供完整的橋接和路由。
通過對本地VTEP進行基于協議的主機MAC/IP路由分配和ARP (Address Resolution Protocol)抑制,最大限度地減少網絡泛濫。
DCI互聯
華云軟件定義網絡實現的DCI之間互聯方式有多種,根據需求的不同可構建特定的互聯方式。
DC之間直接EBGP互聯
DC首先IBGP接入軟件網關,軟件網關之間EBGP互聯
DC直接互聯
DC間直接互聯要求DC間控制器以及DC間數據通路三層互通。
當DC間控制器直接互聯時,DC間支持豐富的功能集。其中Route Target路由條目作為MP EVPN的擴展屬性,可以在DC間定制VPN路由,從而避免DC間巨量路由交互, 降低控制面帶寬損耗。
DC之間通過軟件網關互聯
華云軟件定義網絡軟件網關(華云軟件定義網絡GW)作為重要的輔助組件在DCI中扮演著VNI MAPPING的重要角色。SDN控制器中的路由條目通告給華云軟件定義網絡GW, 華云軟件定義網絡GW根據配置面的VNI MAPPING信息將轉換EVPN路由中的Vxlan ID,Route Target以及修改路由下一跳為華云軟件定義網絡GW,然后通告給遠端華云軟件定義網絡GW。遠端華云軟件定義網絡GW再將以上信息根據配置修改后,將路由通告在于其互聯的DC。
DC間網絡二層互通
DC間二層互通的場景下
各DC中需要構建L2 BGP VPN,配置全局Route Target。
當DC中各自的虛擬網絡關聯到BGP VPN上后,華云軟件定義網絡控制器將虛擬網絡路由以BGP EVPN type 2類型通告到遠端DC。
Type2 路由格式:
遠端DC根據路由的擴展屬性Route Target將路由導入到相應的虛擬網絡中,在二層表中安裝對應路由。
華云軟件定義網絡控制器type2 路由
此外華云軟件定義網絡支持Type3 類型路由,數據面根據Type3 類型路由生成頭端復制列表。并在二層表中生成廣播列表,進而使得當Overlay網絡中存在靜默主機時,主動發送ARP請求獲取對端虛擬工作負載的ARP地址。
Type3 路由格式:
華云軟件定義網絡控制器上的Type3路由條目
二層通信時虛機請求同網絡虛機ARP地址,獲取ARP地址后,查詢二層橋接表,下一跳地址為遠端DC Vtep或者如果有軟件網關的場景下軟件網關Vtep地址。 將原始報文封裝后,外層報文為udp + vxlan, vxlan id為路由通告時攜帶的Label。
內外層報文如下圖所示:
DC間網絡三層互通
DC間三層通信的場景下,即為Vxlan Routing的場景。Vxlan Routing需要借助三層VNI,
三層VNI提供路由的路由實例上下文。
首先需要在各DC中創建Vxlan Routing路由器,將虛擬網絡關聯到Vxlan Routing路由器上。
再者創建L3 BGP VPN以及相應的Route Target, 將Vxlan Routing路由器關聯到L3 BGP VPN上。
當虛擬路由器關聯到L3 BGP VPN上后,虛擬網絡的路由會以EVPN type5路由發布,type5路由格式如下。
華云軟件定義網絡控制器的Type 5路由
上層為三層通信時報文封裝示例,內層報文的DMAC為遠端VTEP的MAC地址,提供路由上下文。外層VXlan頭部的VNI為三層VNI,提供三層路由上下文。當報文到達遠端DC時,根據三層VNI確認路由的路由實例。