《新華三:2025年EVPN技術白皮書(77頁).pdf》由會員分享,可在線閱讀,更多相關《新華三:2025年EVPN技術白皮書(77頁).pdf(77頁珍藏版)》請在三個皮匠報告上搜索。
1、EVPN 技術白皮書 Copyright 2023 新華三技術有限公司 版權所有,保留一切權利。非經本公司書面許可,任何單位和個人不得擅自摘抄、復制本文檔內容的部分或全部,并不得以任何形式傳播。除新華三技術有限公司的商標外,本手冊中出現的其它公司的商標、產品標識及商品名稱,由各自權利人擁有。本文中的內容為通用性技術信息,某些信息可能不適用于您所購買的產品。i 目 錄 1 概述 1 1.1 產生背景 1 1.2 協議框架 1 1.3 技術優勢 3 1.4 BGP EVPN 路由 3 1.4.1 Ethernet Auto-discovery Route(RT-1)4 1.4.2 MAC/IP A
2、dvertisement Route(RT-2)5 1.4.3 Inclusive Multicast Ethernet Tag Route(RT-3)6 1.4.4 Ethernet Segment Route(RT-4)7 1.4.5 IP Prefix Advertisement Route(RT-5)7 1.4.6 Selective Multicast Ethernet Tag Route(RT-6)8 1.4.7 IGMP Join Synch Route(RT-7)9 1.4.8 IGMP Leave Synch Route(RT-8)10 1.5 BGP EVPN 路由的擴展團
3、體屬性 11 1.5.1 ESI Label Extended Community 11 1.5.2 ES-Import Route Target Extended Community 12 1.5.3 MAC Mobility Extended Community 12 1.5.4 Default Gateway Extended Community 12 1.5.5 Encapsulation Type Extended Community 13 1.5.6 VPN Target Extended Community(也稱為 Route Target)13 2 EVPN VXLAN 1 2
4、.1 EVPN VXLAN 網絡模型 1 2.2 EVPN VXLAN 控制平面工作機制 2 2.2.1 VXLAN 隧道及 BUM 廣播表建立 2 2.2.2 MAC/IP 路由通告與學習 3 2.2.3 外部路由通告與學習 5 2.2.4 MAC 地址遷移 6 2.2.5 ARP 泛洪抑制 6 2.3 EVPN VXLAN 數據平面工作機制 8 2.3.1 二層流量轉發 8 2.3.2 集中式網關轉發 9 2.3.3 分布式網關對稱 IRB 轉發 9 2.3.4 分布式網關非對稱 IRB 轉發 12 ii 2.4 EVPN VXLAN 多歸屬 13 2.4.1 功能簡介 13 2.4.2
5、DF 選舉 13 2.4.3 協議報文交互過程 15 2.4.4 水平分割 15 2.4.5 別名 16 2.4.6 MAC 地址快速收斂 17 2.5 EVPN VXLAN 支持組播 17 2.5.1 功能簡介 17 2.5.2 單歸屬站點組播 17 2.5.3 多歸屬站點組播 18 2.6 典型組網應用 19 2.6.1 EVPN 分布式網關組網 19 2.6.2 EVPN 數據中心互聯組網 19 2.6.3 EVPN 與 SDN 控制器配合組網 20 3 EVPN VPLS 1 3.1 EVPN VPLS 網絡模型 1 3.2 EVPN VPLS 控制平面工作機制 1 3.2.1 建立
6、PW 1 3.2.2 MAC 地址學習、老化和回收 2 3.2.3 MAC 地址遷移 2 3.2.4 ARP 泛洪抑制 3 3.3 EVPN VPLS 數據平面工作機制 4 3.3.1 本地站點接入模式 4 3.3.2 流量轉發 4 3.3.3 全連接和水平分割 5 3.4 EVPN VPLS 多歸屬 5 3.4.1 功能簡介 5 3.4.2 DF 選舉 5 3.4.3 冗余備份模式 7 3.4.4 協議報文交互過程 8 3.4.5 別名 8 3.4.6 MAC 地址快速收斂 8 3.5 LDP PW 或靜態 PW 接入 EVPN PW 9 3.6 典型組網應用 9 3.6.1 多歸屬組網 9
7、 iii 3.6.2 E-Tree 組網 10 4 EVPN VPWS 1 4.1 網絡模型 1 4.2 EVPN VPWS 控制平面工作機制 1 4.2.1 工作機制綜述 1 4.2.2 建立公網隧道 2 4.2.3 建立 PW 2 4.2.4 建立 AC 3 4.2.5 關聯 AC 和 PW 3 4.3 EVPN VPWS 數據平面工作機制 3 4.4 EVPN VPWS 多歸屬 4 4.4.1 功能簡介 4 4.4.2 冗余備份模式 4 4.4.3 DF 選舉 5 4.4.4 協議報文交互過程 7 4.4.5 別名與備份路徑 7 4.5 多段 PW 8 4.6 EVPN VPWS 跨域
8、10 4.6.1 跨域-Option A 10 4.6.2 跨域-Option B 10 4.6.3 跨域-Option C 11 4.7 LDP PW 或靜態 PW 接入 EVPN PW 12 4.8 典型組網應用 13 4.8.1 多歸屬組網 13 4.8.2 FRR 組網 13 5 EVPN L3VPN 1 5.1 EVPN L3VPN 網絡模型 1 5.2 EVPN L3VPN 控制平面工作機制 1 5.2.1 本地 CE 到入口 PE 的路由信息交換 1 5.2.2 入口 PE 到出口 PE 的路由信息交換 2 5.2.3 出口 PE 到遠端 CE 的路由信息交換 2 5.3 EVP
9、N L3VAN 數據平面工作機制 2 5.4 BGP/MPLS L3VPN 與 EVPN L3VPN 對接 3 5.5 BGP EVPN 快速重路由 4 6 EVPN VXLAN 與 EVPN VPLS over SRv6 網絡互通 1 6.1 網絡模型 1 iv 6.2 網絡互通原理 1 6.3 控制平面工作機制 2 6.3.1 SRv6 PW 及 BUM 廣播表建立 2 6.3.2 VXLAN 隧道及 BUM 廣播表建立 3 6.3.3 MAC 地址學習 4 6.4 數據平面工作機制 6 6.4.1 轉發已知單播流量 6 6.4.2 轉發 BUM 流量 7 7 參考文獻 1 1 1 概述概
10、述 1.1 產生背景 隨著數據中心業務日益增加,用戶需求不斷提高,數據中心的規模和功能日趨復雜,管理難度也越來越高。出于災備、企業分支機構的多地部署、提升資源利用率等方面的考慮,企業可能在不同的物理站點部署自己的數據中心網絡。于是,如何將這些數據中心站點互聯起來,并降低數據中心的管理成本、靈活擴充數據中心業務等就成為企業數據中心的重要任務。EVPN(Ethernet Virtual Private Network,以太網虛擬專用網絡)是一種基于 Overlay 技術的二層網絡互聯技術,具有部署簡單、擴展性強等優點。EVPN 采用 MP-BGP 協議通告 MAC/IP 的可達性和組播等信息,通過
11、生成的 MAC 表項和路由表項進行二/三層報文轉發,以實現二層網絡互聯,很好地滿足了用戶對于大型數據中心網絡的需求。目前,EVPN 不僅廣泛應用于數據中心網絡,在園區接入網絡、廣域網、運營商網絡中也具有一定的應用。1.2 協議框架 EVPN 定義了一套通用的控制平面,數據平面可以使用不同的封裝技術,他們的關系如圖 1 所示。目前,Comware 支持 VXLAN、MPLS 和 IPv6 Segment Routing(SRv6)作為數據平面。圖1 EVPN 協議框架 不同數據平面對應的 EVPN 技術分別為:EVPN VXLAN:數據平面采用 VXLAN 封裝。EVPN VXLAN 網絡的邊緣
12、設備稱為 VTEP(VXLAN Tunnel End Point,VXLAN 隧道端點),EVPN 的相關處理均在 VTEP 上完成。EVPN VXLAN 通過在 VTEP 間建立 VXLAN 隧道,透明傳輸二層數據報文,實現不同站點間的二層互聯。通過在EVPN VXLAN網絡中部署EVPN網關,可以實現為同一租戶的不同子網提供三層互聯,并為其提供與外部網絡的三層互聯。EVPN VXLAN 的詳細介紹請參見“2 EVPN VXLAN”。MP-BGP(BGP EVPN address family)MPLSVXLANSRv6PBBControl planeData plane 2 圖2 EVPN
13、 VXLAN 網絡模型示意圖 EVPN VPLS:數據平面采用 MPLS 封裝,用來實現用戶的點到多點二層互通。EVPN VPLS 組網中,用戶網絡側設備 CE 通過 AC 接入服務提供商網絡側設備 PE,PE 間通過 BGP EVPN 路由建立 PW,PE 通過查找 MAC 地址表轉發報文,可以實現用戶點對多點的二層互通。EVPN VPLS 的詳細介紹請參見“3 EVPN VPLS”。圖3 EVPN VPLS 網絡模型示意圖 EVPN VPWS:數據平面采用 MPLS 封裝,用來實現用戶的點到點二層互通。EVPN VPWS 組網中,用戶網絡側設備 CE 通過 AC 接入服務提供商網絡側設備
14、PE,PE 間通過 BGP EVPN 路由建立 EVPN PW,在 PE 上使用交叉連接將 AC 與 EVPN PW 關聯,即可實現用戶點對點的二層互通。EVPN VPWS 的詳細介紹請參見“4 EVPN VPWS”。VXLAN tunnelVTEPTerminalTerminalTerminalVSI/VXLAN 10VSI/VXLAN 20VSI/VXLAN 30TerminalTerminalTerminalVSI/VXLAN 10VSI/VXLAN 20VSI/VXLAN 30IP核心網絡PESESVTEPSite 1Site 2CE 1CE 2PE 1PE 2TunnelPWACAC
15、MPLS or IP backboneCustomer networkCustomer networkCustomer networkCE 3AC 3 圖4 EVPN VPWS 網絡模型示意圖 EVPN VPLS over SRv6:數據平面采用 SRv6 封裝,用來實現用戶的點到多點二層互通。EVPN VPWS over SRv6:數據平面采用 SRv6 封裝,用來實現用戶的點到點二層互通。本文僅介紹 EVPN VXLAN、EVPN VPLS和 EVPN VPWS三種 EVPN 技術,EVPN VPLS over SRv6和 EVPN VPWS over SRv6 的詳細介紹,請參見SRv6
16、 技術白皮書。1.3 技術優勢 EVPN 不僅繼承了 MP-BGP 和 VXLAN/MPLS 的優勢,還提供了新的功能。EVPN 具有如下特點:簡化配置:通過 MP-BGP 實現 VTEP/PE 自動發現、VXLAN 隧道/PW 自動建立、VXLAN 隧道與 VXLAN 自動關聯,無需用戶手工配置,降低網絡部署難度。分離控制平面與數據平面:控制平面負責發布路由信息,數據平面負責轉發報文,分工明確,易于管理。提供點到點和點到多點的服務:將用戶的二層數據封裝成可以在 IP 或 MPLS 網絡中傳送的分組,從而實現用戶二層數據跨越 IP 或 MPLS 網絡在不同站點間透明地傳送。相對于傳統 VPLS
17、 技術,EVPN 存在如下優勢:EVPN 支持完善的多歸屬接入應用場景,支持負載分擔和主備備份兩種工作模式。二層網絡間的 MAC/IP 地址學習和發布從數據平面轉移到控制平面,采用 MP-BGP 協議通告MAC/IP 的可達性,使設備可以像管理路由一樣靈活地管理 MAC/IP 地址:具有較好的擴展性。能夠維護主機或虛擬機彼此間的隔離性。解決了設備多歸屬或網絡多歸屬接入時的負載分擔問題,并縮短了網絡出現故障時的收斂時間。使用 BGP 作為控制協議,統一了二層和三層的控制信令協議。通過部署路由反射器,避免設備全連接,降低網絡部署的難度。1.4 BGP EVPN路由 為了支持 EVPN,MP-BGP
18、 在 L2VPN 地址族下定義了新的子地址族EVPN 地址族,并為該地址族定義了 EVPN NLRI(Network Layer Reachability Information,網絡層可達性信息),即 EVPN路由。EVPN 子地址族使用的地址族編號為:AFI=25,SAFI=70。在 EVPN 網絡中,VTEP/PE 之間既可以建立 IBGP 鄰居,也可以建立 EBGP 鄰居。CE 1CE 2PE 1PE 2TunnelPWACACMPLS or IP backboneCustomer networkCustomer network 4 建立 IBGP 鄰居時,為簡化全連接配置,需要部署
19、RR 反射器。所有 VTEP/PE 都只和 RR 建立 BGP 鄰居關系。RR 發現并接收 VTEP/PE 發起的 BGP 連接后形成客戶機列表,將從某個VTEP/PE 收到的路由反射給其他所有的 VTEP/PE。建立 EBGP 鄰居時,不需要部署 RR。BGP 自動將從 EBGP 鄰居收到的 EVPN 消息發送給其他 EBGP 和 IBGP 鄰居。1.4.1 Ethernet Auto-discovery Route(RT-1)以太網自動發現路由,用來在站點多歸屬組網中通告 ES 信息,也可以用來在 EVPN VPWS 組網中通告 Service ID 信息。以太網自動發現路由分為:Ethe
20、rnet Auto-discovery Per ES 路由:主要用于多歸屬組網的快速收斂、冗余模式和水平分割。Ethernet Auto-discovery Per EVI 路由:主要用于多歸屬組網的別名(Aliasing)、備份路徑功能。圖5 以太自動發現路由報文格式 如圖 5 所示,以太自動發現路由包括如下字段:RD(Route Distinguisher,路由標識符):EVPN 實例的 RD 值。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。同一站點 CE通過不同鏈路多歸屬到不同 PE 時,這些鏈路構成一個 ES,并以一個相
21、同的 ESI 標識。Ethernet tag ID:對于 Ethernet Auto-discovery Per ES 路由,該字段為全 F。對于 Ethernet Auto-discovery Per EVI 路由,不同類型組網中,該字段對應不同的取值:在 EVPN VPLS 和 EVPN VXLAN 組網中,該字段為 VSI 實例的 Tag ID、接入 AC 對應的 VLAN 或全 0。在 EVPN VPWS 組網中中,本字段為本端的 Service ID。MPLS label:對于 Ethernet Auto-discovery Per ES 路由,該字段為 0。對于 Ethernet
22、Auto-discovery Per EVI 路由,不同數據封裝類型下,該字段對應不同的取值:VXLAN 封裝時,為 VXLAN ID。MPLS 封裝時,為 MPLS Label。Route type(1 octet):Ethernet Auto-discovery RouteLength(1 octet)RD(8 octets)Ethernet segment identifier(10 octets)Ethernet tag ID(4 octets)MPLS label(3 octets)5 SRv6 封裝時,該字段與 SRv6 TLV 組合在一起表示 SID。1.4.2 MAC/IP A
23、dvertisement Route(RT-2)MAC/IP 發布路由,用來通告 MAC 地址和主機路由信息(即 ARP 信息和 ND 信息)。圖6 MAC/IP 發布路由報文格式 如圖 6 所示,MAC/IP 發布路由包括如下字段:RD:EVPN 實例的 RD 值。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。Ethernet tag ID:該字段為 VSI 實例的 Tag ID、接入 AC 對應的 VLAN 或全 0。MAC address length:通告的 MAC 地址長度。MAC address:通告的 MAC 地址。
24、IP address length:主機 IP 地址的掩碼長度。IP address:通告的主機 IP 地址。MPLS label1:不同的數據封裝類型下,該字段對應不同的取值:VXLAN 封裝時,為 VXLAN ID。MPLS 封裝時,為 MPLS Label。SRv6 封裝時,該字段與 SRv6 TLV 組合在一起表示 SID。MPLS label2:三層業務流量轉發時使用的標識。不同的數據封裝類型下,該字段對應不同的取值:VXLAN 封裝時,為 L3VNI。MPLS 封裝暫不支持該字段。SRv6 封裝時,該字段與 SRv6 TLV 組合在一起表示 SRv6 分布式網關用于轉發三層流量的S
25、Rv6 SID。Route type(1 octet):MAC/IP advertisement routeLength(1 octet)RD(8 octets)Ethernet segment identifier(10 octets)Ethernet tag ID(4 octets)MAC address length(1 octet)MAC address(6 octets)IP address length(1 octet)IP address(0,4,or 16 octets)MPLS label1(3 octets)MPLS label2(0 or 3 octets)6 1.4.3
26、 Inclusive Multicast Ethernet Tag Route(RT-3)包含性組播以太網標簽路由,又稱為 IMET 路由。在 EVPN VXLAN 組網中用來通告 VTEP 及其所屬 VXLAN 信息,以實現自動發現 VTEP、自動建立 VXLAN 隧道和自動關聯 VXLAN 與 VXLAN 隧道;在 EVPN VPLS 組網中用來通告 PE 信息,實現 PE 的自動發現、自動建立 PW。圖7 包含性組播以太網標簽路由的報文格式 如圖 7 所示,發布包含性組播以太網標簽路由時,需要在該路由中攜帶 PSMI(Provider Multicast Service Interfac
27、e,運營商組播業務接口)tunnel attributes,該屬性中各字段的含義為:Flags:標記位。Tunnel type:隧道類型,取值如下:0:表示 No tunnel information present。1:表示 RSVP-TE P2MP LSP。2:表示 mLDP P2MP LSP。3:表示 PIM-SSM Tree。4:表示 PIM-SM Tree。5:表示 BIDIR-PIM Tree。6:表示 Ingress Replication。7:表示 mLDP MP2MP LSP。MPLS label:轉發 BUM(Broadcast/Unknown unicast/Unknow
28、n Multicast,廣播/未知單播/未知組播)流量時,封裝的 MPLS 標簽、VXLAN ID 或 SID。Tunnel Identifier:當隧道類型為 Ingress Replication 時,表示隧道對端的 IP 地址。包含性組播以太網標簽路由包含如下字段:RD:EVPN 實例的 RD 值。Ethernet tag ID:該字段為接入 AC 對應的 VLAN 或全 0。IP address length:始發該路由的 IP 地址的掩碼長度。Originating routers IP address:始發該路由的 VTEP 或 PE 的 IP 地址,取值為 BGP 協議的Rout
29、er ID。Route type(1 octet):Inclusive multicast routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)IP address length(1 octet)Originating routers IP address(4 or 16 octets)Tunnel Identifier(variable)PSMI tunnel attributesRT-3 NLRIFlags(1 octet)Tunnel type(1 octets)MPLS label(3 octets)7 1.4.4 Ethe
30、rnet Segment Route(RT-4)以太網段路由,用來通告 ES 及其連接的 VTEP 信息,以便發現連接同一 ES 的多歸屬冗余備份組中的其他成員,以及在冗余組之間選舉 DF 等。圖8 以太網段路由報文格式 如圖 8 所示,以太網段路由包含如下字段:RD:根據 VTEP/PE 的 IP 地址自動生成的 RD,例如 X.X.X.X:0。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。IP address length:始發該路由的 IP 地址的掩碼長度。Originating routers IP address:始發該
31、路由的 VTEP 或 PE 的 IP 地址,取值為 BGP 協議的Router ID。1.4.5 IP Prefix Advertisement Route(RT-5)IP 前綴路由,用來以 IP 前綴的形式通告 BGP IPv4 單播路由或 BGP IPv6 單播路由。圖9 IP 前綴路由報文格式 如圖 9 所示,IP 前綴路由包含如下字段:RD:VPN 實例/公網實例下 EVPN 地址族的 RD 值。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。Ethernet tag ID:固定為全 0。IP prefix length:I
32、P 前綴掩碼長度。IP prefix:IP 前綴地址。Route type(1 octet):Ethernet segment routeLength(1 octet)RD(8 octets)Ethernet segment identifier(10 octets)IP address length(1 octet)Originating routers IP address(4 or 16 octets)Route type(1 octet):IP prefix routeLength(1 octet)RD(8 octets)Ethernet segment identifier(10 o
33、ctets)Ethernet tag ID(4 octets)IP prefix length(1 octet)IP prefix(4 or 16 octets)GW IP address(4 or 16 octets)MPLS label(3 octets)8 GW IP address:默認網關地址。L3VNI:不同數據封裝類型下,該字段對應不同的取值:VXLAN 封裝時,為轉發三層業務流量時使用的 L3VNI。MPLS 封裝時,為 MPLS Label。SRv6 封裝時,為轉發三層業務流量時使用的 SID。1.4.6 Selective Multicast Ethernet Tag Ro
34、ute(RT-6)選擇性組播以太網標簽路由,用來通告租戶的 IGMP 組播組信息。圖10 選擇性組播以太網標簽路由報文格式 如圖 10 所示,選擇性組播以太網標簽路由包含如下字段:RD:EVPN 實例的 RD 值。Ethernet tag ID:該字段為全 0。Multicast source length:租戶加入的組播源的 IP 地址長度,32 位代表 IPv4,128 位代表IPv6。Multicast source address:租戶加入的組播源的地址。Multicast group length:租戶加入的組播組的IP地址長度,32代表IPv4,128位代表IPv6。Multica
35、st group address:租戶加入的組播組地址。Originator router length:始發該路由的 IP 地址的長度,32 代表 IPv4,128 位代表 IPv6。Originator router address:始發該路由的VTEP或PE的IP地址,取值為BGP協議的Router ID。Flags:標記位。該字段表示的內容與 Multicast group address 字段有關:如果 Multicast group address 為 IPv4 地址:bit 7 表示是否支持 IGMP version 1。bit 6 表示是否支持 IGMP version 2。b
36、it 5 表示是否支持 IGMP version 3。Route type(1 octet):Selective Multicast Ethernet Tag routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)Multicast source length(1 octet)Multicast source address(variable)Multicast group length(1 octet)Multicast group address(Variable)Originator router length(1 octet)
37、Originator router address(variable)Flags(1 octets)(optional)9 bit 4表示攜帶的(S,G)的模式,取值為1,表示Exclude模式;取值為0,表示Include模式。該 bit 位僅在 bit 5 取值為 1 時有效,bit 5 取值為 0 時忽略該 bit 位。如果 Multicast group address 為 IPv6 地址:bit 7 表示是否支持 MLD version 1。bit 6 表示是否支持 MLD version 2。bit 5 目前固定值為 0。bit 4表示攜帶的(S,G)的模式,取值為1,表示Excl
38、ude模式;取值為0,表示Include模式。該 bit 位僅在 bit 6 取值為 1 時有效,bit 6 取值為 0 時忽略該 bit 位。1.4.7 IGMP Join Synch Route(RT-7)IGMP 加入同步路由,用來在多歸屬成員間同步租戶的 IGMP 加入組播組信息。圖11 IGMP 加入同步路由報文格式 如圖 11 所示,IGMP 加入同步路由包含如下字段:RD:EVPN 實例的 RD 值。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。Ethernet tag ID:接入 AC 對應的 VLAN。Multi
39、cast source length:租戶加入的組播源的 IP 地址長度,32 位代表 IPv4,128 位代表IPv6。Multicast source address:租戶加入的組播源的地址。Multicast group length:租戶加入的組播組的IP地址長度,32代表IPv4,128位代表IPv6。Multicast group address:租戶加入的組播組地址。Originator router length:始發該路由的 IP 地址的長度,32 代表 IPv4,128 位代表 IPv6。Originator router address:始發該路由的VTEP或PE的IP地
40、址,取值為BGP協議的Router ID。Flags:標記位。該字段表示的內容與 Multicast group address 字段有關:Route type(1 octet):IGMP join synch routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)Multicast source length(1 octet)Multicast source address(variable)Multicast group length(1 octet)Multicast group address(Variable)Origina
41、tor router length(1 octet)Originator router address(variable)Flags(1 octets)(optional)Ethernet segment identifier(10 octets)10 如果 Multicast group address 為 IPv4 地址:bit 7 表示是否支持 IGMP version 1。bit 6 表示是否支持 IGMP version 2。bit 5 表示是否支持 IGMP version 3。bit 4表示攜帶的(S,G)的模式,取值為1,表示Exclude模式;取值為0,表示Include模式
42、。該 bit 位僅在 bit 5 取值為 1 時有效,bit 5 取值為 0 時忽略該 bit 位。如果 Multicast group address 為 IPv6 地址:bit 7 表示是否支持 MLD version 1。bit 6 表示是否支持 MLD version 2。bit 5 目前固定值為 0。bit 4表示攜帶的(S,G)的模式,取值為1,表示Exclude模式;取值為0,表示Include模式。該 bit 位僅在 bit 6 取值為 1 時有效,bit 6 取值為 0 時忽略該 bit 位。1.4.8 IGMP Leave Synch Route(RT-8)IGMP 離開同
43、步路由,用來在多歸屬成員間通告租戶的 IGMP 離開組播組信息,以撤銷相應的 IGMP加入同步路由。圖12 IGMP 離開同步路由報文格式 如圖 12 所示,IGMP 離開同步路由包含如下字段:RD:EVPN 實例的 RD 值。Ethernet segment identifier:VTEP/PE 與 CE 之間的以太網鏈路的段標識符。Ethernet tag ID:接入 AC 對應的 VLAN。Multicast source length:租戶加入的組播源的 IP 地址長度,32 位代表 IPv4,128 位代表IPv6。Route type(1 octet):IGMP leave syn
44、ch routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)Multicast source length(1 octet)Multicast source address(variable)Multicast group length(1 octet)Multicast group address(Variable)Originator router length(1 octet)Originator router address(variable)Leave group synchronization#(4 octets)Ethe
45、rnet segment identifier(10 octets)Flags(1 octets)(optional)Maximum response time(1 octet)11 Multicast source address:租戶加入的組播源的地址。Multicast group length:租戶加入的組播組的IP地址長度,32代表IPv4,128位代表IPv6。Multicast group address:租戶加入的組播組地址。Originator router length:始發該路由的 IP 地址的長度,32 代表 IPv4,128 位代表 IPv6。Originator r
46、outer address:始發該路由的VTEP或PE的IP地址,取值為BGP協議的Router ID。Leave group synchronization:租戶離開組播組的序列號。Maximum response time:通告的最大響應時間。Flags:標記位。該字段表示的內容與 Multicast group address 字段有關:如果 Multicast group address 為 IPv4 地址:bit 7 表示是否支持 IGMP version 1。bit 6 表示是否支持 IGMP version 2。bit 5 表示是否支持 IGMP version 3。bit 4表
47、示攜帶的(S,G)的模式,取值為1,表示Exclude模式;取值為0,表示Include模式。該 bit 位僅在 bit 5 取值為 1 時有效,bit 5 取值為 0 時忽略該 bit 位。如果 Multicast group address 為 IPv6 地址:bit 7 表示是否支持 MLD version 1。bit 6 表示是否支持 MLD version 2。bit 5 目前固定值為 0。bit 4表示攜帶的(S,G)的模式,取值為1,表示Exclude模式;取值為0,表示Include模式。該 bit 位僅在 bit 6 取值為 1 時有效,bit 6 取值為 0 忽略該 bit
48、 位。1.5 BGP EVPN路由的擴展團體屬性 為了配合不同類型 BGP EVPN 路由實現不同的功能,BGP EVPN 定義了多種擴展團體屬性。1.5.1 ESI Label Extended Community Ethernet Auto-discovery Route 路由中攜帶該擴展團體屬性,用來實現水平分割和識別冗余備份模式。圖13 ESI Label Extended Community 報文格式 如圖 13 所示,ESI Label Extended Community 包含如下字段:Flags:該字段的最后一個 bit 位用于標識多歸屬的冗余備份模式。取值為 0,表示多活冗余
49、模式;取值為 1,表示單活冗余模式。Type=0 x06ESI Label Reserved=0FlagsSub-Type=0 x01Reserved=0(1 octet)(1 octet)(1 octet)(1 octet)12 ESI Label:用于在 EVPN 多歸屬組網中實現水平分割。不同的數據封裝類型下,該字段對應不同的取值:MPLS 封裝時,為 MPLS Label。VXLAN 封裝時,該字段無意義。SRv6 封裝時,為 SID 的 argument。1.5.2 ES-Import Route Target Extended Community Ethernet Segment
50、Route 中攜帶該擴展團體屬性,用于通告 ES 的 Route target 屬性。圖14 ES-Import Route Target Extended Community 報文格式 如圖 14 所示,ES-Import Route Target Extended Community 中 ES-Import 和 ES-Import Contd 字段一起表示根據 ESI 自動生成的 Route target 屬性值。1.5.3 MAC Mobility Extended Community 當主機發生遷移時,攜帶在 MAC/IP Advertisement Route 路由中,用于標識主機發
51、生遷移的次數。圖15 MAC Mobility Extended Community 報文格式 如圖 15 所示,MAC Mobility Extended Community 包含如下字段:Flags:該字段的最后一個 bit 位用于標識是否為靜態 MAC。取值為 1,表示該 MAC 地址為靜態 MAC,不可遷移。Reserved:保留字段。Sequence Numbe:標記 MAC 遷移的次數。1.5.4 Default Gateway Extended Community EVPN VXLAN 分布式網關組網中,攜帶在 MAC/IP Advertisement Route 路由中,表示本
52、地址是網關地址。Type=0 x06ES-Import ContdES-ImportSub-Type=0 x02(1 octet)(1 octet)(2 octet)Type=0 x06Sequence NumberReserved=0FlagsSub-Type=0 x00(1 octet)(1 octet)(1 octet)(1 octet)13 圖16 Default Gateway Extended Community 報文格式 如圖 16 所示,Default Gateway Extended Community 中 Value 和 Value(cont.)字段取值均為 0。1.5.5
53、 Encapsulation Type Extended Community 所有 BGP EVPN 路由均可以攜帶該擴展團體屬性,用于標識報文的封裝類型。默認報文封裝類型為 MPLS 封裝。因此,采用 MPLS 封裝時,BGP EVPN 路由中可以不攜帶該屬性。圖17 Encapsulation Type Extended Community 報文格式 如圖 17 所示,Encapsulation Type Extended Community 包含如下字段:Reserved:保留字段。Tunnel Type:封裝類型。該字段不同取值代表不同的封裝類型:8:VXLAN 封裝。9:NVGRE
54、封裝。10:MPLS 封裝。11:MPLS in GRE 封裝。12:VXLAN GPE 封裝。1.5.6 VPN Target Extended Community(也稱為 Route Target)所有 BGP EVPN 路由均需要攜帶 VPN Target 擴展團體屬性,通過 VPN Target屬性來控制 EVPN路由信息的發布與接收:本地 VTEP 在通過 BGP 的 Update 消息將 EVPN 路由發送給遠端 VTEP 時,在 Update 消息中攜帶 VPN Target 屬性(該屬性稱為 Export target 屬性)。遠端 VTEP 收到其它 VTEP 發布的 Upd
55、ate 消息時,將消息中攜帶的 VPN target 屬性與本地配置的 VPN target 屬性(該屬性稱為 Import target 屬性)進行匹配,只有二者中存在相同的屬性值時,才會接收該消息中的 EVPN 路由。Type=0 x03Value(cont.)ValueSub-Type=0 x0d(1 octet)(1 octet)(2 octet)Type=0 x03ReservedReservedSub-Type=0 x0c(1 octet)(1 octet)(2 octet)Tunnel Type 14 圖18 VPN Target Extended Community 報文格式
56、如圖18所示,VPN Target Extended Community中Value和Value(cont.)字段一起表示Route Target。Route Target 取值有如下三種格式:16 位自治系統號:32 位用戶自定義數,例如:101:3。32 位 IP 地址:16 位用戶自定義數,例如:192.168.122.15:1。32 位自治系統號:16 位用戶自定義數字,其中的自治系統號最小值為 65536。例如:65536:1。Type=0 x04Value(cont.)ValueSub-Type(1 octet)(1 octet)(2 octet)1 2 EVPN VXLAN 2.
57、1 EVPN VXLAN網絡模型 圖19 EVPN VXLAN 網絡模型示意圖 如圖 19 所示,EVPN VXLAN 的典型網絡模型中包括如下幾部分:用戶終端(Terminal):可以是PC機、無線終端設備、服務器上創建的VM(Virtual Machine,虛擬機)等。不同的用戶終端可以屬于不同的 VXLAN。屬于相同 VXLAN 的用戶終端處于同一個邏輯二層網絡,彼此之間二層互通;屬于不同 VXLAN 的用戶終端之間二層隔離。本文檔中如無特殊說明,均以 VM 為例介紹 EVPN VXLAN 工作機制。采用其他類型用戶終端時,EVPN VXLAN 工作機制與 VM 相同,不再贅述。VTEP
58、(VXLAN Tunnel End Point,VXLAN 隧道端點):EVPN VXLAN 的邊緣設備。EVPN VXLAN 的相關處理都在 VTEP 上進行。根據 VTEP 功能,VTEP 可以劃分為 L2 VTEP 和 GW兩種角色:L2 VTEP:只支持二層 VXLAN 轉發功能的設備,即只能在相同 VXLAN 內進行二層轉發。GW:可以進行跨 VXLAN 或者訪問外部 IP 網絡等三層轉發的設備。EVPN VXLAN 網絡根據 GW 的部署方式,可以分為集中式網關和分布式網關兩種。VXLAN 隧道:兩個 VTEP 之間的點到點邏輯隧道。VTEP 為數據幀封裝 VXLAN 頭、UDP
59、頭和 IP 頭后,通過 VXLAN 隧道將封裝后的報文轉發給遠端 VTEP,遠端 VTEP 對其進行解封裝。核心設備:IP 核心網絡中的設備(如圖 19 中的 P 設備)。核心設備不參與 EVPN 處理,僅需要根據封裝后報文的外層目的 IP 地址對報文進行三層轉發。VXLAN 網絡/EVPN 實例:用戶網絡可能包括分布在不同地理位置的多個站點內的用戶終端。在骨干網上可以利用 VXLAN 隧道將這些站點連接起來,為用戶提供一個邏輯的二層 VPN。這個二層 VPN 稱為一個 VXLAN 網絡,也稱為 EVPN 實例。VXLAN 網絡通過 VXLAN ID 來標VXLAN tunnelVTEPTer
60、minalTerminalTerminalVSI/VXLAN 10VSI/VXLAN 20VSI/VXLAN 30TerminalTerminalTerminalVSI/VXLAN 10VSI/VXLAN 20VSI/VXLAN 30IP核心網絡PESESVTEPSite 1Site 2 2 識,VXLAN ID 又稱 VNI(VXLAN Network Identifier,VXLAN 網絡標識符),其長度為 24 比特。不同 VXLAN 網絡中的用戶終端不能二層互通。VSI(Virtual Switch Instance,虛擬交換實例):VTEP 上為一個 VXLAN 提供二層交換服務的虛
61、擬交換實例。VSI可以看作是 VTEP上的一臺基于 VXLAN進行二層轉發的虛擬交換機。VSI 與 VXLAN 一一對應。ES(Ethernet Segment,以太網段):用戶站點連接到 VTEP 的鏈路,通過 ESI(Ethernet Segment Identifier,以太網段標識符)唯一標識。當一個站點通過多條鏈路接入到 EVPN VXLAN 網絡時,這些鏈路構成一個 ES,以實現主備備份或負載分擔。如圖 20 所示,EVPN VXLAN 通常采用 Spine(核心)Leaf(分支)的分層結構。Leaf 層的設備作為 VTEP 對報文進行 EVPN 相關處理,Spine 層為核心設備
62、,根據報文的目的 IP 地址轉發報文。EVPN VXLAN 網絡中的設備屬于同一個 AS(Autonomous System,自治系統)時,為了避免在所有 VTEP 之間建立 IBGP 對等體,可以將核心設備配置為 RR(Route Reflector,路由反射器),以減輕網絡的部署難度。通常情況下,在集中式網關組網中,VTEP 為 L2 VTEP,其中一臺 RR 同時作為 GW;在分布式網關組網中,VTEP 作為 GW,RR 僅作為反射器發布、接收 EVPN 路由,不需要封裝、解封裝 VXLAN 報文。圖20 EVPN VXLAN 分層組網模型 2.2 EVPN VXLAN控制平面工作機制
63、2.2.1 VXLAN 隧道及 BUM 廣播表建立 VXLAN 采用“MAC in UDP”封裝,是一種在 IP 網絡基礎之上構建 Overlay 網絡的技術。在 IP 網絡上傳輸報文時,VXLAN 使用 Ingress Replication,即頭端復制,來轉發 BUM(Broadcast/Unknown unicast/Unknown Multicast,廣播/未知單播/未知組播)流量。所謂頭端復制,是指在 VXLAN 轉發實體(VSI)中保存 BUM 流量需要通過哪些 VXLAN 隧道復制到遠端 PE 設備,此 VXLAN 隧道列表叫做 BUM 廣播表。EVPN VXLAN 可以通過以下
64、兩種方式建立 VXLAN 隧道和 BUM 廣播表:VTEPServerServerSite 1Site 2IP核心網絡VTEPRRRRLeafSpine 3 在二層轉發時,EVPN VXLAN 依靠 RT-3(Inclusive Multicast Ethernet Tag Route)自動發現VTEP 站點、建立 VXLAN 隧道、建立 BUM 廣播表。RT-3 路由的關鍵信息及路由格式如圖 21 所示。每個 VTEP 都通過 RT-3 通告自己所屬的VXLAN ID 及自身的 IP 地址。這樣,每個 VTEP 設備都有全網的 VXLAN 信息以及 VXLAN 和下一跳的關系。VTEP設備會
65、和那些跟自己具有相同VXLAN的下一跳自動建立VXLAN隧道,并將此 VXLAN 隧道與 VXLAN 關聯。于是,對于每個 VXLAN 而言,所有這些建立并關聯的VXLAN 隧道就形成 BUM 廣播表。圖21 RT-3 路由消息格式 在分布式網關進行三層轉發時,EVPN VXLAN 依靠 RT-2 或 RT-5 自動發現 VTEP 站點、建立VXLAN 隧道。當分布式網關接收到遠端網關通告的 RT-2 或 RT-5 路由,且該路由攜帶的 Export target 屬性與本地某個 VPN 實例的 Import target 屬性匹配時,本地 VTEP 會與遠端 VTEP 建立 VXLAN隧道,
66、并將該 VXLAN 隧道與 VPN 實例對應的 L3VNI(Layer 3 VNI,三層 VXLAN ID)關聯。此隧道用于三層轉發時對報文進行封裝。分布式網關的詳細介紹,請參見“2.3.3 分布式網關對稱 IRB 轉發”。如果通過上述兩種方式發現同一個遠端 VTEP,則只建立一條隧道,該隧道與不同的 VXLAN 關聯,同時用于二層轉發和三層轉發,即兩個 VTEP 之間最多只會建立一條 VXLAN 隧道。2.2.2 MAC/IP 路由通告與學習 EVPN VXLAN 在控制平面學習 MAC 地址和 ARP/ND 信息。站點的 MAC 地址和 ARP/ND 信息通過EVPN 的 MAC/IP 發
67、布路由(即 RT-2,二類路由)通告。因此,在 EVPN VXLAN 網絡中,不需要將 ARP/ND 請求泛洪到網絡中。RT-2 路由格式如圖 22 所示。Route type(1 octet):Inclusive multicast routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)IP address length(1 octet)Originating routers IP address(4 or 16 octets)Tunnel type:Ingress replicationLabel:VXLAN IDPSMI tun
68、nel attributesRT-3 NLRI 4 圖22 RT-2 路由格式 如圖 23 所示,MAC 地址和 ARP/ND 信息的通告和學習過程為:(1)VTEP 在數據平面完成本地 MAC 地址和 ARP/ND 信息的學習。本地 MAC 地址通過以太網報文的源 MAC 地址學習獲得;ARP/ND 信息通過 ARP、免費 ARP、ND 等報文學習獲得。(2)VTEP 學習到本地 MAC 地址和 ARP/ND 信息后,在控制平面通過 BGP EVPN 的 RT-2 路由將該信息發布給 RR。(3)RR 將接收到的 RT-2 路由同步給所有 BGP EVPN 鄰居(遠端 VTEP)。(4)遠端
69、 VTEP 接收到 RT-2 路由后,將 MAC 地址添加到 MAC 地址轉發表,將 ARP/ND 信息添加到 ARP/ND 表和路由表。圖23 MAC/IP 路由通告與學習過程 在發布 RT-2 路由時,VTEP 可以選擇是否攜帶 IP。為了抑制 ARP 請求泛洪到網絡中,通常需要攜帶 IP,以便讓遠端 VTEP 學習到本端 VTEP 下掛的主機 ARP,使得遠端 VTEP 可以直接代答回應Route type(1 octet):MAC/IP advertisement routeLength(1 octet)RD(8 octets)Ethernet segment identifier(1
70、0 octets)Ethernet tag ID(4 octets)MAC address length(1 octet)MAC address(6 octets)IP address length(1 octet)IP address(0,4,or 16 octets)L2VNI(3 octets)L3VNI(0 or 3 octets)VTEP AVTEP CRRRRVM 1VTEP BVM 2VM 31.1.1.11.1.1.21.1.1.3(2)(3)(3)Tabel on VTEP CMAC,IPRemote VTEPMAC,IP of VM 11.1.1.1MAC,IP of VM
71、 21.1.1.2(4)Tabel on VTEP BMAC,IPRemote VTEPMAC,IP of VM 11.1.1.1MAC,IP of VM 31.1.1.3(4)Tabel on VTEP AMAC,IPRemote VTEPMAC,IP of VM 21.1.1.2MAC,IP of VM 31.1.1.3(4)(1)5 遠端主機發起的 ARP 請求。如果只是純二層網絡、不進行三層轉發,則在 RT-2 中只攜帶 MAC 地址。由于在三層轉發環境下遠端 VTEP 能夠從 ARP 信息中獲取 MAC 地址,Comware 上可以禁止通告只包含 MAC 地址的 RT-2 路由,以減
72、少通告的 EVPN 路由數量。在集中式網關組網中,L2 VTEP 需要將學習到的 ARP 通告給 GW,GW 添加該 ARP 表項,并生成32 位主機路由,路由的下一跳為路由的目的地址本身。在分布式網關組網中,每一個分布式網關都會將學習到的 ARP 通告給其他網關。在遠端 GW 上,RT-2 中的 IP 地址會下發到 VPN 實例的路由表形成 32 位主機路由,此路由的下一跳為通告此路由的 GW 設備。2.2.3 外部路由通告與學習 EVPN VXLAN 網絡構建的是一個私有網絡,它也可以通過接入外網,實現與外網的通信。通常在EVPN VXLAN 的 Spine-Leaf 架構中,會部署一臺或
73、多臺專門接入外網的設備,稱之為 Board leaf。Board leaf 通過普通接口與外網之間運行普通路由協議,學習路由;之后,在 Board leaf 上 EVPN VXLAN 可以引入這些外部路由,形成 EVPN RT-5(5 類)路由,進而通告到 EVPN VXLAN 網絡中,使其他 VTEP 也能學到這些外部路由。這些路由的下一跳均指向通告此路由的 Board leaf。當網絡中存在多臺 Board leaf 時,這些 Board leaf 都可以通告此路由,從而形成等價路由,以達到負載分擔的目的。5 類路由的格式如圖 24 所示。圖24 RT-5 路由格式 如圖 25 所示,外部
74、路由通告與學習過程為:(1)Board leaf 與 WAN 網絡之間配置靜態路由,或運行 BGP、OSPF 等動態路由協議。Board leaf學習到外網的路由。(2)在 Board leaf 上,將外部路由引入到 EVPN,形成 EVPN 的 5 類路由,并發布給 RR。(3)RR 將 Board leaf 通告的 5 類路由反射給其他 VTEP。(4)遠端 VTEP 收到 5 類路由后,如果該路由攜帶的 Export target 屬性與本地某個 VPN 實例的Import target 屬性匹配,將此路由添加到該 VPN 實例的路由表中。Route type(1 octet):IP p
75、refix routeLength(1 octet)RD(8 octets)Ethernet segment identifier(10 octets)Ethernet tag ID(4 octets)IP prefix length(1 octet)IP prefix(4 or 16 octets)GW IP address(4 or 16 octets)L3VNI(3 octets)6 圖25 外部路由通告與學習過程 2.2.4 MAC 地址遷移 MAC 地址遷移是指主機/虛擬機從其接入的 VTEP 遷到數據中心網絡的另一臺 VTEP 下。EVPN VXLAN 通過在 BGP update
76、 消息中攜帶 MAC Mobility 擴展團體屬性,來確保主機/虛擬機遷移后,VTEP 能夠及時更新 MAC/IP 路由。(1)VTEP第一次發布某個 MAC/IP路由時,BGP update消息中不攜帶 MAC Mobility擴展團體屬性。(2)主機/虛擬機遷移后,新遷移到的 VTEP 感知到主機/虛擬機上線,重新通告該 MAC/IP 路由,并在路由中攜帶 MAC Mobility 擴展團體屬性。此擴展團體包含一個序列號。每次遷移,遷移序列號將遞增。(3)遠端 VTEP 接收到比自己本地保存的序列號更大的 MAC/IP 路由時,更新自己的 MAC/IP 路由消息,下一跳指向遷移后通告此路
77、由的 VTEP。(4)原 VTEP 在收到此路由更新后,撤銷之前通告的路由。2.2.5 ARP 泛洪抑制 為了避免廣播發送的 ARP 請求報文占用核心網絡帶寬,VTEP 根據接收到的 ARP 請求和 ARP 應答報文、BGP EVPN 的 RT-2 路由在本地建立 ARP 緩存表項。后續當 VTEP 收到本站點內虛擬機請求其它虛擬機 MAC 地址的 ARP 請求時,優先根據本地存儲的 ARP 表項進行代理回應。如果沒有對應的表項,則將 ARP 請求泛洪到核心網。ARP 泛洪抑制功能可以大大減少 ARP 泛洪的次數。VTEP ABorder leafRRRRVM 1VTEP BVM 2WAN1.
78、1.1.11.1.1.21.1.1.3(3)(2)(3)Routing tabel on VTEP Bnetwork/maskRemote VTEP102.10.1.1/241.1.1.3102.20.2.1/241.1.1.3(4)Routing tabel on VTEP Anetwork/maskNexthop102.10.1.1/241.1.1.3102.20.2.1/241.1.1.3(4)(1)static/BGP/OSPF.102.10.1.1102.20.2.1 7 圖26 ARP 泛洪抑制示意圖 如圖 26 所示,ARP 泛洪抑制的處理過程如下:(1)虛擬機 VM 1 發送
79、ARP 請求,獲取 VM 7 的 MAC 地址。(2)VTEP 1 根據接收到的 ARP 請求,建立 VM 1 的 ARP 泛洪抑制表項,在 VXLAN 內泛洪該 ARP請求(圖 26 以單播路由泛洪方式為例)。VTEP 1 還會通過 BGP EVPN 將該表項同步給 VTEP 2 和 VTEP 3。(3)遠端 VTEP(VTEP 2 和 VTEP 3)解封裝 VXLAN 報文,獲取原始的 ARP 請求報文后,在本地站點的指定 VXLAN 內泛洪該 ARP 請求。(4)VM 7 接收到 ARP 請求后,回復 ARP 應答報文。(5)VTEP 2 接收到 ARP 應答后,建立 VM 7 的 AR
80、P 泛洪抑制表項,通過 VXLAN 隧道將 ARP 應答發送給 VTEP 1。VTEP 2 通過 BGP EVPN 將該表項同步給 VTEP 1 和 VTEP 3。(6)VTEP 1 解封裝 VXLAN 報文,獲取原始的 ARP 應答,將 ARP 應答報文發送給 VM 1。(7)在 VTEP 1 上建立 ARP 泛洪抑制表項后,虛擬機 VM 4 發送 ARP 請求,獲取 VM 1 的 MAC地址。(8)VTEP 1 接收到 ARP 請求后,建立 VM 4 的 ARP 泛洪抑制表項,并查找本地 ARP 泛洪抑制表項,根據已有的表項回復 ARP 應答報文,不會對 ARP 請求進行泛洪。(9)虛擬機
81、 VM 10 發送 ARP 請求,獲取 VM 1 的 MAC 地址。(10)VTEP 3 接收到 ARP 請求后,建立 VM 10 的 ARP 泛洪抑制表項,并查找 ARP 泛洪抑制表項,根據已有的表項(VTEP 1 通過 BGP EVPN 同步)回復 ARP 應答報文,不會對 ARP 請求進行泛洪。(1)VTEP 1VTEP 2IP核心網絡PServer 1VM 1VM 2VM 3Server 3VM 7VM 8VM 9Server 2VM 4VM 5VM 6VXLAN tunnelVXLAN tunnelVTEP 3VXLAN tunnelServer 4VM 10VM 11VM 12(2
82、)(2)(3)(3)(4)(5)(6)(7)(8)(9)(10)(2)8 2.3 EVPN VXLAN數據平面工作機制 2.3.1 二層流量轉發 1.轉發已知單播流量 EVPN VXLAN 通過控制平面完成 MAC 地址表項的學習。VTEP 接收到二層數據幀后,判斷其所屬的 VSI,根據目的 MAC 地址查找該 VSI 的 MAC 地址表,通過表項的出接口轉發該數據幀。如果出接口為本地接口,則 VTEP 直接通過該接口轉發數據幀;如果出接口為 Tunnel 接口,則 VTEP 根據 Tunnel 接口為數據幀添加 VXLAN 封裝后,通過 VXLAN 隧道將其轉發給遠端 VTEP。2.轉發 B
83、UM 流量 除了單播流量轉發,EVPN VXLAN 網絡中還需要轉發廣播,未知組播與未知單播流量,即 BUM 流量。EVPN VXLAN 采用頭端復制方式轉發 BUM 流量。VTEP 接收到本地虛擬機發送的組播、廣播和未知單播數據幀后,判斷數據幀所屬的 VXLAN,通過該 VXLAN 內除接收接口外的所有本地接口和 VXLAN 隧道轉發該數據幀。通過 VXLAN 隧道轉發數據幀時,需要為其封裝 VXLAN 頭、UDP 頭和 IP 頭,將泛洪流量封裝在多個單播報文中,發送到VXLAN 內的所有遠端 VTEP。VXLAN 的頭端復制列表(即 BUM 廣播表)由 EVPN 自動發現并創建,不需要手工
84、干預。圖27 BUM 流量頭端復制轉發示意圖 VTEP 1VTEP 2IP核心網絡PServer 1VM 1VM 2VM 3Server 3VM 7VM 8VM 9Server 2VM 4VM 5VM 6VXLAN tunnelVXLAN tunnelVTEP 3VXLAN tunnelServer 4VM 10VM 11VM 12復制和封裝 9 2.3.2 集中式網關轉發 在 EVPN 集中式網關組網中,L2 VTEP 將本地學到的 ARP 通過 EVPN 路由通告給 GW。GW 上創建 ARP 表項,ARP 表項的 MAC 地址為虛擬機的 MAC 地址。GW 還會根據 ARP 生成 32
85、位主機路由,路由的下一跳為路由的目的地址本身(即虛擬機的 IP 地址)。集中式網關轉發流量的方式為:對于外網訪問 EVPN VXLAN 網絡內 VM 的流量,GW 接收到報文后,進行三層查表轉發,根據32位主機路由獲取到下一跳為虛擬機的IP地址。GW查找虛擬機IP地址對應的ARP表項,將報文內層目的MAC地址封裝為虛擬機的MAC地址,并添加VXLAN封裝后發送給L2 VTEP。L2 VTEP 解封裝后,根據目的 MAC 地址進行二層轉發,將報文發送給 VM。對于 EVPN VXLAN 網絡內 VM 訪問外網的流量,VM 發送給 VTEP 的報文的目的 MAC 為 GW的網關 MAC。VTEP
86、查找 MAC 地址表項,添加 VXLAN 封裝后,將報文發送給 GW。GW 解封裝后,根據內層報文的目的 IP 地址進行三層轉發。此時,GW 充當的是 IP 網關角色。對于 EVPN VXLAN 網絡內不同 VM 之間的流量,如果 VM 屬于同一個 VXLAN,則在 VTEP上查找 MAC 地址表進行二層轉發即可;如果 VM 屬于不同的 VXLAN,則 VM 發送給 VTEP的報文的目的 MAC 為 GW 的網關 MAC,需要經過 GW 進行三層轉發,才能將報文轉發到目的 VXLAN。此時,GW 充當的是 VXLAN 網關角色。2.3.3 分布式網關對稱 IRB 轉發 在分布式網關對稱 IRB
87、 轉發方式中,入口網關和出口網關上的處理方式相同。對于二層流量,入口網關和出口網關都只進行二層轉發;對于三層流量,入口網關和出口網關都只進行三層轉發。1.基本概念 對稱 IRB 轉發引入了以下概念:L3VNI(Layer 3 VNI):是指在分布式網關之間通過 VXLAN 隧道轉發流量時,屬于同一租戶(VPN 實例)的流量通過 L3VNI 來標識。L3VNI 唯一關聯一個 VPN 實例,通過 VPN 實例確保不同租戶之間的業務隔離。Route MAC:網關的 Router MAC 地址,是指每個分布式網關擁有的唯一一個用來標識本機的本地 MAC 地址,此 MAC 用于在網關之間通過 VXLAN
88、 隧道轉發三層流量。報文在網關之間轉發時,報文的內層 MAC 地址為出口網關的 Router MAC 地址。2.分布式 EVPN 網關部署要求 如圖 28 所示,在分布式 EVPN 網關組網中,所有的分布式 EVPN 網關(GW)上都存在以下類型的 VSI 虛接口:作為分布式網關接口的 VSI 虛接口。該接口需要與 VSI、VPN 實例關聯。不同 GW 上相同 VSI虛接口的 IP 地址必須相同,該 IP 地址作為 VXLAN 內虛擬機的網關地址。承載 L3VNI 的 VSI 虛接口。該接口需要與 VPN 實例關聯,并需要指定 L3VNI。關聯相同 VPN實例的 VSI 虛接口共用該 L3VN
89、I。邊界網關(Border leaf)上也需要存在承載 L3VNI 的 VSI 虛接口。10 圖28 分布式 EVPN 網關部署示意圖 3.流量轉發過程 分布式網關對流量的轉發方式分為兩種:區分二三層轉發方式:對于二層流量,查找 MAC 地址表進行轉發;對于三層流量,查找 FIB表進行轉發。在該方式下,建議在分布式網關上開啟 ARP 泛洪抑制功能,以減少泛洪流量。全三層轉發方式:對于二層和三層流量,均查找 FIB 表進行轉發。在該方式下,需要在分布式網關上開啟本地代理 ARP 功能。查找 MAC 地址表轉發二層流量的過程,請參見“2.3.1 1.轉發已知單播流量”;相同站點間三層流量的轉發過程
90、如圖 29 所示;不同站點間三層流量轉發過程如圖 30 所示。VXLAN tunnelGW 1GW 2ServerServerSite 1Site 2VM 1VM 2VSI/VXLAN 10VSI/VXLAN 20VM 4VM 5VSI/VXLAN 10VSI/VXLAN 20P10.1.1.1120.1.1.1110.1.1.1220.1.1.12VXLAN tunnelVXLAN tunnelBorderL3 networkVSI-interface1010.1.1.1/24VPN instance:vpnaVSI-interface2020.1.1.1/24VPN instance:vp
91、naVSI-interface1VPN instance:vpnaL3VNI:1000VSI-interface1VPN instance:vpnaL3VNI:1000 11 圖29 相同站點間三層流量轉發過程 圖30 不同站點間三層流量轉發過程 以 IPv4 網絡為例,查找 FIB 表轉發流量的過程為:(1)虛擬機訪問相同子網、不同子網內的其他虛擬機時,發送 ARP 請求獲取 ARP 信息。(2)GW 接收到 ARP 請求后,判斷 ARP 請求所屬 VSI,采用與該 VSI 關聯的 VSI 虛接口 MAC 地址對其進行應答。(3)虛擬機將報文發送給 GW。(4)GW 判斷報文所屬 VSI,并
92、查找與該 VSI 關聯的 VSI 虛接口,在與 VSI 虛接口關聯的 VPN 實例內查找 FIB 表項,并根據匹配的 FIB 表項轉發報文:如果 FIB 表項的出接口為本地接口,則 GW 將目的 MAC 替換為目的虛擬機的 MAC 地址、源 MAC 替換為 VSI 虛接口的 MAC,并通過本地接口轉發給目的虛擬機。如果FIB表項的出接口為VSI虛接口,則GW將目的MAC替換為目的GW的Router MAC地址、源 MAC 替換為自己的 Router MAC,報文添加 VXLAN 封裝后將其轉發給目的 GW。其中,為報文封裝的 VXLAN ID 為與 VPN 實例關聯的 L3VNI。GW 1DA
93、TAServer 1VM 1IP 1MAC 1Server 2VM 2IP 2MAC 2GW IPGW MAC(與GW IP對應的MAC地址)SIP:IP 1DIP:IP 2SMAC:MAC 1DMAC:GW MACDATASIP:IP 1DIP:IP 2SMAC:GW MACDMAC:MAC 2GW 1PGW 2DATAIP核心網絡Server 1VM 1IP 1MAC 1Server 2VM 2IP 2MAC 2GW IPGW MAC(與GW IP對應的MAC地址)GW MAC 1(GW 1的Router MAC)VTEP IP 1L3VNI 100GW IPGW MAC(與GW IP對應
94、的MAC地址)GW MAC 2(GW 2的Router MAC)VTEP IP 2L3VNI 100SIP:IP 1DIP:IP 2SMAC:MAC 1DMAC:GW MACDATASIP:IP 1DIP:IP 2SMAC:GW MAC 1DMAC:GW MAC 2VNI:100SIP:VTEP IP 1DIP:VTEP IP 2DATASIP:IP 1DIP:IP 2SMAC:GW MACDMAC:MAC 2 12(5)目的 GW 接收到報文后,根據 L3VNI 判斷報文所屬的 VPN 實例,解除 VXLAN 封裝后,在該VPN 實例內查找 ARP 表項轉發該報文。在分布式網關組網中,每一臺
95、分布式網關只需要配置下掛的主機/虛擬機所在的 VXLAN ID 即可,且分布式網關不需要維護本租戶內所有主機/虛擬機的 ARP 信息,只需要維護少量的遠端分布式網關的 ARP 信息即可。2.3.4 分布式網關非對稱 IRB 轉發 在分布式網關非對稱 IRB 轉發方式中,入口網關和出口網關上的處理方式不同。入口網關需要同時進行二層和三層轉發,而出口網關只進行二層轉發。1.分布式 EVPN 網關部署要求 非對稱 IRB 與對稱 IRB 方式中,分布式 EVPN 網關的部署方式基本相同。如圖 28 所示,所有的分布式 EVPN 網關(GW)上都存在以下類型的 VSI 虛接口:作為分布式網關接口的 V
96、SI 虛接口。該接口需要與 VSI、VPN 實例關聯。不同 GW 上相同 VSI虛接口的 IP 地址不能相同。承載 L3VNI 的 VSI 虛接口。在非對稱 IRB 轉發方式中,L3VNI 用來實現 VXLAN 網絡與外界網絡的互通。當 VXLAN 內的虛擬機需要通過邊界網關(Border)與外界通信時,GW 上必須部署該類 VSI 虛接口。該接口需要與 VPN 實例關聯,并需要指定 L3VNI。關聯相同 VPN 實例的 VSI 虛接口共用該 L3VNI。邊界網關上也需要存在承載 L3VNI 的 VSI 虛接口。2.三層流量轉發過程 目前,非對稱 IRB 轉發方式僅支持通過分布式 EVPN 網
97、關轉發相同 VXLAN 的三層流量。在非對稱 IRB 轉發方式中,GW 學習到本地虛擬機的 ARP 信息后,通過 MAC/IP 發布路由將其通告給其他 GW。其他 GW 學習 ARP 信息,并生成對應的 FIB 表項。如圖 31 所示,VM 1 和 VM 2 屬于 VXLAN 10,通過分布式 EVPN 網關實現三層互通。分布式 EVPN網關采用非對稱 IRB 方式轉發三層流量的過程為:(1)GW 1 接收到 VM 1 發送的報文后,由于目的 MAC 地址為自己,GW 1 剝離二層幀頭,根據目的 IP 地址查找 FIB 表。(2)GW 1 在 FIB 表中匹配到 VM 2 的 ARP 信息生成
98、的 FIB 表項。(3)GW 1 為報文封裝源和目的 MAC 地址(分別為網關 MAC 地址和 VM 2 的 MAC 地址)、VXLAN頭后,通過 VXLAN 隧道將其轉發到 GW 2。(4)GW 2 接收到報文后,解除 VXLAN 封裝,并在 VXLAN 10 內進行二層轉發,即根據目的 MAC地址查找 MAC 地址表。(5)GW 2 根據 MAC 地址表查找結果,將報文轉發給 VM 2。13 圖31 非對稱 IRB 三層流量轉發過程 2.4 EVPN VXLAN多歸屬 2.4.1 功能簡介 當一個站點通過不同的以太網鏈路連接到多臺 VTEP 時,這些鏈路就構成了一個 ES(Ethernet
99、 Segment,以太網段),并以一個相同的 ESI(ES Identifier)標識其屬于同一個 ES。連接的多臺VTEP組成冗余備份組,可以避免 VTEP單點故障對網絡造成影響,從而提高EVPN網絡的可靠性。圖32 多歸屬站點示意圖 2.4.2 DF 選舉 當一個站點連接到多臺 VTEP 時,為了避免冗余備份組中的 VTEP 均發送泛洪流量給該站點,需要在冗余備份組中選舉一個 VTEP 作為 DF(Designated Forwarder,指定轉發者),負責將泛洪流量GW 1PGW 2DATAIP核心網絡VM 1IP 1MAC 1VXLAN 10VM 2IP 2MAC 2VXLAN 10V
100、SI-int 1VXLAN 10GW IP 1GW MAC 1SIP:IP 1DIP:IP 2SMAC:MAC 1DMAC:GW MAC 1DATASIP:IP 1DIP:IP 2SMAC:GW MAC 1DMAC:MAC 2VNI:10SIP:Tunnel srcDIP:Tunnel dstDATASIP:IP 1DIP:IP 2SMAC:GW MAC 1DMAC:MAC 2VSI-int 1VXLAN 10GW IP 2GW MAC 2VTEP 1VXLAN tunnelVXLAN tunnelVTEP 3Server 1Server 2Site 1Site 2IP核心網絡PESVTEP
101、2VXLAN tunnel 14 轉發給本地站點。其他 VTEP 作為 BDF(Backup DF,備份 DF),不會向本地站點轉發泛洪流量。多歸屬成員通過發送以太網段路由,向其它 VTEP 通告 ES 及其連接的 VTEP 信息,僅配置了 ESI的 VTEP 會接收以太網段路由并根據其攜帶的 ES、VTEP 信息選舉出 DF。設備支持多種 DF 選舉算法,用戶可以根據業務需要靈活地選擇 DF 選舉算法,使組網中 DF 能夠均勻分布,提高網絡設備的使用率。圖33 DF 示意圖 2.基于 VLAN Tag 的 DF 選舉算法 基于 VLAN Tag 的 DF 選舉算法根據 VLAN Tag 和
102、VTEP 的 IP 地址為每個 AC 選舉 DF。圖34 基于 VLAN Tag 的 DF 選舉 如圖 34 所示,以允許 VLAN Tag 4 通過的 AC 1 的 DF 選舉為例,基于 VLAN Tag 的 DF 選舉算法為:(2)選取 AC 內允許通過的最小 VLAN Tag 代表該 AC。在本例中,代表 AC 1 的 VLAN Tag 為 4。(3)VTEP 根據接收到的以太網段路由,對攜帶相同 ESI 的路由中的源 IP 地址按升序排列,編號從 0 開始。在本例中,源 IP 1.1.1.1、2.2.2.2 對應的編號依次為 0、1。VTEP 1DF of ES 1VTEP 3Serv
103、er 1Server 3Site 1Site 2IP核心網絡PES 1VTEP 2DF of ES 2AC發送到Site 1的泛洪流量ES 2Server 2ACACACVTEP 1Server 1ES 1VTEP 2ES 2Server 2VTEP IP:1.1.1.1 AC 1:VLAN Tag:4 AC 2:VLAN Tag:5AC 1AC 1AC 2AC 2VTEP IP:2.2.2.2 AC 1:VLAN Tag:4 AC 2:VLAN Tag:5 15(4)根據 VLAN Tag 除以 N 的余數 M 來選舉 DF,N 代表冗余備份組中成員的數量,M 對應的編號為該 AC 的 DF
104、。在本例中,4 除以 2 的余數為 0,即 AC 1 的 DF 為編號為 0 的 VTEP 1。3.基于優先級的 DF 選舉算法 基于優先級的 DF 選舉算法根據 DF 選舉優先級、DP(Dont Preempt Me,不可回切)位和 VTEP的 IP 地址為每個 ES 選舉 DF。其中,DP 位的取值包括:1:表示開啟了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,即使后續選舉出了新的設備作為 DF,依然使用當前設備作為 DF。0:表示關閉了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,如果后續選舉出了新的設備作為 DF,則直接使用新的設備作為 D
105、F。圖35 基于優先級的 DF 選舉 如圖 35 所示,以 ES 1、ES 2 的 DF 選舉為例,基于優先級的 DF 選舉算法為:(1)同一 ES 內 DF 選舉優先級(數值越大則優先級越高)最高的 VTEP 作為該 ES 的 DF。在本例中,選舉 VTEP 2 作為 ES 1 的 DF。(2)若優先級相同,則 DP 位為 1 的 VTEP 作為 DF。(3)若 DP 位相同,則 IP 地址小的 VTEP 作為 DF。在本例中,選舉 VTEP 1 作為 ES 2 的 DF。2.4.3 協議報文交互過程 2.4.4 水平分割 在多歸屬站點組網中,VTEP 接收到站點發送的組播、廣播和未知單播數
106、據幀后,判斷數據幀所屬的 VXLAN,通過該 VXLAN 內除接收接口外的所有本地接口和 VXLAN 隧道轉發該數據幀。同一冗余備份組中的 VTEP 接收到該數據幀后會在本地所屬的 VXLAN 內泛洪,這樣數據幀會通過 AC 泛洪到本地站點,造成環路和站點的重復接收。EVPN 通過水平分割解決該問題。水平分割的機制為:VTEP 接收到同一冗余備份組中成員轉發的廣播、組播、未知單播數據幀后,不向具有相同 ESI標識的 ES 轉發該數據幀。VTEP 1Server 1ES 1VTEP 2ES 2Server 2VTEP IP:1.1.1.1 ES 1:Priority:10 DP bit:1 ES
107、 2:Priority:30 DP bit:1VTEP IP:2.2.2.2 ES 1:Priority:20 DP bit:1 ES 2:Priority:30 DP bit:1 16 圖36 水平分割 2.4.5 別名 圖37 別名示意圖 如圖37所示,在多活冗余模式下,冗余備份組中可能僅有一臺VTEP能學習到某些業務相關的 MAC地址,這會導致遠端PE僅能從這臺VTEP收到這些MAC地址的MAC/IP發布路由,因此遠端VTEP無法將訪問這些 MAC 地址的流量負載分擔到冗余備份組中的其它 VTEP 上。為了解決這個問題,EVPN 多歸屬引入了別名機制,即當冗余備份組中僅有一臺 VTEP
108、通過 MAC/IP發布路由向遠端 VTEP 通告了 Server 側 MAC 地址的可達性時,遠端 VTEP 能夠根據冗余備份組內VXLAN tunnelVXLAN tunnelVTEP 1VTEP 3Server 1Server 2Site 1Site 2IP核心網絡PES1VTEP 2VXLAN tunnelServer 3Site 3Server 4Site 4同一ESI內的泛洪流量不同ESI內的泛洪流量ES2ESMAC/IP發布路由VTEP 1VTEP 3MPLS/IP核心網絡VTEP 2Server 2Site 2Server 1Site 1以太網自動發現路由去程報文路徑回程報文路徑
109、 17 VTEP 發送的以太網自動發現路由(攜帶 VTEP、ESI 等信息)感知到冗余備份組中其它 VTEP 與MAC 地址的可達性,并生成對應的 MAC 表項,從而形成負載分擔。2.4.6 MAC 地址快速收斂 圖38 MAC 地址快速收斂示意圖 如圖 38所示,在 EVPN網絡中,MAC地址可達性是通過 VTEP之間發布 MAC/IP發布路由通告的。因此,在 CE 1 與 VTEP 1 間鏈路故障時,VTEP 1 需要逐條撤銷 MAC/IP 發布路由,在大規模的網絡中會導致 MAC 地址收斂速度較慢。EVPN 多歸屬組網提供了快速收斂機制,使得 VTEP 可以通過撤銷一條以太網自動發現路由
110、,通告對指定ES內所有MAC地址的不可達性,通知遠端VTEP批量刪除MAC地址表項,減少收斂時間。2.5 EVPN VXLAN支持組播 2.5.1 功能簡介 為了避免組播發送的 IGMP 報文占用核心網絡帶寬,VTEP 會根據接收到的報告報文和離開報文在本地建立或刪除組播轉發表項。通過 SMET(Selective Multicast Ethernet Tag Route,選擇性組播以太網標簽路由)路由將組播組信息通告給其他 VTEP,遠端 VTEP 收到 SMET 路由后在本地建立組播轉發表項。當 VTEP 再次收到屬于同一 IGMP 版本加入同一組播組的報告報文時,將不再發送SMET 路由
111、。EVPN VXLAN 支持組播功能可以大大減少 IGMP 報文泛洪的次數。為了支持組播,MP-BGP 在 EVPN 地址族新增了 SMET、IGMP-JS 和 IGMP-LS 三類 EVPN 路由,詳細介紹請參見“1.4 BGP EVPN 路由”。2.5.2 單歸屬站點組播 如圖 39 所示,在單歸屬站點組網中,Server 1 發出 IGMP 成員關系報告報文至 VTEP 1。VTEP 1上生成相應的組播表項,并發送 SMET路由將組播信息通告給 VTEP 2和 VTEP 3。VTEP 2和 VTEP 3 收到 SMET 路由后形成下一跳為 VTEP 1 的組播表項。ESMAC/IP發布路
112、由VTEP 1VTEP 3MPLS/IP核心網絡VTEP 2Server 2Site 2Server 1Site 1以太網自動發現路由BDFDF撤銷MAC 1撤銷MAC 2撤銷MAC N.撤銷內的所有MAC 18 圖39 單歸屬站點組播示意圖 2.5.3 多歸屬站點組播 站點多歸屬組網中,站點側發送的加入組播組報文和離開組播組報文,會被不同的 VTEP 接收。為了在多歸屬站點間管理站點的組播表項,收到加入和離開組播組報文的 VTEP 會發送 IGMP-JS 路由和 IGMP-LS 路由來告訴其他成員,保證同 ESI 成員 VTEP 間組播信息的同步。圖40 多歸屬站點組播示意圖 如圖 40 所
113、示,多歸屬站點組播處理過程如下:當接收報告報文的設備為 DF(VTEP 1)時,DF 通告 SMET 路由給 VTEP 2 和 VTEP 3,并通告 IGMP-JS 路由給 VTEP 2。當組播接收者離開組播組時:若接收離開報文的設備為 DF,則 DF 通告 IGMP-LS 路由并撤銷 IGMP-JS 路由和 SMET路由。若接收離開報文的設備為 BDF(VTEP 2),則 BDF 通告 IGMP-LS 路由給同一冗余備份中的其他成員。DF 收到 BDF 同步的 IGMP-LS 路由后,撤銷 IGMP-JS 路由和 SMET 路由。VXLAN tunnelVXLAN tunnelVTEP 1V
114、TEP 3Server 1Server 3Site 1Site 3IP核心網絡PVTEP 2VXLAN tunnelServer 2Site 2IGMP成員關系報告報文選擇性組播以太網標簽路由VXLAN tunnelVXLAN tunnelVTEP 1DFVTEP 3Server 1Server 2Site 1Site 2IP核心網絡PESVTEP 2VXLAN tunnelIGMP成員關系報告報文選擇性組播以太網標簽路由IGMP加入同步路由 19 當接收報告報文的設備為 BDF 時,BDF 通告 IGMP-JS 路由給同一冗余備份中的其他成員,DF 收到 IGMP-JS 路由后生成 SMET
115、 路同步給 VTEP 2 和 VTEP 3。當組播接收者離開組播組時:若接收離開報文的設備為 DF,則 DF 通告 IGMP-LS 路由給同一冗余備份中的其他成員。BDF 收到 IGMP-LS 路由后撤銷 IGMP-JS 路由。DF 收到撤銷 IGMP-JS 路由后,撤銷由IGMP-JS 路由生成的 SMET 路由。若接收離開報文的設備為 BDF,則 BDF 通告 IGMP-LS 路由并撤銷 IGMP-JS 路由。DF 收到撤銷 IGMP-JS 路由后,會撤銷由該 IGMP-JS 路由生成的 SMET 路由。2.6 典型組網應用 2.6.1 EVPN 分布式網關組網 EVPN 分布式網關組網中
116、,對網關設備轉發能力的要求沒有集中式網關那么高,且在核心設備只需要支持普通的 IP 轉發即可,因此,EVPN 分布式網關應用非常廣泛。EVPN 分布式網關的典型組網如圖 41 所示。VTEP 為 EVPN 分布式網關設備;Border leaf 為與廣域網連接的邊界網關設備,部署兩臺 Border leaf,形成備份;RR 負責在交換機之間反射 BGP 路由。圖41 EVPN 分布式網關組網示意圖 2.6.2 EVPN 數據中心互聯組網 EVPN數據中心互聯技術通過在數據中心之間建立VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN 數據中心互聯)隧道
117、,實現不同數據中心之間虛擬機的互通。如圖 42 所示,數據中心的邊緣設備為 ED(Edge Device,邊緣設備)。ED 之間建立 VXLAN-DCI隧道,該隧道采用 VXLAN 封裝格式。ED 與數據中心內部的 VTEP 建立 VXLAN 隧道。ED 從 VXLAN隧道或 VXLAN-DCI 隧道上接收到報文后,解除 VXLAN 封裝,根據目的 IP 地址重新對報文進行VXLAN 封裝,并將其轉發到 VXLAN-DCI 隧道或 VXLAN 隧道,從而實現跨數據中心之間的互通。VTEPBorder leafRRRRVM 1VTEPVM 2IP routing 20 圖42 VXLAN 數據中
118、心互聯典型組網圖 2.6.3 EVPN 與 SDN 控制器配合組網 SDN(Software Defined Network,軟件定義網絡)是一種新型的網絡架構,它將控制平面與轉發平面分離,由 SDN 控制器集中控制和管理整網的設備。如圖 43 所示,EVPN 可以與 SDN 控制器配合使用,EVPN 網絡中的所有設備均由 SDN 控制器通過標準協議集中管理,減少了傳統設備管理的復雜性。同時,當用戶業務擴展時,通過集中管理,用戶可以方便快速地部署網絡設備,便于網絡的擴展和管理。圖43 EVPN 與 SDN 控制器配合組網 Data center 1VTEPEDVXLAN networkServ
119、erData center 2EDVXLAN networkCore networkVTEPServerVXLAN-DCI tunnelVXLAN tunnelVXLAN tunnelVMVMWANEVPN networkSDN controllerSpineSpineBorder leafLeafLeafVM 1VM 2VM 3VM 4VM 5VM 6 1 3 EVPN VPLS 3.1 EVPN VPLS 網絡模型 圖44 EVPN VPLS 網絡模型示意圖 如圖 44 所示,EVPN VPLS 網絡中主要包括如下幾部分:CE(Customer Edge,用戶網絡邊緣):直接與服務提供商網
120、絡相連的用戶網絡側設備。PE(Provider Edge,服務提供商網絡邊緣):與 CE 相連的服務提供商網絡側設備。PE 主要負責 EVPN VPLS 業務的接入,完成報文從用戶網絡到公網隧道、從公網隧道到用戶網絡的映射與轉發。AC(Attachment Circuit,接入電路):連接 CE 和 PE 的物理電路或虛擬電路。PW(Pseudowire,偽線):兩個 PE 之間的虛擬雙向連接。PW 由一對方向相反的單向虛擬連接構成。公網隧道(Tunnel):穿越 IP 或 MPLS 骨干網、用來承載 PW 的隧道。一條公網隧道可以承載多條 PW,公網隧道可以是 LSP、GRE 隧道或 MPL
121、S TE 隧道。VSI(Virtual Switch Instance,虛擬交換實例):VSI 是 PE 設備上為一個 VPLS 實例提供二層交換服務的虛擬實例。VSI 可以看作 PE 設備上的一臺虛擬交換機,它具有傳統以太網交換機的所有功能,包括源 MAC 地址學習、MAC 地址老化、泛洪等。VPLS 通過 VSI 實現在 VPLS實例內轉發二層數據報文。3.2 EVPN VPLS控制平面工作機制 3.2.1 建立 PW EVPN VPLS 組網中,PW 的建立過程為:(1)PE 為每個 VSI 實例分配兩個 PW 標簽,分別用于轉發已知單播報文和 BUM(Broadcast/Unknown
122、 unicast/Unknown Multicast,廣播/未知單播/未知組播)報文。(2)本端 PE 通過 MAC/IP 發布路由將轉發已知單播報文的 PW 標簽通告給遠端 PE;通過 IMET路由將轉發 BUM 報文的 PW 標簽通告給遠端 PE。路由中攜帶 VPN Target 屬性。CE 1CE 2PE 1PE 2TunnelPWACACMPLS or IP backboneCustomer networkCustomer networkCustomer networkCE 3AC 2(3)遠端 PE 接收到 MAC/IP 發布路由或 IMET 路由后,將路由中的 VPN Target
123、屬性與 EVPN 實例的 Import Target 進行匹配,如果一致則根據路由中攜帶的 PE 地址(對于 MAC/IP 發布路由,為路由的下一跳地址;對于 IMET 路由,為 PSMI tunnel attributes 中 Tunnel Identifier字段攜帶的地址)、PW 標簽等信息建立一條單向的虛擬連接。(4)當兩端的 PE 間建立了兩條方向相反的單向虛擬連接,則 PW 建立完成。3.2.2 MAC 地址學習、老化和回收 1.MAC 地址學習 PE 根據學習到的 MAC 地址表項轉發二層單播流量。PE 上 MAC 地址學習分為兩部分:本地 MAC 地址學習:PE 接收到本地 C
124、E 發送的數據幀后,判斷該數據幀所屬的 VSI,并將數據幀中的源 MAC 地址(本地 CE 的 MAC 地址)添加到該 VSI 的 MAC 地址表中,該 MAC 地址對應的接口為接收到數據幀的接口。遠端 MAC 地址學習:PE 通過 MAC/IP 發布路由將本地學習的 MAC 地址通告給遠端 PE。遠端 PE 接收到該信息后,將其添加到對應的 VSI 的 MAC 地址表中,該 MAC 地址的出接口為兩個 PE 之間 PW 的索引。2.MAC 地址老化 本地 MAC 地址老化:PE 學習本地 MAC 地址后,如果 MAC 地址老化定時器超時,則刪除該MAC 地址表項,減少占用的 MAC 地址表資
125、源。遠端 MAC 地址老化:PE 從 MAC/IP 發布路由中學習遠端 MAC 地址,在接收到撤銷該 MAC地址的路由前,MAC 地址會一直存在 MAC 地址表中。3.MAC 地址回收 AC 狀態變為 down 時,EVPN 會向所有遠端 PE 發送 MAC/IP 發布路由撤銷消息來撤銷該 AC 對應的 MAC 地址,遠端 PE 根據撤銷消息刪除指定 VSI 內的指定 MAC 地址,以加快 MAC 地址表的收斂速度。3.2.3 MAC 地址遷移 MAC地址遷移是指主機/虛擬機從其接入的PE遷到另一臺PE下。EVPN VPLS通過在BGP update消息中攜帶 MAC Mobility 擴展團
126、體屬性,來確保主機/虛擬機遷移后,VTEP 能夠及時更新 MAC/IP路由。(1)PE第一次發布某個MAC/IP路由時,BGP update消息中不攜帶MAC Mobility擴展團體屬性。(2)主機/虛擬機遷移后,新遷移到的 PE 感知到主機/虛擬機上線,重新通告該 MAC/IP 路由,并在路由中攜帶 MAC Mobility 擴展團體屬性。此擴展團體包含一個序列號。每次遷移,遷移序列號將遞增。(3)遠端 PE 接收到比自己本地保存的序列號更大的 MAC/IP 路由時,更新自己的 MAC/IP 路由消息,下一跳指向遷移后通告此路由的 PE。(4)原 VTEP 在收到此路由更新后,撤銷之前通告
127、的路由。3 3.2.4 ARP 泛洪抑制 為了避免廣播發送的 ARP 請求報文占用核心網絡帶寬,PE 會根據接收到的 ARP 請求和 ARP 應答報文、BGP EVPN 路由在本地建立 ARP 泛洪抑制表項。當 PE 再收到本地站點內虛擬機請求其它虛擬機 MAC 地址的 ARP 請求時,優先根據 ARP 泛洪抑制表項進行代答。如果沒有對應的表項,則通過 PW 將 ARP 請求泛洪到其他站點。ARP 泛洪抑制功能可以大大減少 ARP 泛洪的次數。圖45 ARP 泛洪抑制示意圖 如圖 45 所示,ARP 泛洪抑制的處理過程如下:(1)虛擬機 CE 1 發送 ARP 請求,獲取 CE 2 的 MAC
128、 地址。(2)PE 1 根據接收到的 ARP 請求,建立 CE 1 的 ARP 泛洪抑制表項,向 VSI 內的本地 CE 和遠端 PE(PE 2 和 PE 3)泛洪該 ARP 請求(圖 45 以單播路由泛洪方式為例)。PE 1 還會通過BGP EVPN 將該表項同步給 PE 2 和 PE 3。(3)遠端 PE 解封裝報文,獲取原始的 ARP 請求報文后,向 VSI 內的本地 CE 泛洪該 ARP 請求。(4)CE 2 接收到 ARP 請求后,回復 ARP 應答報文。(5)PE 2 接收到 ARP 應答后,建立 CE 2 的 ARP 泛洪抑制表項,通過 PW 將 ARP 應答發送給PE 1。PE
129、 2 通過 BGP EVPN 將該表項同步給 PE 1 和 PE 3。(6)PE 1 解封裝報文并獲取原始的 ARP 應答,將 ARP 應答報文發送給 CE 1。(7)在 PE 1 上建立 ARP 泛洪抑制表項后,CE 4 發送 ARP 請求,獲取 CE 1 的 MAC 地址。(8)PE 1 接收到 ARP 請求后,建立 CE 4 的 ARP 泛洪抑制表項,并查找本地 ARP 泛洪抑制表項,根據已有的表項回復 ARP 應答報文,不會對 ARP 請求進行泛洪。(9)CE 3 發送 ARP 請求,獲取 CE 1 的 MAC 地址。(10)PE 3 接收到 ARP 請求后,建立 CE 3 的 ARP
130、 泛洪抑制表項,并查找 ARP 泛洪抑制表項,根據已有的表項(PE 1 通過 BGP EVPN 同步)回復 ARP 應答報文,不會對 ARP 請求進行泛洪。(1)PE 1PE 2IP核心網絡PPE 3(2)(2)(3)(3)(4)(5)(6)(7)(8)(9)(10)(2)CE 1Customer networkCE 4Customer networkTunnelCE 3Customer networkCE 2Customer networkTunnel 4 3.3 EVPN VPLS數據平面工作機制 3.3.1 本地站點接入模式 本地站點可以通過以下幾種方式接入 EVPN VPLS 網絡:端
131、口模式 本地站點通過三層以太網接口接入 EVPN VPLS 網絡。從該接口收到的所有報文都屬于三層以太網接口關聯的 VSI。在這種接入模式下,三層以太網接口作為 AC。VLAN 模式 本地站點通過三層以太網子接口接入 EVPN VPLS 網絡。從三層以太網接口接收到的、所有被該子接口終結的 VLAN 的報文都屬于三層以太網子接口關聯的 VSI。在這種接入模式下,三層以太網子接口作為 AC。靈活匹配模式 本地站點通過二層以太網接口上的以太網服務實例接入 EVPN VPLS 網絡。通過以太網服務實例的報文匹配規則(如匹配接口接收到的所有報文、所有攜帶 VLAN Tag 的報文和所有不攜帶 VLAN
132、 Tag 的報文等),靈活匹配來自用戶網絡的報文。從接口接收到的、符合報文匹配規則的報文,屬于以太網服務實例關聯的 VSI。在這種接入模式下,以太網服務實例作為 AC。VTEP 從本地站點接收到報文后,根據接入模式判斷報文所屬的 VSI,以便在 VSI 內轉發該報文。3.3.2 流量轉發 1.轉發已知單播流量 PE 從 AC 接收到已知單播報文后,會在對應的 VSI 內查找 MAC 地址表,從而確定如何轉發報文:表項的出接口為 PW 索引時,為報文封裝 PW 標簽(用于轉發已知單播報文的 PW 標簽),再添加公網隧道封裝后,通過 PW 將該報文轉發給遠端 PE。如果公網隧道為 LSP 或 MP
133、LS TE 隧道,則通過 PW 轉發報文時將為報文封裝兩層標簽。內層標簽為 PW 標簽,用來將報文轉發給相應的 VSI;外層標簽為公網 LSP 或 MPLS TE 隧道標簽,用來保證報文在 PE之間正確傳送。表項的出接口為連接本地 CE 的接口時,直接通過出接口將報文轉發給本地 CE。PE 從 PW 接收到已知單播報文后,在其所屬的 VSI 內查找 MAC 地址表,出接口應為連接本地站點的接口,PE 通過該出接口將報文轉發給本地站點。2.轉發泛洪流量 PE 從 AC 上接收到泛洪流量后,向該 AC 關聯的 VSI 內的所有其他 AC 泛洪該報文,并查找該 VSI內所有用于轉發 BUM 流量的
134、PW 標簽,為報文分別封裝這些 PW 標簽后,將該報文泛洪給所有遠端 PE。PE 從 PW 上接收到泛洪流量后,向該 PW 所屬 VSI 內的所有 AC 泛洪該報文。5 3.3.3 全連接和水平分割 為避免環路,一般的二層網絡都要求使用環路預防協議,比如 STP(Spanning Tree Protocol,生成樹協議)。但在骨干網的 PE 上部署環路預防協議,會增加管理和維護的難度。因此,EVPN VPLS采用如下方法避免環路:PE 之間建立全連接,即一個 EVPN 實例內的每兩個 PE 之間必須都建立 PW。采用水平分割轉發規則,即從 PW 上收到的泛洪報文禁止向其他 PW 轉發,只能轉發
135、到 AC。3.4 EVPN VPLS多歸屬 3.4.1 功能簡介 EVPN 多歸屬是指一個站點通過不同的以太網鏈路接入 EVPN 網絡中的多臺 PE,接入的多臺 PE組成冗余備份組,該站點的流量在多臺 PE 間進行負載分擔。利用多歸屬技術可以避免 PE 單點故障造成 EVPN 網絡通信中斷,從而提高 EVPN 網絡的可靠性。EVPN 多歸屬的網絡模型如圖 46 所示,其中:站點 CE 1 接入的多臺 PE 組成冗余備份組。接入冗余備份組中不同 PE 的一組鏈路,組成一個 ES(Ethernet Segment,以太網段),它們具有相同的 ESI(Ethernet Segment Identif
136、ier,以太網段標識)。通過 ES 接入冗余備份組的站點,稱為多歸屬站點。圖46 多歸屬站點示意圖 3.4.2 DF 選舉 當一個 CE 連接到多臺 PE 時,為了避免冗余備份組中的 PE 均發送泛洪流量給該 CE,需要在冗余備份組中選舉一個 PE 作為 DF(Designated Forwarder,指定轉發者),負責將泛洪流量轉發給本地站點。其他 PE 作為 BDF(Backup DF,備份 DF),不會向本地 CE 轉發泛洪流量。DF 的選舉過程為:(1)冗余備份組中的 PE 設備之間互相發送以太網段路由,通告 ES 的 ESI 值及其連接的 PE 信息(如 IP 地址、優先級等)。(2
137、)PE 接收到以太網段路由后,如果路由中攜帶的 ESI 值與本地相同,則 PE 記錄發送該路由的PE 信息,以便生成連接到同一 ES 的所有 PE 的列表。TunnelCE 1CE 2PE 1PE 3TunnelMPLS or IP backboneCustomer networkCustomer networkPE 2ES 6(3)冗余備份組中的 PE 設備根據以太網段路由中的 PE 信息選舉出 DF。設備支持多種 DF 選舉算法,用戶可以根據業務需要靈活地選擇 DF 選舉算法,使組網中 DF 能夠均勻分布,提高網絡設備的使用率。圖47 DF 示意圖 2.基于 VLAN Tag 的 DF 選
138、舉算法 基于 VLAN Tag 的 DF 選舉算法根據 VLAN Tag 和 VTEP 的 IP 地址為每個 AC 選舉 DF。圖48 基于 VLAN Tag 的 DF 選舉 如圖 48 所示,以允許 VLAN Tag 4 通過的 AC 1 的 DF 選舉為例,基于 VLAN Tag 的 DF 選舉算法為:(2)選取 AC 內允許通過的最小 VLAN Tag 代表該 AC。在本例中,代表 AC 1 的 VLAN Tag 為 4。(3)VTEP 根據接收到的以太網段路由,對攜帶相同 ESI 的路由中的源 IP 地址按升序排列,編號從 0 開始。在本例中,源 IP 1.1.1.1、2.2.2.2
139、對應的編號依次為 0、1。(4)根據 VLAN Tag 除以 N 的余數 M 來選舉 DF,N 代表冗余備份組中成員的數量,M 對應的編號為該 AC 的 DF。在本例中,4 除以 2 的余數為 0,即 AC 1 的 DF 為編號為 0 的 VTEP 1。PE 1DF of ES 1PE 3Server 1Server 3Site 1Site 2IP核心網絡PES 1PE 2DF of ES 2AC發送到Site 1的泛洪流量ES 2Server 2ACACACPE 1Server 1ES 1PE 2ACES 2Server 2ACACACPE IP:1.1.1.1 AC 1:VLAN Tag:
140、4 AC 2:VLAN Tag:5PE IP:2.2.2.2 AC 1:VLAN Tag:4 AC 2:VLAN Tag:5 7 3.基于優先級的 DF 選舉算法 基于優先級的 DF 選舉算法根據 DF 選舉優先級、DP(Dont Preempt Me,不可回切)位和 VTEP的 IP 地址為每個 ES 選舉 DF。其中,DP 位的取值包括:1:表示開啟了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,即使后續選舉出了新的設備作為 DF,依然使用當前設備作為 DF。0:表示關閉了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,如果后續選舉出了新的設備作為
141、 DF,則直接使用新的設備作為 DF。圖49 基于優先級的 DF 選舉 如圖 49 所示,以 ES 1、ES 2 的 DF 選舉為例,基于優先級的 DF 選舉算法為:(2)同一 ES 內 DF 選舉優先級(數值越大則優先級越高)最高的 VTEP 作為該 ES 的 DF。在本例中,選舉 VTEP 2 作為 ES 1 的 DF。(3)若優先級相同,則 DP 位為 1 的 VTEP 作為 DF。(4)若 DP 位相同,則 IP 地址小的 VTEP 作為 DF。在本例中,選舉 VTEP 1 作為 ES 2 的 DF。3.4.3 冗余備份模式 當前設備支持多活冗余模式,在該模式下:出多歸屬站點方向流量:
142、多歸屬站點可以通過冗余備份組中多臺 PE 訪問其它站點。入多歸屬站點方向流量:其它站點的已知單播流量可以通過冗余備份組中多臺 PE 訪問多歸屬站點;其它站點的未知單播流量、廣播流量和組播流量僅可以通過冗余備份組中作為 DF 的PE 訪問多歸屬站點。負載分擔:站點間可以通過冗余備份組中多臺 PE 互相訪問,CE 之間存在多條可達鏈路,可以形成負載分擔。PE 1Server 1ES 1PE 2ES 2Server 2PE IP:1.1.1.1 ES 1:Priority:10 DP bit:1 ES 2:Priority:30 DP bit:1PE IP:2.2.2.2 ES 1:Priority
143、:20 DP bit:1 ES 2:Priority:30 DP bit:1 8 3.4.4 協議報文交互過程 3.4.5 別名 圖50 別名示意圖 如圖 50 所示,在多活冗余模式下,冗余備份組中可能僅有一臺 PE 能學習到某些業務相關的 MAC地址,這會導致遠端 PE 僅能從這臺 PE 收到這些 MAC 地址的 MAC/IP 發布路由,因此遠端 PE 無法將訪問這些 MAC 地址的流量負載分擔到冗余備份組中的其它 PE 上。為了解決這個問題,EVPN 多歸屬引入了別名機制,即當冗余備份組中僅有一臺 PE 通過 MAC/IP發布路由向遠端 PE 通告了 CE 側 MAC 地址的可達性時,遠端
144、 PE 能夠根據冗余備份組內 PE 發送的以太網自動發現路由(攜帶 PE、ESI 等信息)感知到冗余備份組中其它 PE 與 MAC 地址的可達性,并生成對應的 MAC 表項,從而形成負載分擔。3.4.6 MAC 地址快速收斂 圖51 MAC 地址快速收斂示意圖 如圖 51 所示,在 EVPN 網絡中,MAC 地址可達性是通過 PE 之間發布 MAC/IP 發布路由通告的。因此,在 CE 1 與 PE 1 間鏈路故障時,PE 1 需要逐條撤銷 MAC/IP 發布路由,在大規模的網絡中會導致 MAC 地址收斂速度較慢。ESMAC/IP發布路由PE 1PE 3MPLS/IP核心網絡PE 2以太網自動
145、發現路由去程報文路徑回程報文路徑Customer networkCustomer networkESMAC/IP發布路由DFPE 3BDF以太網自動發現路由Customer networkCustomer networkPE 1PE 2撤銷MAC 1撤銷MAC 2撤銷MAC N.撤銷內的所有MAC 9 EVPN 多歸屬組網提供了快速收斂機制,使得 PE 可以通過撤銷一條以太網自動發現路由,通告對指定 ES 內所有 MAC 地址的不可達性,通知遠端 PE 批量刪除 MAC 地址表項,減少收斂時間。3.5 LDP PW或靜態PW接入EVPN PW 在實際組網中,可能會存在傳統的 VPLS 網絡與
146、EVPN VPLS 網絡共存的情況。LDP PW 或靜態PW 接入 EVPN PW 功能,通過將 VPLS 網絡中的 LDP PW 或靜態 PW 看作 EVPN VPLS 網絡的AC(該 PW 稱為 UPW),實現報文在 EVPN PW 與 UPW 之間相互轉發,從而實現 VPLS 網絡與EVPN VPLS 網絡的互通。本功能不僅支持一條 LDP PW 或靜態 PW 接入一條 EVPN PW,還支持將兩條 LDP PW 或靜態 PW多歸屬接入兩條 EVPN PW。如圖 52 所示,在 VPLS 網絡中,PE 1 與 PE 2、PE 3 分別建立主備LDP PW 或靜態 PW,該 PW 稱為 U
147、PW;在 EVPN VPLS 網絡中,PE 4 與 PE 2、PE 3 分別建立EVPN PW。UPW 作為 EVPN VPLS 網絡中的 AC,PE 2 或 PE 3 從 UPW 接收到報文后,會解除MPLS 封裝,查找 MAC 地址表獲取到對應的 EVPN PW,為報文添加該 EVPN PW 對應的 MPLS封裝,并將其轉發給 PE 4;PE 2 或 PE 3 從 EVPN PW 接收報文的處理方法與此類似。圖52 LDP PW 或靜態 PW 接入 EVPN PW 組網示意圖 3.6 典型組網應用 3.6.1 多歸屬組網 為了避免 PE 單點故障造成報文轉發中斷,EVPN VPLS 通常采
148、用多歸屬組網方式。多歸屬站點的流量在多臺 PE 之間進行負載分擔,即所有 PE 均轉發流量,以提高網絡的可靠性。CE 1PE 2PE 4CE 2EVPN VPLS networkUPWPE 3PE 1EVPN PWVPLS networkUPWSRv6 PWEVPN PW 10 圖53 多歸屬組網方式 3.6.2 E-Tree 組網 在 EVPN VPLS 組網中,屬于同一個 VSI 的所有 AC 均可以互相訪問。在 EVPN VPLS 網絡中,為了提高 AC 側用戶業務的安全性,減少用戶業務之間的相互影響,網絡管理員可能需要控制 AC 側用戶之間的相互訪問。E-Tree 功能通過將 AC 分
149、為 Root 和 Leaf 兩種角色,實現了同一 VSI 內 AC之間流量的隔離:Leaf AC 連接的用戶只能和 Root AC 連接的用戶相互訪問。不同 Leaf AC 連接的用戶之間相互隔離。Root AC 連接的用戶可以與 VSI 內所有 AC 連接的用戶相互訪問。圖54 EVPN E-Tree 示意圖 TunnelCE 1CE 2PE 1PE 3TunnelMPLS or IP backboneCustomer networkCustomer networkPE 2ESCE 1PE 1PE 2TunnelLeaf ACMPLS or IP backboneCE 3 Root ACCE
150、 4Leaf ACCE 2 Root AC 1 4 EVPN VPWS 4.1 網絡模型 圖55 EVPN VPWS 網絡模型示意圖 如圖 55 所示,EVPN VPWS 的典型網絡模型中包括如下幾部分:CE(Customer Edge,用戶網絡邊緣):直接與服務提供商網絡相連的用戶網絡側設備。PE(Provider Edge,服務提供商網絡邊緣):與 CE 相連的服務提供商網絡側設備。PE 主要負責 EVPN 業務的接入,完成報文從用戶網絡到公網隧道、從公網隧道到用戶網絡的映射與轉發。AC(Attachment Circuit,接入電路):連接 CE 和 PE 的物理電路或虛擬電路,例如 F
151、rame Relay 的 DLCI、ATM 的 VPI/VCI、Ethernet 接口、VLAN、物理接口上的 PPP 連接。PW(Pseudowire,偽線):兩個 PE 之間的虛擬雙向連接。PW 由一對方向相反的單向虛擬連接構成。公網隧道(Tunnel):穿越 IP 或 MPLS 骨干網、用來承載 PW 的隧道。一條公網隧道可以承載多條 PW,公網隧道可以是 LSP、GRE 隧道或 MPLS TE 隧道。交叉連接(Cross connect):由兩條物理電路或虛擬電路串連而成的一條連接,從一條物理、虛擬電路收到的報文直接交換到另一條物理、虛擬電路轉發。交叉連接包括二種方式:AC 到AC 交
152、叉連接和 AC 到 PW 交叉連接。4.2 EVPN VPWS控制平面工作機制 4.2.1 工作機制綜述 EVPN VPWS 通過穿越 IP 或 MPLS 骨干網絡的 PW 連接兩端的用戶網絡,為用戶提供點對點的二層服務。EVPN VPWS 控制平面的工作機制為:(1)建立公網隧道,公網隧道用來承載 PE 之間的一條或多條 PW。(2)建立用來傳送特定用戶網絡報文的 PW,PW 標簽標識了報文所屬的用戶網絡。(3)建立用來連接 CE 和 PE 的 AC,AC 的報文匹配規則(顯式配置或隱含的規則)決定了從 CE接收到的哪些報文屬于一個特定的用戶網絡。CE 1CE 2PE 1PE 2Tunnel
153、PWACACMPLS or IP backboneCustomer networkCustomer network 2(4)將 AC 和 PW 關聯,以便 PE 確定從 AC 接收到的報文向指定 PW 轉發,從 PW 接收到的報文向指定 AC 轉發。完成上述工作后,PE 從 AC 接收到用戶網絡的報文后,根據 AC 關聯的 PW 為報文封裝 PW 標簽,并通過公網隧道將報文轉發給遠端 PE;遠端 PE 從公網隧道接收到報文后,根據 PW 標簽判斷報文所屬的 PW,并將還原后的原始報文轉發給與該 PW 關聯的 AC。4.2.2 建立公網隧道 公網隧道用來承載 PW,可以是 LSP 隧道、MPLS
154、 TE 隧道和 GRE 隧道等。不同隧道的建立方式不同,詳細介紹請參見相關手冊。當兩個 PE 之間存在多條公網隧道時,可以通過配置隧道策略,確定如何選擇隧道。如果 PW 建立在 LSP 或 MPLS TE 隧道之上,則 PW 上傳送的報文將包括兩層標簽:內層標簽為PW 標簽,用來決定報文所屬的 PW,從而將報文轉發給正確的 CE;外層標簽為公網 LSP 或 MPLS TE 隧道標簽,用來保證報文在 MPLS 網絡正確傳送。4.2.3 建立 PW 如圖 56 所示,PW 的建立過程為:(1)在 PE 1、PE 2 上均配置 Local service ID 來標識與其連接的 CE,配置 Remo
155、te service ID 來標識遠端 PE 連接的 CE,并為每個 Local service ID 分配 MPLS 標簽(即 PW 標簽),該標簽作為 PW 的入標簽。(2)本地 PE(如 PE 1)通過 Ethernet Auto-discovery Per EVI 路由將 Local service ID 和為其分配的 PW 標簽通告給遠端 PE(如 PE 2)。(3)如果路由中的 Export target 屬性與 PE 2 本地配置的 Import target 屬性相同,則 PE 2 將接收到的 Local service ID 與本地配置的 Remote service ID
156、匹配。若二者相同,則建立一條從 PE 2 到 PE 1 的單向 LSP,PE 1 通告的 PW 標簽作為該 LSP 的出標簽。(4)同時,PE 2 也會向 PE 1 發送 Ethernet Auto-discovery Per EVI 路由。PE 1 將接收到的 Local service ID 與本地配置的 Remote service ID 匹配。若二者相同,則建立一條從 PE 1 到 PE 2的單向 LSP。(5)當兩端 PE 間建立了兩條方向相反的單向 LSP 時,EVPN PW 建立完成。3 圖56 建立 PW 示意圖 4.2.4 建立 AC 在 EVPN VPWS 中,AC 是與交
157、叉連接關聯的三層以太網接口、三層以太網子接口或以太網服務實例。以太網服務實例在二層以太網接口上創建,它定義了一系列匹配規則,用來匹配從該二層以太網接口上接收到的數據幀。4.2.5 關聯 AC 和 PW 通過命令行將 AC 連接對應的三層以太網接口、三層以太網子接口或以太網服務實例與 PW 關聯,即可實現從該 AC 接收到的報文通過關聯的 PW 轉發,從關聯的 PW 上接收到的報文通過該 AC 轉發。4.3 EVPN VPWS數據平面工作機制 如圖 57 所示,PE 從 AC/PW 接收到報文后,會在對應的交叉連接內查找出方向 PW 或 AC 信息,從而確定如何轉發報文:出接口為 PW 索引時,
158、為報文封裝 PW 標簽,再添加公網隧道封裝后,通過 PW 將該報文轉發給遠端 PE。如果公網隧道為 LSP 或 MPLS TE 隧道,則通過 PW 轉發報文時將為報文封裝兩層標簽。內層標簽為PW標簽,用來將報文轉發給相應的PW;外層標簽為公網LSP或MPLS TE 隧道標簽,用來保證報文在 PE 之間正確傳送。出接口為連接本地 CE 的接口時,直接通過出接口將報文轉發給本地 CE。CE 1CE 2PE 1PE 2TunnelMPLS or IP backboneCustomer networkCustomer networkEthernet auto-discovery per EVI rou
159、te 4 圖57 EVPN VPWS 報文轉發過程 4.4 EVPN VPWS多歸屬 4.4.1 功能簡介 當一個站點通過不同的以太網鏈路連接到多臺 PE 時,這些鏈路就構成了一個 ES(Ethernet Segment,以太網段),并以一個相同的 ESI(ES Identifier)標識其屬于同一個 ES。連接的多臺PE 組成冗余備份組,可以避免 PE 單點故障對網絡造成影響,從而提高網絡的可靠性。目前僅支持雙歸屬。圖58 多歸屬站點示意圖 4.4.2 冗余備份模式 EVPN VPWS 組網場景支持的冗余備份模式包括:單活冗余模式和多活冗余模式。單活冗余模式 如圖 59 所示,單活冗余模式下
160、,PE 1 和 PE 2 中僅其中一臺轉發流量,PE 1 和 PE 2 上的兩條 PW 為主備關系,實現當主 PW 出現故障后,將流量立即切換到備份 PW,使流量轉發得以繼續。通過 DF 選舉可以確定主備 PW,DF 選舉的詳細介紹,請參見“4.4.3 DF 選舉”。當 PE 1 的 PW 不可用(可能是 PE 1 節點故障,也可能是 PW 故障)時,PE 3 將啟用備份PW,通過備份 PW 將 CE 2 的報文轉發給 PE 2,再由 PE 2 轉發給 CE 1;同時建議在 PE 1CE 1CE 2PE 1PE 2TunnelMPLS or IP backboneCustomer networ
161、kCustomer networkEthernetEthernetPW labelOuter tagEthetnetPW labelEthernetTunnelCE 1CE 2PE 1PE 3TunnelACMPLS or IP backboneCustomer networkCustomer networkPWPWPE 2ES 5 設備 AC 側的物理接口與 PW 側的物理接口(用于建立 EVPN PW 的接口)配置 EAA 和 Track聯動的 CLI 監控策略,使這兩個接口聯動,可以確保 PW 側的 Underlay 網絡斷開時,將 AC側的接口置于 Down 狀態,使 CE 1 到 C
162、E 2 的流量通過 PE 2 轉發。圖59 單活冗余模式示意圖 多活冗余模式 多活冗余模式下,兩條 PW 等價負載分擔轉發數據報文。該模式下也需要在 PE 設備 AC 側的物理接口與 PW 側的物理接口(用于建立 EVPN PW 的接口)配置 EAA 和 Track 聯動的 CLI監控策略,使這兩個接口聯動,提高網絡可靠性。4.4.3 DF 選舉 在單活冗余模式下,數據報文僅通過一條 PW 轉發,此時需要在冗余備份組中選舉一個 PE 作為 DF(Designated Forwarder,指定轉發者),該 PE 上創建的 PW 為主 PW。其他 PE 作為 BDF(Backup DF,備份 DF
163、),其上創建的 PW 為備份 PW。多歸屬成員通過發送以太網段路由,向其它 PE 通告ES及PE信息,僅配置了ESI的PE會接收以太網段路由并根據其攜帶的ES和PE信息選舉出DF。設備支持多種 DF 選舉算法,用戶可以根據業務需要靈活地選擇 DF 選舉算法,使組網中 DF 能夠均勻分布,提高網絡設備的使用率。圖60 DF 示意圖 TunnelCE 1CE 2PE 3TunnelACMPLS or IP backboneCustomer networkCustomer networkMain PW Backup PWPE 2ESPE 1Bypass PWPE 1DF of ES 1PE 3Ser
164、ver 1Server 3Site 1Site 2IP核心網絡PES 1PE 2DF of ES 2AC發送到Site 1的泛洪流量ES 2Server 2ACACAC 6 2.基于 VLAN Tag 的 DF 選舉算法 基于 VLAN Tag 的 DF 選舉算法根據 VLAN Tag 和 VTEP 的 IP 地址為每個 AC 選舉 DF。圖61 基于 VLAN Tag 的 DF 選舉 如圖 61 所示,以允許 VLAN Tag 4 通過的 AC 1 的 DF 選舉為例,基于 VLAN Tag 的 DF 選舉算法為:(1)選取 AC 內允許通過的最小 VLAN Tag 代表該 AC。在本例中,
165、代表 AC 1 的 VLAN Tag 為 4。(2)VTEP 根據接收到的以太網段路由,對攜帶相同 ESI 的路由中的源 IP 地址按升序排列,編號從 0 開始。在本例中,源 IP 1.1.1.1、2.2.2.2 對應的編號依次為 0、1。(3)根據 VLAN Tag 除以 N 的余數 M 來選舉 DF,N 代表冗余備份組中成員的數量,M 對應的編號為該 AC 的 DF。在本例中,4 除以 2 的余數為 0,即 AC 1 的 DF 為編號為 0 的 VTEP 1。3.基于優先級的 DF 選舉算法 基于優先級的 DF 選舉算法根據 DF 選舉優先級、DP(Dont Preempt Me,不可回切
166、)位和 VTEP的 IP 地址為每個 ES 選舉 DF。其中,DP 位的取值包括:1:表示開啟了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,即使后續選舉出了新的設備作為 DF,依然使用當前設備作為 DF。0:表示關閉了基于優先級 DF 選舉算法不回切功能。即當前設備被選舉為 DF 后,如果后續選舉出了新的設備作為 DF,則直接使用新的設備作為 DF。PE 1Server 1ES 1PE 2ACES 2Server 2ACACACPE IP:1.1.1.1 AC 1:VLAN Tag:4 AC 2:VLAN Tag:5PE IP:2.2.2.2 AC 1:VLAN Tag
167、:4 AC 2:VLAN Tag:5 7 圖62 基于優先級的 DF 選舉 如圖 62 所示,以 ES 1、ES 2 的 DF 選舉為例,基于優先級的 DF 選舉算法為:(1)同一 ES 內 DF 選舉優先級(數值越大則優先級越高)最高的 VTEP 作為該 ES 的 DF。在本例中,選舉 VTEP 2 作為 ES 1 的 DF。(2)若優先級相同,則 DP 位為 1 的 VTEP 作為 DF。(3)若 DP 位相同,則 IP 地址小的 VTEP 作為 DF。在本例中,選舉 VTEP 1 作為 ES 2 的 DF。4.4.4 協議報文交互過程 4.4.5 別名與備份路徑 1.單活冗余模式下的備份
168、路徑機制 圖63 備份路徑示意圖 如圖 63 所示,在單活冗余模式下,僅 DF 可以學習到多歸屬站點內的 MAC 地址,這會導致 PE 3僅能從 DF 收到這些 MAC 地址的 MAC/IP 發布路由,若 DF 故障,PE 3 需要較長時間重新學習這些 MAC 地址的表項指導報文轉發。PE 1Server 1ES 1PE 2ES 2Server 2PE IP:1.1.1.1 ES 1:Priority:10 DP bit:1 ES 2:Priority:30 DP bit:1PE IP:2.2.2.2 ES 1:Priority:20 DP bit:1 ES 2:Priority:30 DP
169、bit:1ESMAC/IP發布路由PE 1PE 3MPLS/IP核心網絡PE 2以太網自動發現路由去程報文路徑回程報文路徑回程報文備份路徑Customer networkCE 1Customer network 8 EVPN 多歸屬引入備份路徑機制解決上述問題。備份路徑機制是指冗余備份組中作為 DF 的 PE 通過 MAC/IP 發布路由向遠端 PE 通告了 CE 側 MAC 地址的可達性時,遠端 PE 能夠根據冗余備份組內 PE 發送的以太網自動發現路由(攜帶 PE、ESI 等信息)感知到冗余備份組中 BDF 與 MAC 地址的可達性,從而形成遠端 PE 經過 BDF 到達與 CE 1 的備
170、份路徑。當 DF 故障時,冗余備份組直接將轉發路徑切換到通過 BDF 的備份路徑上,而不需重新學習 MAC 表項。2.多活冗余模式下的別名機制 圖64 別名示意圖 如圖 64 所示,在多活冗余模式下,冗余備份組中可能僅有一臺 PE 能學習到某些業務相關的 MAC地址,這會導致遠端 PE 僅能從這臺 PE 收到這些 MAC 地址的 MAC/IP 發布路由,因此遠端 PE 無法將訪問這些 MAC 地址的流量負載分擔到冗余備份組中的其它 PE 上。為了解決這個問題,EVPN 多歸屬引入了別名機制,即當冗余備份組中僅有一臺 PE 通過 MAC/IP發布路由向遠端 PE 通告了 CE 側 MAC 地址的
171、可達性時,遠端 PE 能夠根據冗余備份組內 PE 發送的以太網自動發現路由(攜帶 PE、ESI 等信息)感知到冗余備份組中其它 PE 與 MAC 地址的可達性,并生成對應的 MAC 表項,從而形成負載分擔。4.5 多段PW 多段 PW 是指將兩條或多條 PW 串連(concatenated)起來,形成一條端到端的 PW。通過在同一個交叉連接下創建兩條 PW,可以實現將該交叉連接下的兩條 PW 串連。PE 從一條 PW 接收到報文后,剝離報文的隧道標識和 PW 標簽,封裝上與該 PW 串連的另一條 PW 的 PW 標簽,并通過承載該 PW 的公網隧道轉發該報文,從而實現報文在兩條 PW 之間的轉
172、發。如圖 65 所示,通過在 PE 2 上將 PW 1 和 PW 2 串連、在 PE 3 上將 PW 2 和 PW 3 串連,可以建立從 PE 1 到 PE 4 的端到端 PW,實現報文沿著 PW 1、PW 2 和 PW 3 形成的多段 PW 在 PE 1 和PE 4 之間轉發。ESMAC/IP發布路由PE 1PE 3MPLS/IP核心網絡PE 2以太網自動發現路由去程報文路徑回程報文路徑Customer networkCustomer network 9 圖65 多段 PW 示意圖 多段 PW 分為:域內多段 PW:即在一個自治系統內部署多段 PW。在一個自治系統內部署多段 PW,可以實現兩
173、個 PE 之間不存在端到端公網隧道的情況下,在這兩個 PE 之間建立端到端 PW。如圖 66 所示,PE 1 和 PE 4 之間沒有建立公網隧道,PE 1 和 PE 2、PE 2 和 PE 4 之間已經建立了公網隧道。通過在PE 1與PE 2、PE 2與PE 4之間分別建立一條PW(PW 1和PW 2),在 PE 2 上將這兩條 PW 串連,可以實現在 PE 1 和 PE 4 之間建立一條由兩段 PW 組成的端到端域內多段 PW。通過建立域內多段 PW 可以充分利用已有的公網隧道,減少端到端公網隧道數量。圖66 域內多段 PW 域間多段 PW:即跨越自治系統部署多段 PW。關于域間多段 PW
174、的詳細介紹,請參見“4.6.2 跨域-Option B”。CE 1PE 1PE 4PE 2PE 3PW 1PW 3CE 2PW 2MPLS or IP backbonePWCE 1PE 4PE 1PE 2CE 2MPLS or IP backbonePE 3TunnelTunnelPW 1PW 2PW 10 4.6 EVPN VPWS跨域 實際組網應用中,不同 Site 間可能會通過使用不同 AS 號的多個服務提供商通信,或者跨越一個服務提供商的多個 AS 通信。這種跨越多個自治系統的應用方式被稱為 EVPN VPWS 跨域。EVPN VPWS 跨域解決方案分為以下幾種:PE 與 ASBR 間
175、通過 MP-IBGP(IBGP redistribution of EVPN routes between PE and ASBR)發布 EVPN 路由建立 EVPN PW,ASBR 互為 CE,在 ASBR 上將 AC 與 EVPN PW 關聯,也稱為 Inter-Provider Option A。PE 與 ASBR 間通過 MP-IBGP 發布 EVPN 路由建立 EVPN PW,ASBR 間通過 MP-EBGP(EBGP redistribution of EVPN routes between ASBRs)發布 EVPN 路由建立 EVPN PW,也稱為 Inter-Provider
176、 Option B;PE 間通過 MP-EBGP(Multi-hop EBGP redistribution of EVPN routes between PE routers)發布 EVPN 路由建立 EVPN PW,也稱為 Inter-Provider Option C。4.6.1 跨域-Option A 如圖 67 所示,這種方式下,兩個 AS 的 PE 路由器直接相連,并且作為各自所在自治系統的邊界路由器 ASBR。兩個 ASBR 均把對方當作自己的 CE 設備,并將與對端 ASBR 相連的接口與 EVPN PW關聯實現報文的跨域轉發。這種方式的優點是實現簡單,兩個作為 ASBR 的
177、PE 之間不需要為跨域進行特殊配置。缺點是可擴展性差:需要在兩端的 ASBR 上為每個跨域站點配置 AC 并與 EVPN PW 綁定,配置復雜且管理難度大。圖67 ASBR 互為 CE 連接組網圖 4.6.2 跨域-Option B 如圖 68 所示,這種方式下,在 PE 1 與 ASBR 1、ASBR 2 與 PE 2 之間分別通過 MP-IBGP 發布EVPN路由建立EVPN PW,ASBR 1與ASBR 2間通過MP-EBGP發布EVPN路由建立EVPN PW。通過多條 EVPN PW 的串聯,即可實現報文的跨域傳送。Site 1Site 1CE 1PE 1PE 2ASBR 1(PE)A
178、SBR 2(PE)EVPN PWEVPN PWCE 2ACAS 100AS 200TunnelTunnelAC 11 這種方式的擴展性優于 Inter-Provider Option A。缺點是 ASBR 仍然需要為每個跨域站點配置多段PW。圖68 多段 PW 跨域組網圖 4.6.3 跨域-Option C 這種方式下,不同 AS 的 PE 之間建立多跳 MP-EBGP 會話,通過該會話直接在 PE 之間發布 EVPN路由創建 EVPN PW。此時,一端 PE 上需要具有到達遠端 PE 的路由以及該路由對應的標簽,以便在兩個 PE 之間建立跨越 AS 的公網隧道。Inter-Provider
179、Option C 通過如下方式建立公網隧道:利用 LDP 等標簽分發協議在 AS 內建立公網隧道;ASBR 通過 BGP 發布帶標簽的 IPv4 單播路由,實現跨越 AS 域建立公網隧道。帶標簽的 IPv4單播路由是指為 IPv4 單播路由分配 MPLS 標簽,并同時發布 IPv4 單播路由和標簽,以便將路由和標簽關聯。圖69 PE 間通過 Multi-hop MP-EBGP 發布 EVPN 路由組網圖 如圖 69 所示,Inter-Provider Option C 的難點是建立跨越 AS 域的公網隧道。以 PE 2 到 PE 1 為例,公網隧道建立過程為:Site 1Site 1CE 1P
180、E 1PE 2ASBR 1(PE)ASBR 2(PE)EVPN PWEVPN PWCE 2AS 100AS 200TunnelTunnelTunnelEVPN PWSite 1Site 1CE 1PE 1PE 2ASBR 1(PE)ASBR 2(PE)CE 2AS 100AS 200EBGPIGBPIGBPEVPN PW 12(1)在 AS 100 內,通過 LDP 等標簽分發協議建立從 ASBR 1 到 PE 1 的公網隧道。假設 ASBR 1上該公網隧道的出標簽為 L1。(2)ASBR 1 通過 EBGP 會話向 ASBR 2 發布帶標簽的 IPv4 單播路由,將 PE 1 地址對應的路由
181、及 ASBR 1 為其分配的標簽(假設為 L2)發布給 ASBR 2,路由的下一跳地址為 ASBR 1。這樣,就建立了從 ASBR 2 到 ASBR 1 的公網隧道,ASBR 1 上公網隧道的入標簽為 L2。(3)ASBR 2 通過 IBGP 會話向 PE 2 發布帶標簽的 IPv4 單播路由,將 PE 1 地址對應的路由及ASBR 2 為其分配的標簽(假設為 L3)發布給 PE 2,路由的下一跳地址為 ASBR 2。這樣,就建立了從 PE 2 直接到 ASBR 2 的公網隧道,ASBR 2 上公網隧道的入標簽為 L3,出標簽為L2。(4)MPLS 報文不能直接從 PE 2 轉發給 ASBR
182、2,在 AS 200 內,還需要通過 LDP 等標簽分發協議逐跳建立另一條從 PE 2 到 ASBR 2 的公網隧道。假設 PE 2 上該公網隧道的出標簽為 Lv。公網隧道建立后,PE 1 和 PE 2 間通過多跳 MP-EBGP 會話發布 EVPN 路由建立 EVPN PW,在PE 1 和 PE 2 上將 EVPN PW 與 AC 關聯,即可實現報文的跨域轉發。為減少 IBGP 連接數,可以在每個 AS 中指定一個 RR(Route Reflector,路由反射器),與同一 AS的 PE 交換 EVPN 路由信息,由 RR 保存所有 EVPN 路由。兩個 AS 的 RR 之間建立多跳 MP-
183、EBGP會話,通告 EVPN 路由。Inter-Provider Option A 和 Inter-Provider Option B 都需要 ASBR 參與 EVPN 路由的維護和發布。當每個 AS 都有大量的 EVPN 路由需要交換時,ASBR 很可能成為阻礙網絡進一步擴展的瓶頸。Inter-Provider Option C 中 PE 之間直接交換 EVPN 路由,具有很好的可擴展性。4.7 LDP PW或靜態PW接入EVPN PW 在實際組網中,可能會存在傳統的 MPLS L2VPN 網絡(也稱為 VPWS 網絡)與 EVPN VPWS 網絡共存的情況。LDP PW 或靜態 PW 接入
184、 EVPN PW 功能,通過將 MPLS L2VPN 網絡中的 LDP PW或靜態 PW 看作 EVPN VPWS 網絡的 AC(該 PW 稱為 UPW),實現報文在 EVPN PW 與 UPW 之間相互轉發,從而實現 MPLS L2VPN 網絡與 EVPN VPWS 網絡的互通。本功能不僅支持一條 LDP PW 或靜態 PW 接入一條 EVPN PW,還支持將兩條 LDP PW 或靜態 PW多歸屬接入兩條 EVPN PW。如 3.5 圖 52 所示,在 MPLS L2VPN 網絡中,PE 1 與 PE 2、PE 3分別建立主備 LDP PW 或靜態 PW,該 PW 稱為 UPW;在 EVPN
185、 VPWS 網絡中,PE 4 與 PE 2、PE 3 分別建立 EVPN PW。UPW 作為 EVPN VPWS 網絡中的 AC,PE 2 或 PE 3 從 UPW 接收到報文后,會解除 MPLS 封裝,查找與 UPW 關聯的 EVPN PW,為報文添加該 EVPN PW 對應的MPLS 封裝,并將其轉發給 PE 4;PE 2 或 PE 3 從 EVPN PW 接收報文的處理方法與此類似。13 圖70 LDP PW 或靜態 PW 接入 EVPN PW 組網示意圖 4.8 典型組網應用 4.8.1 多歸屬組網 為了避免 PE 單點故障造成報文轉發中斷,EVPN VPWS 通常采用多歸屬組網方式。
186、多歸屬站點的流量可以在多臺 PE 之間形成主備備份,即同一時間僅有其中一臺 PE 轉發流量;也可以在多臺 PE之間進行負載分擔,即所有 PE 均轉發流量。圖71 多歸屬組網方式 4.8.2 FRR 組網 為了減少 AC 鏈路或 PW 鏈路故障對網絡造成的影響,提升網絡的可靠性和穩定性,可以在 EVPN VPWS 組網中部署 FRR(Fast Reroute,快速重路由)功能。FRR 功能包含如下兩種類型:Bypass PW:即旁路 PW。該功能可以減少 AC 鏈路故障導致的丟包。如 PE 2 側 AC 鏈路故障時,PE 2 通過 Bypass PW 臨時將流量到轉發到 PE 3,再由 PE 3
187、 轉發到 CE 2。主備 PW:即 PE 間建立的兩條互為備份的 EVPN PW,其中一條為主 PW,一條為備份 PW。如 PE 1 與 PE 2 間的主 PW 故障時,PE 1 將流量切換到備 PW 上轉發給 PE 3,再由 PE 3 轉發到 CE 2。CE 1PE 2PE 4CE 2EVPN VPWS networkUPWPE 3PE 1EVPN PWMPLS L2VPN networkUPWSRv6 PWEVPN PWTunnelCE 1CE 2PE 1PE 3TunnelACMPLS or IP backboneCustomer networkCustomer networkPWPWP
188、E 2ES 14 圖72 FRR 組網示意圖 PE 3PE 1PE 2MPLS or IP backboneBypass PWCE 1Customer networkCE 2Customer networkMain PWBackup PW 1 5 EVPN L3VPN 5.1 EVPN L3VPN網絡模型 EVPN 的 IP 前綴路由可以用來發布 VPN 私網路由信息,以實現 MPLS L3VPN 組網,該網絡稱為EVPN L3VPN。與 BGP/MPLS L3VPN 網絡相比,EVPN L3VPN 組網中,在 EVPN 的基礎上可以快速部署大二層網絡,使得網絡同時承載二層 VPN 和三層 V
189、PN 業務。圖73 EVPN L3VPN 典型組網圖 如圖 73 所示,EVPN L3VPN 網絡中主要包括如下幾部分:CE(Customer Edge,用戶網絡邊緣):直接與服務提供商網絡相連的用戶網絡側設備。PE(Provider Edge,服務提供商網絡邊緣):與 CE 相連的服務提供商網絡側設備。PE 主要負責 EVPN L3VPN 業務的接入,完成報文從用戶網絡到公網隧道、從公網隧道到用戶網絡的映射與轉發。5.2 EVPN L3VPN控制平面工作機制 在 EVPN L3VPN 組網中,VPN 路由信息的發布涉及 CE 和 PE。P 路由器只維護骨干網的路由,不需要了解任何 VPN 路
190、由信息。PE 路由器只維護與它直接相連的 VPN 的路由信息,不維護所有 VPN路由。VPN 路由信息的發布過程包括三部分:本地 CE 到入口 PE、入口 PE 到出口 PE、出口 PE 到遠端CE。完成這三部分后,本地 CE 與遠端 CE 之間將建立可達路由。5.2.1 本地 CE 到入口 PE 的路由信息交換 CE 使用靜態路由、RIP、OSPF、IS-IS、EBGP 或 IBGP,將本站點的 VPN 路由發布給 PE。CE發布給 PE 的是標準的 IPv4 或 IPv6 路由。CECECECEPEPEPSite 2Site 1Site 3Site 4VPN 1VPN 1VPN 2VPN
191、2 2 5.2.2 入口 PE 到出口 PE 的路由信息交換 PE 從 CE 學到 VPN 路由信息后,將其存放到相應的 VPN 實例的路由表中。PE 為這些標準 IPv4或 IPv6 路由增加 RD 和 Export Target 屬性,并為這些路由分配 MPLS 私網標簽,形成 EVPN 的 IP前綴路由(包括 RD、Export Target 屬性和 MPLS 私網標簽)發布給出口 PE。出口 PE 將 IP 前綴路由的 Export Target 屬性與自己維護的 VPN 實例的 Import Target 屬性進行匹配。如果出口 PE 上某個 VPN 實例的 Import Targe
192、t 屬性與路由的 Export Target 屬性中存在相同的屬性值,則接收該 IP前綴路由并將其添加到 VPN 路由表中。5.2.3 出口 PE 到遠端 CE 的路由信息交換 與本地CE到入口PE的路由信息交換相同,遠端CE可以通過多種方式從出口PE學習VPN路由,包括靜態路由、RIP、OSPF、IS-IS、EBGP 和 IBGP。5.3 EVPN L3VAN數據平面工作機制 在 EVPN L3VPN 組網中,PE 轉發 VPN 報文時為報文封裝如下內容:外層標記:又稱為公網標記。VPN報文在骨干網上沿著公網隧道從一端PE傳送到另一端 PE。公網隧道可以是 LSP 隧道、MPLS TE 隧道
193、和 GRE 隧道。當公網隧道為 LSP 隧道或 MPLS TE隧道時,公網標記為 MPLS 標簽,稱為公網標簽;當公網隧道為 GRE 隧道時,公網標記為GRE 封裝。內層標簽:又稱為私網標簽,用來指示報文應被送到哪個 Site。對端 PE 根據私網標簽可以確定報文所屬的 VPN 實例,通過查找該 VPN 實例的路由表,將報文正確地轉發到相應的 Site。PE 之間在發布 EVPN 路由時,將為私網路由分配的私網標簽通告給對端 PE。圖74 EVPN L3VPN 報文轉發示意圖 如圖 74 所示,VPN 報文的轉發過程為:(1)Site 1 發出一個目的地址為 1.1.1.2 的 IP 報文,由
194、 CE 1 將報文發送至 PE 1。(2)PE 1 根據報文到達的接口及目的地址查找對應 VPN 實例的路由表,根據匹配的路由表項為報文添加私網標簽,并查找到報文的下一跳為 PE 2。(3)PE 1 在公網路由表內查找到達 PE 2 的路由,根據查找結果為報文封裝公網標簽或進行 GRE封裝,并沿著公網隧道轉發該報文。CE 1Site 1PE 1PPPE 2CE 2Site 22.1.1.1/241.1.1.2/241.1.1.21.1.1.2Inner labelOuter tag1.1.1.2Inner label1.1.1.2MPLS network 3(4)MPLS 網絡內,P 根據報文
195、的公網標記轉發報文,將報文轉發到 PE 2。如果公網標記為 MPLS標簽,則報文在到達 PE 2 的前一跳時剝離公網標簽,僅保留私網標簽;如果為 GRE 封裝,則由 PE 2 剝離報文的 GRE 封裝。(5)PE 2 根據私網標簽確定報文所屬的 VPN 實例,通過查找該 VPN 實例的路由表,確定報文的出接口,剝離私網標簽后將報文轉發至 CE 2。(6)CE 2 根據正常的 IP 轉發過程將報文轉發給目的主機。屬于同一個 VPN 的兩個 Site 連接到同一個 PE 時,PE 不需要為 VPN 報文封裝外層標記和內層標簽,只需查找對應 VPN 實例的路由表,找到報文的出接口,將報文轉發至相應的
196、 Site。5.4 BGP/MPLS L3VPN與EVPN L3VPN對接 將現網 L3VPN 網絡改造成 EVPN L3VPN 網絡的過程中,會存在兩種類型網絡對接的情況。通過在PE 3 上部署 BGP VPNv4 或 BGP VPNv6 路由通過 BGP EVPN 的 IP 前綴路由發布給鄰居功能和EVPN 路由通過 BGP VPNv4 或 BGP VPNv6 地址族發布給鄰居功能,可實現在 CE 1、CE 2 間跨越 MPLS L3VPN 和 EVPN L3VPN 網絡建立可達路由,并進行通信。圖75 MPLS L3VPN 與 EVPN L3VPN 對接示意圖 BGP/MPLS L3VP
197、N 與 EVPN L3VPN 對接分為兩部分:在 PE 3 上部署 BGP VPNv4 或 BGP VPNv6 路由通過 BGP EVPN 的 IP 前綴路由發布給鄰居功能,從而實現將站點 1 的路由通過 MPLS L3VPN 網絡發布到 EVPN L3VPN 網絡,進而發布給站點 2。具體過程為:a.PE 1 從 CE 1 學到 VPN 路由信息后,將其保存到 VPN 實例的路由表中。同時,為這些 IPv4或 IPv6 路由增加 RD,形成 VPNv4 或 VPNv6 路由。b.PE 1 通過 MP-BGP 把 VPNv4 或 VPNv6 路由發布給 PE 3。路由中攜帶 VPN Targe
198、t 屬性及 MPLS 私網標簽。c.PE 3 收到 VPNv4 或 VPNv6 路由后,將路由中的 Export target 與本地 VPN 實例的 Import target 進行匹配。如果二者中存在相同的值,則將該路由添加到該 VPN 實例的路由表中。CE 1CE 2PE 1PE 3Site 2Site 4VPN 1VPN 2PE 2MPLS L3VPNEVPN L3VPNMPLS/IP骨干網 4 d.PE 3 上將 VPN 實例路由表中的 IPv4 或 IPv6 路由轉換為 EVPN 的 IP Prefix 路由,路由的下一跳地址為 PE 3,且路由中攜帶 VPN Target 屬性及
199、該 VPN 的 MPLS 私網標簽等信息。e.PE 3 將該 IP Prefix 路由發送給 PE 2。f.PE 2 收到 IP Prefix 路由后,如果路由通過 VPN Target 屬性匹配,則將路由添加到 VPN實例的路由表中。g.PE 2 將 IPv4 或 IPv6 路由發布給 CE 2。在 PE 3 上部署 EVPN 路由通過 BGP VPNv4 或 BGP VPNv6 地址族發布給鄰居功能,從而實現將站點 2 的路由通過 EVPN L3VPN 網絡發布到 MPLS L3VPN 網絡,進而發布給站點 1。具體過程為:a.PE 2 從 CE 2 學到 VPN 路由信息后,將其保存到
200、VPN 實例的路由表中。b.PE 2 將 VPN 實例路由表中的 IPv4 或 IPv6 路由轉換為 EVPN 的 IP Prefix 路由,該路由的下一跳地址為 PE 2,且路由中攜帶 VPN Target 屬性及該 VPN 的 MPLS 私網標簽等信息。c.PE 2 將該路由發布給 PE 3。d.PE 3 收到 IP Prefix 路由后,如果路由通過 VPN Target 屬性匹配,則將路由添加到 VPN實例的路由表中。e.PE 3 將 VPN 實例路由表中的 IPv4 或 IPv6 路由轉換為 VPNv4 或 VPNv6 路由,并發布給PE 1。路由中攜帶 VPN Target 屬性及
201、 MPLS 私網標簽。f.PE 1 收到 VPNv4 或 VPNv6 路由后,如果路由通過 VPN Target 屬性匹配,則將該路由加入到 VPN 實例的路由表。g.PE 1 將 IPv4 或 IPv6 路由發布給 CE 1。5.5 BGP EVPN快速重路由 當 EVPN 網絡中的鏈路或某臺路由器發生故障時,需要通過故障鏈路或故障路由器傳輸才能到達目的地的報文將會丟失或產生路由環路,數據流量將會被中斷。直到根據新的網絡拓撲路由收斂后,被中斷的流量才能恢復正常的傳輸。通過 BGP EVPN 快速重路由功能,可以盡可能地縮短網絡故障導致的流量中斷時間。在 BGP EVPN地址族下開啟快速重路由
202、功能后,BGP 會為 EVPN 地址族的所有路由自動計算備份路由,即只要從不同 BGP 對等體學習到了到達同一目的網絡的路由,且這些路由不等價,就會生成主備兩條路由。當主路由不可達時,BGP 會使用備份路由來指導報文的轉發,從而大大縮短了流量中斷時間。在使用備份路由轉發報文的同時,BGP 會重新進行路由優選,優選完畢后,使用新的最優路由來指導報文轉發。5 圖76 EVPN L3VPN 快速重路由示意圖 如圖 76 所示,在入節點 PE 1 上配置 FRR 后,PE 1 將計算出 PE 3 為 PE 2 的備份下一跳。當 PE 1 接收到 PE 2 和 PE 3 發布的到達 CE 2 的 BGP
203、 EVPN IP 前綴路由后,PE 1 會記錄這兩條 BGP EVPN IP 前綴路由,并將 PE 2 發布的路由當作主路徑,PE 3 發布的路由當作備份路徑。在 PE 1 上配置 BFD 檢測 LSP 或 MPLS TE 隧道功能,通過 BFD 檢測 PE 1 到 PE 2 之間公網隧道的狀態。當公網隧道正常工作時,CE 1 和 CE 2 通過主路徑 CE 1PE 1PE 2CE 2 通信。當PE 1 檢測到該公網隧道出現故障時,PE 1 將通過備份路徑 CE 1PE 1PE 3CE 2 轉發 CE 1訪 問CE 2的 流 量。在 此 過 程 中,PE 1負 責 主 路 徑 檢 測 和 流
204、量 切 換。1 6 EVPN VXLAN 與與 EVPN VPLS over SRv6 網絡互通網絡互通 6.1 網絡模型 圖77 EVPN VXLAN 網絡與 EVPN VPLS over SRv6 網絡互通典型應用場景 EVPN VXLAN 網絡與 EVPN VPLS over SRv6 網絡互通功能的典型應用場景如圖 77 所示。兩個EVPN VXLAN 網絡通過 EVPN VPLS over SRv6 網絡互聯。GW 1、GW 2、GW 3 和 GW 4 為 EVPN VXLAN 網絡和 EVPN VPLS over SRv6 網絡的邊界設備,通過在 GW 上重生成 EVPN 路由,實
205、現EVPN VXLAN 網絡和 EVPN VPLS over SRv6 網絡之間互通。6.2 網絡互通原理 EVPN VXLAN 網絡和 EVPN VPLS over SRv6 網絡之間實現互通,依賴于網絡的邊界設備上進行MAC/IP 發布路由的重生成,具體過程為如下兩種:GW 從 EVPN VXLAN 網絡接收到 MAC/IP 發布路由后,GW 重生成該路由,即為該路由分配并添加 SRv6 SID、將路由的封裝類型修改為 SRv6 封裝、修改路由的 RD 和 RT,之后將該路由發送到 EVPN VPLS over SRv6 網絡。GW 從 EVPN VPLS over SRv6 網絡接收到
206、MAC/IP發布路由后,GW 重生成該路由,即查找該路由對應的 VXLAN ID 并為路由添加 VXLAN ID、將路由的封裝類型修改為 VXLAN 封裝、修改路由的 RD 和 RT,之后將該路由發送到 EVPN VXLAN 網絡。完成路由重生成后,邊界網關上會形成 SRv6 SID、VXLAN ID 與 VSI 實例的映射關系。在報文轉發過程中,當 GW 收到 VXLAN 封裝的報文時,對報文解封裝,然后重新查表,再使用 VXLAN ID對應的 SRv6 SID 對報文進行重新封裝。同樣的,當 GW 收到 IPv6 或 SRv6 封裝的報文時,對報文解封裝,然后重新查表,再使用 SRv6 S
207、ID 對應的 VXLAN ID 對報文進行重新封裝。CE 1GW 1VTEPCE 2EVPN VXLAN networkVXLAN隧道GW 2VTEPVXLAN隧道EVPN VXLAN networkSRv6 PWVXLAN隧道GW 3GW 4VXLAN隧道SRv6 PWSRv6 PWEVPN VPLS over SRv6network 2 6.3 控制平面工作機制 6.3.1 SRv6 PW 及 BUM 廣播表建立 如圖 78 所示,EVPN VPLS over SRv6 組網中 PE 1 和 PE 2 依靠 RT-3(Inclusive Multicast Ethernet Tag Rou
208、te)路由自動發現 PE 站點、建立 SRv6 PW 和 BUM 廣播表。圖78 RT-3 路由消息格式 如圖 79 所示,SRv6 PW 及 BUM 廣播表建立的具體過程為:(1)PE 1 通過 RT-3 向 PE 2 通告自身的 IP 地址,以及 PE 1 為 VSI 實例 A 分配的用于轉發 BUM流量的 End.DT2M SID。(2)PE 2 收到 PE 1 發送的 RT-3 路由后,若路由中 VPN Target 屬性與 PE 2 本地配置的 Import Target屬性匹配,則PE 2建立一條到達PE 1的IP地址的單向SRv6隧道,其出SID為PE 1攜帶的 End.DT2M
209、 SID;若路由中 VPN Target 屬性與 PE 2 本地配置的 Import Target 屬性不匹配,則不建立 SRv6 PW。(3)PE 2 通過 RT-3 向 PE 1 通告自身的 IP 地址,以及 PE 2 為 VSI 實例 A 分配的用于轉發 BUM流量的 End.DT2M SID。(4)PE 1 收到 PE 2 發送的 RT-3 路由后,若路由中 VPN Target 屬性與 PE 1 本地配置的 Import Target屬性匹配,則PE 1建立一條到達PE 1的IP地址的單向SRv6隧道,其出SID為PE 2攜帶的 End.DT2M SID;若路由中 VPN Targe
210、t 屬性與 PE 1 本地配置的 Import Target 屬性不匹配,則不建立 SRv6 PW。(5)兩條方向相反的 SRv6 隧道,構成一條 SRv6 PW。(6)對于每個 VSI 而言,所有這些建立并關聯的 SRv6 PW 就形成了 BUM 廣播表。Route type(1 octet):Inclusive multicast routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)IP address length(1 octet)Originating routers IP address(4 or 16 octets)Tu
211、nnel type:Ingress replicationLabel:SRv6 SIDPSMI tunnel attributesRT-3 NLRI 3 圖79 SRv6 PW 及 BUM 廣播表建立過程示意圖 6.3.2 VXLAN 隧道及 BUM 廣播表建立 如圖80所示,EVPN VXLAN組網中PE 2和PE 3依靠RT-3(Inclusive Multicast Ethernet Tag Route)路由自動發現 PE 站點、建立 VXLAN 隧道和 BUM 廣播表。圖80 RT-3 路由消息格式 如圖 79 所示,VXLAN 隧道及 BUM 廣播表建立的具體過程為:(1)PE 2
212、通過 RT-3 向 PE 3 通告自己所屬的 VXLAN ID 及自身的 IP 地址。(2)PE 3 收到 PE 2 發送的 RT-3 路由后,若路由中 VPN Target 屬性與 PE 3 本地配置的 Import Target 屬性匹配,則獲取 PE 2 的 VXLAN 信息以及 VXLAN 和下一跳的關系;若路由中 VPN Target 屬性與 PE 3 本地配置的 Import Target 屬性不匹配,則丟棄該報文。(3)PE 3 查看自己的 VXLAN 信息,若存在與 PE 2 相同的 VXLAN,則與 RT-3 路由中攜帶的下一跳自動建立 VXLAN 隧道,并將此 VXLAN
213、隧道與 VXLAN 關聯。(4)PE 3 通過 RT-3 向 PE 2 通告自己所屬的 VXLAN ID 及自身的 IP 地址。(5)PE 2 收到 PE 3 發送的 RT-3 路由后,若路由中 VPN Target 屬性與 PE 2 本地配置的 Import Target 屬性匹配,則獲取 PE 3 的 VXLAN 信息以及 VXLAN 和下一跳的關系;若路由中 VPN Target 屬性與 PE 2 本地配置的 Import Target 屬性不匹配,則丟棄該報文。(6)PE 2 查看自己的 VXLAN 信息,若存在與 PE 3 相同的 VXLAN,則與 RT-3 路由中攜帶的下一跳自動建
214、立 VXLAN 隧道,并將此 VXLAN 隧道與 VXLAN 關聯。(7)對于每個 VXLAN 而言,所有這些建立并關聯的 VXLAN 隧道就形成 BUM 廣播表。RT-3路由CE 1VXLAN隧道SRv6 PWCE 2PE 1PE 2PE 3CE 1RT-3路由IP addressRTSRv6 SIDIP addressRTSRv6 SIDVXLAN IDIP addressVXLAN IDRoute type(1 octet):Inclusive multicast routeLength(1 octet)RD(8 octets)Ethernet tag ID(4 octets)IP ad
215、dress length(1 octet)Originating routers IP address(4 or 16 octets)Tunnel type:Ingress replicationLabel:VXLAN IDPSMI tunnel attributesRT-3 NLRI 4 6.3.3 MAC 地址學習 如圖 81 所示,EVPN VXLAN 與 EVPN VPLS over SRv6 互通組網中,PE 之間通過 MAC/IP 發布路由(即 RT-2,二類路由)通告和學習站點的 MAC 地址。圖81 RT-2 路由格式 如圖 82 所示,MAC 地址通告和學習過程為:(1)PE
216、 1 接收到 CE 1 發送的報文后,通過以太網報文的源 MAC 地址學習獲得 CE 1 的 MAC 地址。即將 CE 1 的 MAC 地址添加到接收報文的 AC 口關聯的 VSI 實例 A 的 MAC 地址表中,其出接口為連接 CE 1 的 AC 口。(2)PE 1 通過 RT-2 路由將 CE 1 的 MAC 地址以及 PE 1 為 VSI 實例 A 分配的 End.DT2U SID 發布給 PE 2。(3)PE 2 接收到 RT-2 路由后,如果路由中的 VPN Target 屬性與 PE 2 本地配置的 Import target屬性匹配,則 PE 2 接收該路由,并將 CE 1的 M
217、AC地址加入到本地 VSI實例 A的 MAC地址表中,其出 SID 為 PE 1 通告的 End.DT2U SID;如果路由中的 VPN Target 屬性與 PE 2 本地配置的 Import target 屬性不匹配,則 PE 2 丟棄該路由。(4)PE 2 將從 PE 1 接收到 RT-2 路由的下一跳地址修改為自身的地址、將報文封裝類型修改為VXLAN 方式,并添加 VSI 實例 A 關聯的 VXLAN ID,然后通過 RT-2 路由發送給 PE 3。此外,PE 2 上還會建立 End.DT2U SID、VXLAN ID 與 VSI 實例的映射關系。(5)PE 3接收到RT-2路由后,
218、如果路由中的VPN Target屬性與PE 1 本地配置的Import target 屬性匹配,則將 MAC 地址加入到本地 VSI 實例 A 的 MAC 地址表中,其出接口為接收該路由的VXLAN 隧道。完成 RT-2 路由發布后,PE 1、PE 2 和 PE 3 上均有 CE 1 的 MAC,PE 2 上還具有 End.DT2U SID、VXLAN ID 與 VSI 實例的映射關系。用戶二層數據報文可以通過查找 MAC 地址表在 EVPN VXLAN網絡和 EVPN VPLS over SRv6 網絡之間轉發。Route type(1 octet):MAC/IP advertisement
219、 routeLength(1 octet)RD(8 octets)Ethernet segment identifier(10 octets)Ethernet tag ID(4 octets)MAC address length(1 octet)MAC address(6 octets)IP address length(1 octet)IP address(0,4,or 16 octets)L2VNI(3 octets)L3VNI(0 or 3 octets)5 圖82 MAC 地址通告和學習過程 CE 1VXLAN隧道SRv6 PWCE 2PE 1PE 2PE 3(1)AC 1AC 2(1
220、)MAC Table on PE 1VSIMACInterfaceVSI AMAC of CE 1AC 1(2)RT-2路由MAC:CE 1Label:End.DT2U SID(3)MAC Table on PE 2VSIMACOut SIDVSI AMAC of CE 1End.DT2U SID(4)重生成RT-2路由MAC:CE 1Label:VXLAN ID(5)MAC Table on PE 3VSIMACInterfaceVSI AMAC of CE 1VXLAN隧道 6 6.4 數據平面工作機制 6.4.1 轉發已知單播流量 圖83 轉發已知單播流量 如圖 83 所示,PE 完成
221、MAC 地址表項的學習后,以 CE 1 訪問 CE 2 為例,已知單播報文從 EVPN VPLS over SRv6 網絡轉發到 EVPN VXLAN 網絡的轉發過程為:(1)PE 1 從 AC 接收到 CE 1 發送的報文后,在 AC 關聯的 VSI 實例內查找 MAC 地址表,找到對應的出接口 SRv6 PW,并獲取該 VSI 實例的 End.DT2U SID。(2)PE 1 根據 SRv6 BE 或 SRv6 TE 方式為報文封裝 IPv6 報文頭,然后查找 IPv6 路由表將報文發送到 PE 2。(3)PE 2 接收到報文后,對報文解封裝,去掉 IPv6 報文頭,根據 End.DT2U
222、 SID 找到關聯的 VSI實例,在 VSI 實例內查找 MAC 地址表,找到對應的 VXLAN 隧道,然后為報文進行 VXLAN封裝,通過 VXLAN 隧道將報文發送給 PE 3。CE 1VXLAN隧道SRv6 PWCE 2PE 1PE 2PE 3IPv6:10:10Locator:100:1:/64End.DT2M SID:100:1:1End.DT2U SID:100:1:2IP:1.1.1.1MAC:1-1-1IP:1.1.1.2MAC:2-2-2IPv4:2.2.2.9IPv6:20:20VXLAN ID:100Locator:200:1:/64End.DT2M SID:200:1:
223、1End.DT2U SID:200:1:2IPv4:3.3.3.9VXLAN ID:100SMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSA:10:10DA:200:1:2SA:2.2.2.9DA:3.3.3.9VXLAN ID:100SMAC:2-2-2DMAC:1-1-1SA:1.1.1.
224、2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSA:20:20DA:100:1:2SA:3.3.3.9DA:2.2.2.9VXLAN ID:100MAC Table on PE 1VSIMACInterface/Out SIDVSI A1-1-1AC 1MAC Table on PE 2VSIMACInterface/Out SIDVSI A1-1-
225、1100:1:2MAC Table on PE 3VSIMACInterfaceVSI A1-1-1Tunnel 1AC 1AC 2VSI A2-2-2200:1:2VSI A2-2-2Tunnel 1VSI A2-2-2AC 2 7(4)PE 3 接收到報文后,對報文解封裝,根據 VXLAN 報頭中的 VXLAN ID 找到關聯的 VSI,并在該 VSI 實例內查找 MAC 地址表,根據查表結果將報文轉發給 CE 2。以 CE 2 訪問 CE 1 為例,已知單播報文從 EVPN VXLAN 網絡轉發到 EVPN VPLS over SRv6 網絡的轉發過程為:(1)PE 3 從 AC 接收到
226、 CE 2 發送的報文后,在 AC 關聯的 VSI 實例內查找 MAC 地址表,找到對應的出接口 VXLAN 隧道,并獲取 VSI 實例關聯的 VXLAN ID。(2)PE 3 為報文進行 VXLAN 封裝,并通過 VXLAN 隧道將報文發送給 PE 2。(3)PE 2 接收到報文后,對報文進行解封裝,根據 VXLAN 報頭中的 VXLAN ID 找到關聯的 VSI,并在該 VSI 實例內查找 MAC 地址表,獲取對應的 End.DT2U SID。(4)PE 2 根據 SRv6 BE 或 SRv6 TE 方式為報文封裝 IPv6 報文頭,然后查找 IPv6 路由表將報文發送到 PE 1。(5)
227、PE 1 接收到報文后,對報文解封裝,去掉 IPv6 報文頭,根據 End.DT2U SID 找到關聯的 VSI實例,在該 VSI 實例內查找 MAC 地址表,根據查表結果將報文轉發給 CE 1。6.4.2 轉發 BUM 流量 除了單播流量轉發,EVPN VPLS over SRv6 與 EVPN VXLAN 網絡互通組網中還會轉發廣播、未知組播與未知單播流量,即 BUM 流量。圖84 轉發 BUM 流量 如圖 84 所示,以 CE 1 側發送未知單播報文為例,報文轉發過程為:CE 1VXLAN隧道SRv6 PWCE 2PE 1PE 2PE 3IPv6:10:10Locator:100:1:/
228、64End.DT2M SID:100:1:1End.DT2U SID:100:1:2IP:1.1.1.1MAC:1-1-1IP:1.1.1.2MAC:2-2-2IPv4:2.2.2.9IPv6:20:20VXLAN ID:100Locator:200:1:/64End.DT2M SID:200:1:1End.DT2U SID:200:1:2IPv4:3.3.3.9VXLAN ID:100SMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-
229、2-2SA:1.1.1.1DA:1.1.1.2DataSMAC:1-1-1DMAC:2-2-2SA:1.1.1.1DA:1.1.1.2DataSA:10:10DA:200:1:1SA:2.2.2.9DA:3.3.3.9VXLAN ID:100SMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSMAC:2-2-2DMAC:1-1-1SA:1.1.1.2DA:1.1.1.1DataSA:
230、20:20DA:100:1:1SA:3.3.3.9DA:2.2.2.9VXLAN ID:100 8(1)PE 1 從 AC 接收到 CE 1 發送的 BUM 報文后,在 AC 關聯的 VSI 的 MAC 地址表中未找到匹配的 MAC 地址表項,則在 VSI 中查找所有遠端 PE 分配的所有 End.DT2M SID,此例中只有PE 2。(2)PE 1 根據 SRv6 BE 或 SRv6 TE 方式為報文封裝 IPv6 報文頭,然后查找 IPv6 路由表將報文發送到 PE 2。如果存在多個遠端 PE,則會將報文復制多份并為報文封裝不同的 IPv6 報文頭,然后查表發給多個遠端 PE。(3)PE
231、2 接收到報文后,對報文解封裝,去掉 IPv6 報文頭,根據 End.DT2M SID 找到關聯的 VSI實例,在 VSI 實例內查找綁定的 VXLAN 隧道,然后為報文進行 VXLAN 封裝,通過 VXLAN隧道發送給 PE 3。如果存在多個遠端 PE,則會對報文進行復制并進行 VXLAN 封裝,然后通過多個 VXLAN 隧道將報文轉發到遠端 PE。(4)PE 3 接收到報文后,對報文解封裝,根據 VXLAN 報頭中的 VXLAN ID 找到關聯的 VSI,在該 VSI 實例內進行廣播,即通過 VSI 實例關聯的所有 AC 將報文轉發到 CE。以 CE 2 側發送未知單播報文為例,報文轉發過
232、程為:(1)PE 3 從 AC 收到 CE 2 發送的 BUM 報文后,在 AC 關聯的 VSI 的 MAC 地址表中未找到匹配的 MAC 地址表項,則在該 VXLAN 內除接收接口外的所有本地 AC 口和 VXLAN 隧道轉發該報文。(2)PE 3 為報文進行 VXLAN 封裝,并通過 VXLAN 隧道將報文發送給遠端 PE 2。如果存在多個遠端 PE,則會對報文進行復制并進行 VXLAN 封裝,然后通過多個 VXLAN 隧道將報文轉發到遠端 PE。(3)PE 2 接收到報文后,對報文進行解封裝,根據 VXLAN 報頭中的 VXLAN ID 找到關聯的 VSI,并在該 VSI 實例內查找所有
233、遠端 PE 分配的所有 End.DT2M SID,此例中只有 PE 1。(4)PE 2 根據 SRv6 BE 或 SRv6 TE 方式為報文封裝 IPv6 報文頭,然后查找 IPv6 路由表將報文發送到 PE 1。如果存在多個遠端 PE,則會將報文復制多份并為報文封裝不同的 IPv6 報文頭,然后查表發給多個遠端 PE。(5)PE 1 接收到報文后,對報文解封裝,去掉 IPv6 報文頭,根據 End.DT2M SID 找到關聯的 VSI實例,在該 VSI 實例內進行廣播,即通過 VSI 實例關聯的所有 AC 將報文轉發到 CE。1 7 參考文獻參考文獻 RFC 7432:BGP MPLS-Ba
234、sed Ethernet VPN draft-ietf-bess-evpn-overlay:A Network Virtualization Overlay Solution using EVPN draft-ietf-bess-evpn-prefix-advertisement:BGP MPLS-Based Ethernet VPN draft-ietf-bess-evpn-igmp-mld-proxy:IGMP and MLD Proxy for EVPN draft-boutros-l2vpn-vxlan-evpn:VXLAN DCI Using EVPN draft-ietf-bess-srv6-services:SRv6 BGP based Overlay services