数据中心SDN技术发展应用之MP-BGP
當前云計算技術已經成為數據中心基本部署要求,針對云計算中對網絡虛擬化的需求,業界廠家提出了各種解決思路,SDN網絡技術得到了大力發展,具有資源虛擬化、自動化等特點,成為IT基礎架構改革中不可或缺的一部分。早期純軟件的SDN技術雖然可以隨云而動實現業務網絡自動部署,但在性能、功能、穩定性、可擴展性等方面存在較大的限制。
在數據中心虛擬化多租戶環境中部署和配置網絡設施是一項復雜的工作,不同租戶的網絡需求存在差異,且網絡租戶是虛擬化存在,和物理計算資源位置無固定對應關系。通過傳統手段部署物理網絡設備為虛擬租戶提供網絡服務,一方面可能限制租戶虛擬計算資源的靈活部署,另一方面需要網絡管理員執行遠超傳統網絡復雜度的網絡規劃和繁重的網絡管理操作。在這種情況下,VPC(Virtual Private Cloud, 虛擬私有云)技術就應運而生了。VPC對于網絡層面,就是對物理網絡進行邏輯抽象,構架彈性可擴展的多租戶虛擬私有網絡,對于私有云、公有云和混合云同樣適用。
SDN控制器通過控制Overlay網絡從而將虛擬網絡承載在數據中心傳統物理網絡之上,并向用戶提供虛擬網絡的按需分配,允許用戶像定義傳統L2/L3網絡那樣定義自己的虛擬網絡,一旦虛擬網絡完成定義,控制器會將此邏輯虛擬網絡通過Overlay技術映射到物理網絡并自動分配網絡資源。控制器的虛擬網絡抽象不但隱藏了底層物理網絡部署的復雜性,而且能夠更好的管理網絡資源,最大程度減少了網絡部署耗時和配置錯誤。這就是SDN的核心理念轉發平臺和控制平面分離。
隨著SDN數據中心Overlay網絡技術發展和成熟,VXLAN(Virtual eXtensible LAN,可擴展虛擬局域網絡)基于IP網絡、采用“MAC in UDP”封裝形式的二層VPN技術,利用IP的靈活性、擴展性成為了Overlay數據平面的主流技術。
初始的IETF VXLAN標準 (RFC 7348) 定義了一個基于組播、不采用控制平面的“泛洪和學習”VXLAN。對于遠端VXLAN 隧道終端 (VTEP) 對等體發現和業務主機路由的學習依靠自身數據平面的“泛洪和學習”行為。Overlay廣播、未知單播和組播流量封裝到組播 VXLAN 數據包并通過BUM包頭復制的方式利用泛紅行為在轉發傳輸到遠端 VTEP 交換機。會導致BUM報文泛洪到整個Fabric中,一定程度上將給解決方案的可擴展性和可靠性上帶來挑戰。在底層網絡中啟用組播功能的要求也會帶來挑戰。
SDN解決方案正是通過轉發和控制分離的方式在VXLAN控制平臺缺陷的基礎上提供了切實可行的解決方案,早期SDN解決方案通過SDN控制器負責整個網絡的集中控制,體現SDN集中管理的優勢。基于Openflow的強控制使得網絡具備更多的靈活性和可編程性。除了能夠給用戶提供適合應用需要的網絡,還可以提供集成L4-L7層安全服務方案;可以支持混合Overlay模型。但是集中控制的同時帶來單點故障及Fabric整體可靠性的問題,Fabric的整體可靠性只能依賴于SDN控制器集群提供保障,當控制器故障或管理網穩定性問題將會對整個Fabric帶來挑戰。Openflow的集中控制模式的廠商緊耦合度較高,在地理位置的局限性和跨廠商的開放性上也帶來了挑戰。
克服SDN解決方案的集中強控制模式的挑戰,將MP-BGP EVPN作為VXLAN控制平面,MP-BGP EVPN由 IETF 定義為 VXLAN Overlay的基于標準的控制平面。MP-BGP EVPN 控制平面提供基于標準協議的 VTEP Peer發現和業務主機路由信息分發,可適用與私有和公共云以及更具擴展性的SDN網絡設計。MP-BGP EVPN 控制平面利用一組路由信息同步功能,這些功能可減少或消除重疊網絡中的流量泛洪,并為東西和南北向流量提供最優轉發和最靈活的出口路徑優先級選擇。
EVPN基于MP-BGP標準(RFC 7348 +draft-sd-l2vnp-evpn-OverLay、RFC7209、RFC7432),各廠家都按標準實現,可以實現跨廠家設備的對接。
一、MP-BGP EVPN的基本功能包括:
◆ 自動隧道建立:自動在部署有相同VXLAN網絡的VTEP間創建VXLAN隧道。實現隧道按需建立,無需人工維護,也不占用多余的隧道資源。
◆ 自動地址同步:自動完成Overlay網絡層面業務主機的MAC地址、主機路由、網段路由的同步,可以減少二層未知單播、ARP請求等廣播報文在全網的泛洪。
1.1 MP-BGP EVPN Fabric內組網模型
集中式網關模型
◆ 網關部署在Spine
◆ VTEP部署在接入,Border不部署VxLAN
◆ 設備之間通過EVPN完成隧道建立和主機路由同步
◆ Spine和Border通過默認路由互通
◆ 同一Leaf下的三層流量需繞行到Spine
◆ Spine需要保存整網的MAC和ARP
◆ 適合中小規模組網
優點:
◆ 接入設備不需要支持大容量的ARP表項
◆ 接入設備支持VxLAN的L2 GW即可,不需要支持基于VxLAN的L3 GW,成本低
缺點:
◆ 核心需要保留整網的ARP表項,組網規模受限
◆ 同一Leaf下的三層流量需繞行到Spine
分布式網關模型
◆ 網關部署在Leaf,所有相同VxLAN的網關IP和MAC相同,Border部署VxLAN
◆ Leaf和Spine通過IP的ECMP互通
◆ Leaf節點同時承擔VxLAN L2/3轉發
◆ Leaf之間通過EVPN完成隧道建立和主機路由同步
◆ 同一Leaf下的三層流量無需繞行到Spin,所有流量的路徑最優
◆ 本Leaf包含二層域所有端點的MAC和需要互通的三層域內所有端點的ARP(包括本地和遠端)
◆ 適合中大規模組網
優點:
◆ 組網簡單,廣播域被限制在接入層以下
◆ Leaf和Spine之間通過運行路由協議,構建ECMP的三層可達的IP網絡,不需要部署IRF
◆ 同一Leaf下的三層流量無需繞行到Spin,所有流量的路徑最優
缺點:
◆ 接入設備需要支持大容量的路由表項,當前華三接入設備的表項都比較大,足可以支持大規模組網
1.2 MP-BGP EVPN 二層轉發
二層報文轉發分類:
(1) 單播轉發
EVPN通過BGP協議通告本地學到的MAC,遠端根據BGP收到的MAC路由消息,將MAC下到遠端Tunnel上,形成單播MAC表項。VTEP接收到二層數據幀后,判斷其所屬的VSI,根據目的MAC地址查找該VSI的MAC地址表,通過表項的出接口轉發該數據幀。如果出接口為本地接口,則VTEP直接通過該接口轉發數據幀;如果出接口為Tunnel接口,則VTEP根據Tunnel接口為數據幀添加VXLAN封裝后,通過VXLAN隧道將其轉發給遠端VTEP。
(2) BUM報文轉發:頭端復制
除了單播流量轉發,EVPN網絡中還需要轉發廣播,未知組播與未知單播流量,即BUM流量。目前EVPN轉發BUM可以使用頭端復制和核心復制兩種方式。
VTEP接收到本地虛擬機發送的組播、廣播和未知單播數據幀后,判斷數據幀所屬的VXLAN,通過該VXLAN內除接收接口外的所有本地接口和VXLAN隧道轉發該數據幀。通過VXLAN隧道轉發數據幀時,需要為其封裝VXLAN頭、UDP頭和IP頭,將泛洪流量封裝在多個單播報文中,發送到VXLAN內的所有遠端VTEP。當然,VXLAN的頭端復制列表是EVPN自動發現并創建的,不需要手工干預。
集中式網關二層轉發
集中式網關下的二層轉發流程:如下圖所示,Vm 1(1.1.1.10)訪問Vm 2(1.1.1.11),同一個網段屬于二層互訪:
(1)VM1發送ARP請求VM2的MAC,VTEP A會查找本地ARP表,返回VM2的MAC 。VM 1發送報文給VM 2,源MAC地址為MAC 1,目的MAC為MAC 2, VLAN tag為10
(2) VTEP A根據收到的報文的端口和VLAN tag確定屬于VSI A, 查找VSI A的MAC地址表,得到MAC 2的出端口為Tunnel1。封裝VxLAN報文,源IP為VTEP A,目的IP為VTEP C,并轉發報文到VTEP C
(3)VTEP C收到報文,剝離VxLAN報文,還原出原始的數據幀。查找與VxLAN 10對應的VSI A的MAC地址表,得到MAC 2的出端口為GE2/0/1,所在VLAN為VLAN 10。VTEP C從接口GE2/0/1的VLAN 10內將數據幀發送給VM 2,VLAN tag為10
分布式網關二層轉發
分布式網關二層轉發流程:Vm 1(1.1.1.10)訪問Vm 2(1.1.1.11),同一個網段屬于二層互訪:
(4)VM1發送ARP請求VM2的MAC,VTEP A會查找本地ARP表,返回VM2的MAC 。VM 1發送報文給VM 2,源MAC地址為MAC 1,目的MAC為MAC 2, VLAN tag為10
(5)VTEP A根據收到的報文的端口和VLAN tag確定屬于VSI A.,查找VSI A的MAC地址表,得到MAC 2的出端口為Tunnel1。封裝VxLAN報文,源IP為VTEP A,目的IP為VTEP C,并轉發報文到VTEP C。
(6)VTEP C收到報文,剝離VxLAN報文,還原出原始的數據幀。查找與VxLAN 10對應的VSI A的MAC地址表,得到MAC 2的出端口為GE2/0/1,所在VLAN為VLAN 10。VTEP C從接口GE2/0/1的VLAN 10內將數據幀發送給VM 2,VLAN tag為10
1.3 MP-BGP EVPN三層轉發
集中式網關三層轉發
在EVPN集中式網關組網里面,Leaf所在的VTEP將本地學到的ARP通過EVPN通告給Spine所在的Gateway,GW根據ARP產生32位直連路由。
◆ 北向南流量轉發:在GW上查找ARP,將報文內層MAC封裝為虛機真實MAC,再加上VXLAN封裝發送給VTEP。VTEP端解封裝后,根據VXLAN-ID查找MAC轉發發送給VM。
◆ 南向北流量轉發:VM發給VTEP的報文的目的MAC為GW網關MAC。VTEP查找網關MAC表項,封裝VXLAN將報文發送給GW。GW解封裝后再根據內層報文IP做普通IP轉發。此時GW充當的是IP網關角色。
◆ 東西向流量轉發:如果是跨VXLAN轉發,此時需要經過GW一次路由才能轉給目的VXLAN。此時GW充當的是VXLAN網關角色。
集中式網關三層轉發:如下圖所示,Vm 1(1.1.1.10)訪問Vm 2(1.1.2.10),不同VxLAN,不同網段屬于三層互訪:
◆ VM1發送ARP請求GW的MAC,VTEP A會查找本地ARP表,返回GW的MAC 。VM 1發送報文給網關,源MAC地址為MAC 1,目的MAC為網關 GMAC, VLAN tag為10。
◆ VTEP A根據收到的報文的端口和VLAN確定屬于VSI A。 查找VSI A的MAC地址表,得到GMAC的出端口為Tunnel1。封裝VxLAN報文,源IP為VTEP A,目的IP為網關IP,并轉發報文到網關。
◆ 網關收到報文去掉VxLAN封裝,根據原始報文目的ip,查找路由表和ARP表,找到出接口為Tunnel 2。封裝報文格式為VxLAN,源ip為網關的VTEP ip,目的ip為VTEP B的ip,轉發報文到VTEP B。
◆ VTEP B收到報文,剝離VxLAN報文,還原出原始的數據幀。查找與VxLAN 20對應的VSI A的MAC地址表,得到MAC 2的出端口為GE2/0/1,所在VLAN為VLAN 20。VTEP B從接口GE2/0/1的VLAN 20內將數據幀發送給VM 2, VLAN tag為20
分布式網關三層轉發
在EVPN網絡中,VTEP既可以做二層Bridge轉發功能,也可以做三層Router功能,因此稱為集成橋接和路由,即IRB(Integrated Routing and Bridging)。在分布式網關里面,IRB轉發可以分為對稱IRB和非對稱IRB兩種。H3C實現的是對稱IRB轉發模型。對稱IRB轉發引入了以下2個概念:
◆ L3VNI(Layer 3 VNI): 是指在分布式網關之間通過VXLAN隧道轉發流量時,屬于同一租戶(VRF)的流量通過L3VNI來標識。L3VNI唯一關聯一個VPN實例,通過VPN實例確保不同租戶之間的業務隔離。
◆ RouteMAC:網關的RouterMAC地址,是指每個分布式網關擁有的唯一一個用來標識本機的本地MAC地址,此MAC用于在網關之間通過VXLAN隧道轉發三層流量。報文在網關之間轉發時,報文的內層MAC地址為出口網關的RouterMAC地址。
非對稱IRB
所謂非對稱IRB,是指在Ingress入口網關,需要同時做Layer-2 bridging和Layer-3 routing功能,而在Egress出口網關,只需要做Layer-2 bridging功能。因此是不對稱的。
◆ 轉發路徑:非對稱IRB流量來回路徑不一致,去程流量使用VNI 300對應的隧道,回程流量使用VNI 100對應的隧道
◆ VTEP配置:在VTEP配置本地VNI 的VSI,還需要配所有的和本地VNI在同一個VRF的其它VTEP上VNI的VSI
◆ 表項:VTEP硬件轉發表中包含VRF所含VNI內所有遠端主機的IP和MAC,以指導報文完成VXLAN L2/3轉發
◆ 三層轉發:VTEP收到報文后, 發現DMAC為網關MAC, 進行三層查表, 將報文從源VNI轉發到目的VNI, 內層DMAC切換為目的主機的MAC,到達目的 VTEP后,解封裝后使用內層DMAC執行二層查表, 將報文在目的VNI內轉發到相應端口
缺點:
◆ 配置復雜:每個VTEP上需要配置Fabric內所有的VNI的VSI信息
◆ 占用表項大:每個VTEP上需要維護其下掛主機所在VRF所含VNI內的全部主機的MAC信息(包括遠端主機的MAC)
◆ 來回路徑不一致:非對稱IRB流量來回路徑不一致,去程流量和回程流量使用使用不同的VNI完成三層轉發
對稱IRB
相比于非對稱IRB,對稱IRB,是指在Ingress入口網關和Egress出口網關,都只做Layer-3 routing功能(同網段則只做briding功能)。因此是對稱的。
◆ 轉發路徑:對稱IRB流量來回路徑一致,去程流量使用VNI 1000對應的隧道,回程流量使用VNI 1000對應的隧道
◆ VTEP配置:在VTEP配置本地VNI的VSI,需要配一個新類型L3 VNI ,L3 VNI會有同一個VRF內的路由,三層轉發的流量會在L3 VNI完成轉發
◆ 表項:每個VTEP上只需要維護其下掛主機所在的VNI內的MAC信息,只需要知道遠端VTEP的Router MAC表項占用更少
◆ 轉發流程:VTEP A收到報文如果需要進行三層轉發,將報文從源VNI轉發到L3 VNI, 內層DMAC切換為目的VTEP的RMAC-C;VTEP C解封裝后發現內層DMAC為自己,將內層報文在L3 VNI所對應的VRF中做三層轉發
對稱IRB優勢:
◆ 配置簡單:每個VTEP上只需要配置其下主機所在VNI的VSI信息和所在的VRF的L3 VNI的VSI, 配置簡單,更有利于自動化部署
◆ 表項占用少:每個VTEP上只需要維護其下掛主機所在的VNI內的MAC信息,只需要知道遠端VTEP的router MAC.表項占用更少
◆ 來回路徑一致:對稱IRB流量來回路徑一致,如本例中,去程流量使用VNI 1000對應的隧道,回程流量也使用VNI 1000對應的隧道
對稱IRF三層轉發流程:Vm 1(1.1.1.10)訪問Vm 2(1.1.2.10),不同VxLAN,不同網段屬于三層互訪:
(1)VM1發送ARP請求GW的MAC,VTEP A會查找本地ARP表,返回GW的MAC 。VM1發送報文給VM3,源MAC地址為MAC 1,目的MAC為網關GMAC-A, VLAN tag為10
(2)網關收到報文,在L3 VNI 1000中查表,根據報文目的ip,查找路由表和ARP表,找到出接口為Tunnel 1。封裝報文格式為VxLAN,目的ip為VTEP C的ip,目的mac為GMAC C,轉發報文到VTEP C
(3)VTEP C收到報文,剝離VxLAN報文,還原出原始的數據幀。在L3 VNI 1000中查表,根據目的ip找到出端口為GE2/0/1, 替換報文目的mac為MAC 3,源MAC為網關GMAC C。VTEP C從接口GE2/0/1的VLAN 20內將數據幀發送給VM3
2、ARP代答
EVPN網絡支持ARP代答功能。由于EVPN具有主機路由自動同步機制,主機上線時,每個網關都可以通過路由同步自動學習到遠端各個主機的IP和mac信息,各個網關可以使用此信息在本地建立ARP代答表,如果本地有主機需要訪問遠端,當網關收到ARP請求時,可以代替遠端Leaf上的主機做ARP應答。
啟用ARP代答后,對遠端主機的ARP請求無需通過隧道廣播到所有的Leaf,可以減少廣播報文在全網的泛洪。
對于ARP Missing也即某主機沒有主動發送過ARP或因某種原因ARP丟失或老化的情況,Leaf本地沒有ARP代答表項,會泛洪此ARP請求到同一個VXLAN網絡中的所有Leaf,再由各個Leaf走本地的ARP廣播給下掛的主機,實現一個完整的ARP請求過程。
3、對第三方L4-L7層安全服務的融合
每一個數據中心網絡都會考慮安全的需求,都會部署L4-L7層安全設備,且有可能網絡設備SDN控制器和安全設備不是同一個廠家的設備。但是當前云平臺Openstack架構還在不斷的發展中,對安全設備的支持還沒有成熟、靈活、適應各廠家設備的接口,故安全設備如果和SDN控制器不是同一廠家的,則很難對該安全設備做云網安聯動的全面控制。
云網安聯動的安全控制,包括兩個方面的內容:一個是EVPN分布式SDN網絡中各網關設備上對流量到安全設備的自動化引流控制;一個是安全設備上對流量的安全策略和路由的下發。
二、MP-BGP EVPN的混合Overlay組網能力:
提供靈活的混合Overlay組網能力,Fabric架構即可以支持虛擬化的服務器,也可以支持裸金屬物理服務器和Docker容器網絡,以及必須使用物理服務器提升性能的數據庫等業務,可以為客戶提供自主化、多樣化的選擇。
主要面向愿意即要保持虛擬化的靈活性,又需要兼顧對于高性能業務的需求, 或者充分利舊服務器的要求,滿足客戶從傳統數據中心向基于SDN的數據中心平滑演進的需求。
三、MP-BGP EVPN的擴展能力:
利用MP-BGP EVPN控制平面提供跨Fabric或DCI之間的大二層網絡擴展,為服務器高可用集群技術和虛擬服務器動態遷移技術提供擴展支持,擴展MP-BGP協議來傳遞Fabric間或DCI的二層環境所需要的MAC和ARP等信息。可實現管理域/故障域可獨立規劃,同時基于udp原端口的hash便于Fabric間或DCI的ECMP負載分擔,為租戶/業務的Overlay網絡提供高效靈活性。
在Fabric內部利用Fabric實現Spine、Leaf、Border動態橫向平滑擴展,并且可通過MP-BGP EVPN多VPC路由的靈活RT值控制能力,結合VPC間的vRoute-link和靈活迭代路實現VPC在多出口上的動態選擇和擴展,在Fabric計算資源池內可實現同一VPC對多出口的選路和冗余出口控制,不同VPC對不同出口鏈路的綁定。最終實現出口邊界設備(Border)和接入設備組(leaf)為N:M的關系租戶。
MP-BGP EVPN 跨POD組網應用
在跨POD區域邊界部署ED設備,ED設備之間通過MP-BGP EVPN實現POD間跨二層的網絡擴展,若互聯POD較多的時候,ED本身可以屬于POD內的BGP域,ED間通過EBGP EVPN互聯。若互聯的POD較多時,則多個ED可以單獨形成一個POD互聯的域,單獨部署RR設備來簡化POD間fullmesh的鄰居連接。Leaf和本地ED(iBGP EVPN)、ED和遠端ED(eBGP EVPN)、遠端ED和遠端Leaf(iBGP EVPN)通過EVPN協議彼此發現Peer關系,最終同一VSI實例的Leaf都會鄰居發現并建立三段式的vxlan隧道。
在邊界ED設備上可以基于VXLAN ID正對跨POD的VPC進行DSCP設置,這樣在整個Fabric網絡內可根據租戶VPC的需求實現跨POD的QOS保障。DSCP可以基于VXLAN內層進行重寫。
結論
MP-BGP EVPN為SDN技術的發展和VXLAN Overlay網絡提供強有力的控制平面支撐,基于RFC標準為跨廠商的協作提供簡單靈活的互通能力。支撐分布式數據中心基礎設施網絡構建,為用戶提供更高的可擴展性、靈活性和可靠性。
總結
以上是生活随笔為你收集整理的数据中心SDN技术发展应用之MP-BGP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 删除360浏览器新标签页内的热词导航
- 下一篇: 磁盘IOPS的计算