乙太網路 VPN (EVPN) 是用於「網路虛擬化覆疊 (NVO)」的標準型 BGP 分散式控制平面,它透過 IP 或 IP/MPLS 底層網路提供第 2 層 (橋接) 和第 3 層 (路由) 連線。BGP EVPN 最初設計為與 MPLS 數據平面搭配使用,以解決服務提供者網路中的 VPLS 限制。但是,基於 BGP 擴充性和彈性方面的優勢,EVPN 在資料中心廣泛作為 VXLAN 覆疊網路的控制平面機制。

BGP EVPN 的一些主要特性和優點包括:

  • 以 BGP 為基礎的控制平面可學習第 2 層和第 3 層端點主機的連線性資訊。這取代了 VXLAN、SPB 和 Trill 等舊版 L2VPN 解決方案的洪泛和學習行為。

  • ARP 抑制可最大程度地減少不必要的 ARP 和 ND 訊息洪泛。

  • 可支援「僅橋接」和/或「整合的路由和橋接」。

  • 支援 MAC 和 IP 移動性以及多宿主。

MP-BGP EVPN 位址家族

為 EVPN 定義了新的 MP 位址家族指示器/後續位址家族指示器 (AFI/SAFI):l2vpn (25) /evpn (70)。為了讓兩個 BGP Speaker 交換 EVPN 網路層連線性資訊 (NLRI),它們必須在 BGP 工作階段開始時交涉 EVPN BGP 功能,以確保兩個對等都可以支援此類 NLRI。

路由辨別碼和路由目標

BGP EVPN 使用與其他 BGP VPN 技術相同的機制,來確保唯一性和多租戶:

機制 說明

路由辨別碼 (RD)

  • 用於 EVPN 中,讓位址維持全域唯一性。

  • RFC 4364 中定義的相同編碼適用於 BGP EVPN。

  • RD 類型 0 具有 2 個位元組的 [管理員] 子欄位和 4 個位元組的 [獲指派的編號] 子欄位。[管理員] 子欄位必須包含一個自發系統編號。

  • RD 類型 1 具有 4 個位元組的 [管理員] 子欄位和 2 個位元組的 [獲指派的編號] 子欄位。[管理員] 子欄位必須包含一個 IP 位址。

路由目標 (RT)

  • 用於 EVPN 中,以視需要匯入及匯出 RT 來指出虛擬網路成員資格。

EVPN 路由類型

EVPN NLRI 可依以下路由類型進一步分類:

路由類型 說明 用途 NSX 內嵌模式 NSX 路由伺服器模式

類型 1 (RT-1)

乙太網路自動探索 (A-D) 路由

用於資料中心中,以支援 EVPN 作用中/作用中多宿主。

是 (僅接收 DC-GW 多宿主)

類型 2 (RT-2)

MAC/IP 通告路由

通告特定 MAC 位址的連線性,以及選擇性通告 MAC 和 IP 位址繫結。

類型 3 (RT-3)

包含多點傳播乙太網路標籤路由

通告虛擬網路中與特定 VTEP 相關聯之 VNI 的連線性。

需要類型 3 路由,才能在 EVPN 網路之間傳遞 BUM 流量。

類型 4 (RT-4)

乙太網路區段路由

用於具有多宿主端點的資料中心中,用來選取指定的轉寄站,以確保只有其中一個 VTEP 會轉送 BUM 流量。

類型 5 (RT-5)

IP 首碼路由

通告 IPv4 和 IPv6 首碼連線性。在 EVPN 網域中通告首碼,以便能夠建置類似 L3VPN 的服務。

類型 6 (RT-6)

選擇性多點傳播乙太網路標籤路由

用來通告主機或虛擬機器接收特定多點傳播群組 (*,G) 或來源群組組合 (S,G) 的多點傳播流量意向。

虛擬路由和轉送

虛擬路由和轉送 (VRF) 可以將路由器內隔離的路由表和轉送表具現化。這些路由表和轉送表執行個體會將第 3 層網域與區段彼此隔離,從而在本機路由器內部或多個路由器之間,建立一個多承租人網路。

藉由部署第 0 層 VRF 閘道,可在 NSX 中支援 VRF。第 0 層 VRF 閘道必須連結至父系第 0 層閘道,並繼承某些第 0 層設定,例如 HA 模式、Edge 叢集、內部傳輸子網路、T0-T1 傳輸子網路和 BGP 本機 ASN。

可以在同一個父系第 0 層下,建立多個第 0 層 VRF 閘道,從而允許將區段和第 1 層閘道區隔為多個隔離的承租人。對於第 0 層 VRF 閘道,承租人可以使用重疊的 IP 位址,而不會相互干擾或通訊。

在 EVPN 環境中,每個第 3 層 VRF 都有一個全域唯一的虛擬網路識別碼 (VNI) 作為識別。NSX Edge 節點和資料中心閘道中每個 VRF 的 VNI 必須相符。

VXLAN 封裝和 VNI

依據 RFC7348 中的定義,VXLAN 封裝用於 NSX 通道端點 (內嵌模式的 Edge 節點和路由伺服器模式的 Hypervisor) 和外部路由器之間,以確保數據平面與其他廠商相容。在 NSX 網域中,仍使用 GENEVE 封裝。

VXLAN 封裝的框架包含外部乙太網路標頭、外部 IP 標頭、外部 UDP 標頭、VXLAN 標頭和內部乙太網路框架。

VNI 是 24 位元識別碼,用來識別特定的虛擬網路區段。當使用 EVPN,藉由使用路由類型 5 和封裝類型 VXLAN 來通告 IP 首碼連線性時,VNI 可作為承租人 VRF 執行個體的識別。根據 RFC9135 中的定義,此 VNI 會連同首碼路由,一起通告於 BGP 控制平面中,並在數據平面封裝中用來區分 VRF 之間的流量。NSX Edge 節點和資料中心閘道中每個 VRF 的 VNI 必須相符。

每個 VRF 執行個體都有自己的 VXLAN VNI。