# EVPN(Ethernet VPN) ## 定義 EVPN(Ethernet VPN)は、BGP を制御プレーンとして使い、MPLS や [[ネットワーク仮想化|VXLAN 等の NVO(Network Virtualization Overlay)]]トンネル上でマルチホーミング対応の L2 VPN を構築する技術である。ベース仕様は RFC 7432(BGP MPLS-Based Ethernet VPN)、NVO(VXLAN/NVGRE)上への拡張は RFC 8365 で定義される。EVPN は複数の PE(Provider Edge)が同一テナントシステムへ Ethernet Segment 経由でマルチホーム接続する構成を、BGP の Route Type によって集約的に管理する点が特徴で、従来の VPLS が抱えていたデータプレーン学習(flood-and-learn)への依存を、BGP 制御プレーンでの MAC/IP アドバタイズに置き換える。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§1) ## Route Type ファミリー EVPN は BGP NLRI 上に複数の Route Type を定義し、それぞれが異なる制御情報を運ぶ。 - **Route Type 2(MAC/IP Advertisement Route)**: ホストの MAC アドレスと(オプションで)IP アドレスを広告する。[[EVPNにおける統合ルーティングとブリッジング(IRB)]]では、このルートに IP-VRF 用ラベル(Label2)を追加で載せるかどうかが Symmetric IRB と Asymmetric IRB を分ける鍵になる。 - **Route Type 5(IP Prefix Route、RFC 9136)**: テナントシステム背後のサブネットプリフィックスを広告する。Gateway Address フィールドを介して Route Type 2 へ再帰的に解決される。 BGP 拡張コミュニティとして、トンネル種別を示す Encapsulation Extended Community(RFC 9012)や、RFC 9135 が新規定義する EVPN Router's MAC Extended Community(内側 MAC 宛先アドレスとして PE の MAC を運ぶ)が使われる。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§3, §8) ## L2 から L3 への拡張としての IRB EVPN は本来 L2 マルチホーミング VPN として設計されたが、サブネットをまたぐテナントシステム間通信には従来型の集中 L3 ゲートウェイが必要であり、同一 PE 配下の異なるサブネット間通信でさえ集中ゲートウェイへのバックホールが発生していた。RFC 9135 が定義する[[EVPNにおける統合ルーティングとブリッジング(IRB)]]は、各 PE 自身がルーティングを行うことでこの非効率を解消する、EVPN の L2→L3 拡張である。あわせて[[分散エニーキャストゲートウェイ]]の仕組みにより、どの PE がデフォルトゲートウェイとして応答してもホスト側の設定を変えずに済む。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§1, §4) ## 他のオーバーレイ技術との関係 EVPN 自体はトンネルカプセル化の方式ではなく BGP 制御プレーンであり、データプレーンとして MPLS・VXLAN・NVGRE のいずれの上にも展開できる。[[ネットワーク仮想化]]が扱う VXLAN は L2 フレームを UDP/IP にカプセル化するデータプレーン技術だが、その上でどの PE がどの MAC/IP を持つかを効率的に配布する制御プレーンとして EVPN(RFC 8365)が使われる、という役割分担になる。この点で EVPN は、[[MPLS]]が担ってきた L2/L3 VPN の構築を BGP ベースの制御プレーンで統一的に扱う後継技術と位置づけられる。 Ethernet のフラッディング依存を解消するという同じ問題に対し、2008年の[[一hopDHTによるEthernetスケーラビリティ|SEATTLE]]はフラットアドレッシングを維持したままハッシュベースの分散ディレクトリ(一hop DHT)でホスト箇所を解決するアプローチを採った。EVPN/VXLAN はこれとは異なり、L2 フレームを L3 オーバーレイにカプセル化し、BGP でルート情報を配布する。両者は「Ethernet ブリッジングのフラッディングとスパニングツリー依存を排する」という同一の問題意識から出発しながら、制御プレーンの設計原理(オンデマンドのハッシュ解決 対 プロアクティブな BGP アドバタイズ)が根本的に異なる。(Source: [[一hopDHTによるEthernetスケーラビリティ]], [[@2008__SIGCOMM__Floodless in SEATTLE - A Scalable Ethernet Architecture for Large Enterprises]]) ## 標準化の経緯 EVPN 関連 RFC は [[IETF]] の BGP Working Group から一連の仕様として発行されており、[[Cisco]]の [[Ali Sajassi]]が RFC 7432(ベース仕様)・RFC 9135(IRB)など複数の中核仕様で筆頭著者を務めている。 ## 出典 - [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] — EVPN 上の IRB(Symmetric/Asymmetric)、分散エニーキャストゲートウェイ、ホストモビリティを定義する RFC。 - [[@2008__SIGCOMM__Floodless in SEATTLE - A Scalable Ethernet Architecture for Large Enterprises]] — 一hop DHT ベースの代替アプローチとの対比。