MP-BGP/EVPN方式部署分佈式VXLAN
- EVPN介紹
最初的VXLAN方案(RFC7348)中沒有定義控制平面,是手工配置VXLAN隧道,然後通過流量泛洪的方式進行主機地址的學習。這種方式實現上較為簡單,但是會導致網絡中存在很多泛洪流量、網絡擴展起來困難。
為了解決上述問題,VXLAN引入了EVPN(Ethernet VPN)作為VXLAN的控制平面。EVPN參考了BGP/MPLS IP VPN的機制,通過擴展BGP協議新定義了幾種BGP EVPN路由,通過在網絡中發佈 路由來實現VTEP的自動發現、主機地址學習。
採用EVPN作為控制平面具有以下一些優勢:
- 可實現VTEP自動發現、VXLAN隧道自動建立,從而降低網絡部署、擴展的難度
- EVPN可以同時發佈二層MAC和三層路由信息
- 可以減少網絡中泛洪流量
- 術語
- VXLAN tunnel 封裝(MAC-in-UDP)
為什麼選擇vxlan
基於 Overlay Overlay Overlay的“事實上的標準 ”
• 利用 Layer Layer -3路由 – 被驗證的 , 穩定和可擴展
• ECMP ECMP 等價多路徑 – 所有鏈路負責轉發
• 增加二層域空間到 16M (傳統的 VLAN VLAN 只有 4K )
• 物理和虛擬主機環境的集成
• 多租戶
- Vxlan underlay 網絡
可路由的IP網絡
• 支持任何路由協議--- OSFP, EIGRP, IS-IS, BGP, etc.
IP 傳輸網絡
• 靈活的拓撲
• 推薦使用具備冗餘路徑的網絡利用ECMP實現負載均衡
• 如果使用組播來複制和傳輸overlay BUM,則Underlay需要部署組播
- VLXAN Underlay 網絡-典型的DC拓撲
- MP-BGP EVPN基礎
通過PE路由器交換VPN的策略
• 自治域內部所有PE 路由器之間建議全連接的BGP會話
– BGP 路由反射器
• 多協議BGP 擴展(MP-iBGP) 承
載VPN 策略
• PE-CE 之間的路由交互
– 靜態路由
– eBGP
– OSPF
– IS-IS
- VPN 控制平面處理
VRF 參數
保證客戶路由的唯一性 :
• Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) Route Distinguisher (RD) 路由區分符 : 8字節長 , VRF , VRF 參數 ; 唯一賦值確保 VPN IP 路由的唯一性
• VPNv4 VPNv4 地址 : RD + VPN IP : RD + VPN IP : RD + VPN IP 前綴
選擇分發的 VPN 路由 :
• Route Target (RT) Route Target (RT) Route Target (RT) Route Target (RT) Route Target (RT) 路由目標符 : 8字節長 , VRF , VRF , VRF 參數 , 唯一賦值用於定義 VPNv4 VPNv4 路 由的導入 /導出規則
• MP -iBGP : 宣告 VPNv4 VPNv4 路由前綴 + 標
VRF和BGP VPN 信令之間的交互
1. CE1 通過eBGP宣告IPv4路由給PE1
2. PE1 給從CE1學習到的路由分配VPN label創建唯一的VPNv4路由
3. PE1通過MP-iBGP宣告VPNv4 路由到PE2, 設置自己的loopback地址作為下一跳。
4. PE2 收到VPNv4 路由, 通過本地VRF (green)的處理,分發最初的IPv4路由到CE2
- Evpn-ethernet vpn
Vxlan 演進
- Ethernet VPN
基於Multi-Protocol BGP (MPBGP)的控制平面,使用EVPN NLRI (Network Layer Reachability Information)
• 在VTEP上針對Layer-2 (MAC) 和Layer-3 (IP) 做轉發決定
• VPN端點發現: BGP, 使用MPLS VPN 機制(RT)
• 信令: BGP
• 路由學習: 控制平面(BGP)
BGP 宣告:
L2VPN/EVPN Addr = CE1.MAC
BGP Next-Hop = PE1
Route Target = 100:1
Label=42
- 主機和子網路由發佈
主機路由的發佈從 Underlay Underlay Underlay Underlay協議中 (例如 OSPF )解耦合
• 在葉子節點採用 MP -BGP 發佈內部主 機/子網路由和外部可達性信息
• 考慮擴展性,在一個 AS 內部通常需 要部署路由反射器
主機和子網路由發佈
VXLAN:泛洪學習VS EVPN控制平面
EVPN中的MP-BGP
- BGP BGP 是EVPN 路由協議
- 多租戶 的架構使用 VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, VRF (Rout Distinguisher, Route Targets) Route Targets) Route Targets)Route Targets)Route Targets) Route Targets)
- 新的 address address address -family “l2vpn family “l2vpn family “l2vpn family “l2vpn family “l2vpn family “l2vpn evpn evpn” 用作 分發 EVPN EVPN 路由
- EVPN EVPN 路由 = [MAC] + IP] = [MAC] + IP] = [MAC] + IP] = [MAC] + IP] = [MAC] + IP] = [MAC] + IP]
- 支持 iBGP 或者 eBGP Ebgp
- VXLAN EVPN控制平面功能
- 通過 MP -BGP 宣告 主機 MAC/IP MAC/IP MAC/IP
- 通過 MP -BGP 實現 VTEP Peer VTEP Peer VTEP Peer VTEP Peer VTEP Peer 自動發現和認證
- 分佈式網關
- ARP 抑制
- 頭斷自動發現的入站複製
MP-BGP for VXLAN EVPN 控制平面 –可達性分佈
EVPN 控制平面– 主機和子網路由分佈
- 在VTEP上使用MP-BGP的EVPN Address Family 分佈內部的主機MAC/IP 地址, 子網路由和外部可達性信息
- MP-BGP 可承載百萬條路由同時減少收斂時間
Host信息宣告
EVPN 控制平面--- 主機移動
1. VTEP-1 檢測Host1 ,宣告一條帶有seq# 0的Host1 EVPN 路由
2. Host1在VTEP-3後面移動
3. VTEP-3 檢測Host1 ,宣告一條帶有seq# 1的Host1 EVPN 路由
4. VTEP-1 看到最新的路由更新,撤銷原先自己的宣告
分佈式網關 Anycast Gateway
ARP 在MP-BGP EVPN 中的ARP抑制(Cont’ed)
ARP 抑制可以在per-VNI 基礎上使能在interface nve1 下配置.
頭端複製
消除為了傳輸overlay BUM 流量需要在underlay網絡部署組播的情況
不同的集成Route/Bridge (IRB) 模式
VXLAN 路由
• Overlay 網絡存在兩種不同的
integrated Route/Bridge (IRB) 實現
方式
• 非對稱模式
– 從源到目的的往返使用不同的“路徑”
• 對稱模式
– 從源到目的的往返使用相同的“路徑”
• Cisco 採用對稱IRB模式
非對稱IRB
• 在入站VTEP上執行路由和橋接
• 在出站VTEP執行橋接
• 在入站VTEP上需要配置源和目的VNIs
VTEP VNI 成員非對稱IRB
1. 在一個VNI中的所有VTEPs是本地主機的virtual IP gateway
2. 針對路由流量優化了南北向轉發,不存在髮卡彎現象
對稱IRB
• 在入站 和出VTEP VTEP上均執行路由
• Layer -3 VNI 3 VNI
• 租戶 VPN VPN VPN 的標識
• 每個租戶 VRF 一個
• VTEP Router MAC VTEP Router MACVTEP Router MACVTEP Router MAC VTEP Router MAC VTEP Router MAC
• 入站 VTEPVTEP VTEP路由報文到 Layer Layer -3 VNI 3 VNI3 VNI
• 出站 VTEP VTEP VTEP 路由報文到目的 Layer -2 VNI 2
EVPN多租戶和vni類型
對稱IRB
VTEP VNI 成員對稱IRB
1.ARP和MAC地址表空間的優化使用
2. 每個VTEP僅僅需要放置在包括本地主機的VNI中
在對稱IRB中的多租戶包轉發
對稱IRB vs 非對稱IRB比較
對稱 IRB 優化使用了 每個 VTEP VTEP 中的 ARP ARP 和 MAC MAC 地址 表
• 對稱 IRB IRB IRB 針對終端主機具備更好的擴展性 針對終端主機具備更好的擴展性
• 依據在一個 VXLAN VXLAN overlay overlayoverlay 網絡中能夠支持的 VNI VNI的總體數量,對稱 的總體數量,對稱 的總體數量,對稱 的總體數量,對稱 IRBIRB 可提供 更好的擴展性
多廠家互操作 :
• 一些廠家設備按照非對稱IRB 實現
• 多廠家已經達成一致意見最終將實現對稱 多廠家已經達成一致意見最終將實現對稱 多廠家已經達成一致意見最終將實現對稱 多廠家已經達成一致意見最終將實現對稱 IRBIRBIRB
• Cisco Cisco Cisco 目前 按照對稱 IRBIRBIRB實現
• Cisco Cisco 將要提供針對非稱IRB的向後兼容性
VLAN VLAN ID 僅具有本地意義 –ToRToR 本地
VPC VTEP 下的vxlan橋接和路由
當激活vPC功能時,一個‘anycast’ VTEP地址工作在vPC的兩個對等體中
• 兩邊的對等體提供對稱的轉發行為
• 為防止BUM流量配置的組播中的IP地址相同
• vPC peer-gateway 特性必須同時在兩邊激活
• vPC Peer link (MCT link) 上不傳送VXLAN header
在MP=BGP EVPN下的vpc VTEP處理
EVVPN 控制平面的優點
基於主機轉發的多租戶交換矩陣解決方案
• 多廠家互操作的業界標準協議
• 內嵌多租戶支持
利用 MP -BGP BGP 實現帶有 L3VPN L3VPN 特徵的 VXLAN
• 協議驅動的學習帶來真正擴展性
通過 EVPN MP EVPN MP EVPN MP -BGP 宣告 主機 MAC/IP 地址
• 主機移動或者網絡故障時快速收斂
MP -BGP BGP 協議驅動重新學習和收斂
主機一旦發生移動,新的 VTEP 將要發送 BGP update 包括主機的新位置
• 優化的流量轉發 支持主機移動
利用 Anycast IP gateway 優化主機流量轉發 優化主機流量轉發
不需要髮卡彎到達 IP 網關
• ARP 抑制
減小在 overlay 網絡中的 ARP 泛洪
• 頭端複製中可動態學習遠程 -VTEP VTEP VTEP 列表
頭端複製消除 underlay underlayunderlay 網絡對組播的依賴
動態 學習遠程 -VTEP VTEP 列表減少人工操作
• 通過 MP -BGP authentication authentication 實現 VTEP peer authentication
防止 惡意 VTEP 加入或者 VTEP 哄騙發生
閱讀更多 楊左屎 的文章