はじめに
前回の記事では、VXLAN/EVPNを理解するために必要な用語について解説しました。
今回はその続編として、VXLAN/EVPNの仕組みをもう少し掘り下げて整理します。
特に、以下の技術要素を中心に解説します。
- Spine-Leafアーキテクチャ
- MP-BGP EVPNのルートタイプ
- L2 VNIとL3 VNI
- RD(Route Distinguisher)とRT(Route Target)
- BUMトラフィックの転送方式
- Distributed Anycast Gateway
VXLAN/EVPNの仕組みについて
VXLAN/EVPNの技術的な仕組みについては、以下のサイトで非常にわかりやすく解説されています。
特に、第1章から第7章までの内容が参考になります。
VXLAN EVPN - RAYKA (are you a network engineer?)
本記事では、筆者が学習した内容を講義ノートのような形式で整理しています。
各技術要素の概要を把握したうえで、上記サイトの解説を読むことで、より理解を深められると思います。
1. Spine-Leafアーキテクチャ
1.1 Spine-Leaf構成の特徴
Spine-Leafは、データセンターネットワークで広く採用されているネットワークアーキテクチャです。
一般的な構成には、以下の特徴があります。
- すべてのLeafスイッチを、すべてのSpineスイッチに接続する。
- 原則として、Leafスイッチ同士は直接接続しない。
- 通常、Spineスイッチ同士も直接接続しない。
- 異なるLeafスイッチ間の通信は、Spineスイッチを経由する。
- 複数のSpineスイッチを使用することで、ECMP(Equal-Cost Multi-Path)による負荷分散が可能となる。
典型的な構成では、異なるLeafスイッチに接続されたエンドポイント間の通信は、以下の経路を通ります。
Server A
|
Leaf 1
|
Spine
|
Leaf 2
|
Server B
Leaf 1 → Spine → Leaf 2の3台のネットワーク機器を経由する構成です。
ただし、同じLeafスイッチに接続されたエンドポイント間の通信では、Spineスイッチを経由する必要はありません。
また、Spineスイッチが複数存在する場合、UnderlayネットワークでECMPを利用することで、複数経路へのトラフィック分散が可能です。
1.2 スケールアウトによる拡張性
Spine-Leaf構成の大きな特徴は、スケールアウトによる拡張性です。
ネットワークの帯域幅が不足した場合、Spineスイッチを追加することで、ファブリック全体の帯域容量を拡張できます。
- スケールアウト: 機器の台数を増やして、システム全体の処理能力を向上させる方式
- スケールアップ: 個々の機器を高性能なものに変更して、処理能力を向上させる方式
ただし、Spineスイッチを無制限に増設できるわけではありません。
Leafスイッチのポート数、Underlayネットワークの設計、機器性能などによる制約があります。
2. MP-BGP EVPNとルートタイプ
2.1 MP-BGP EVPNの役割
VXLAN/EVPNでは、コントロールプレーンとしてMP-BGPを使用します。
MP-BGP EVPNを利用することで、VTEP間でMACアドレスやIPアドレス、VNIなどの情報を交換できます。
従来のL2ネットワークでは、MACアドレスを学習するためにフラッディングが必要になる場合があります。
一方、EVPNではBGPを使用してリモートエンドポイントの情報を配布できるため、不要なフラッディングの抑制が期待できます。
MP-BGP EVPNでは、BGPのMP_REACH_NLRIなどの属性を利用し、EVPNの経路情報を伝達します。
EVPNのNLRIには複数のルートタイプが定義されており、それぞれ異なる役割を持ちます。
2.2 EVPNのルートタイプ
EVPNを理解するうえで、特に重要なのがルートタイプです。
代表的なルートタイプ1~5を整理します。
| ルートタイプ | 名称 | 主な役割 |
|---|---|---|
| Type 1 | Ethernet Auto-Discovery Route | マルチホーミングにおける経路検出、冗長化、障害時の高速切り替え |
| Type 2 | MAC/IP Advertisement Route | エンドポイントのMACアドレスおよびIPアドレスの通知 |
| Type 3 | Inclusive Multicast Ethernet Tag Route | 同じL2ネットワークに参加するVTEPの検出、BUMトラフィックの転送先情報の交換 |
| Type 4 | Ethernet Segment Route | マルチホーミング環境におけるEthernet Segmentの検出やDF選出 |
| Type 5 | IP Prefix Route | IPプレフィックスの通知 |
一般的なVXLAN/EVPN構成では、特にType 2、Type 3、Type 5が重要です。
なお、Cisco製品でも、EVPNマルチホーミングなどの機能ではType 1やType 4を使用します。
実際に利用できるルートタイプや機能は、機種・OSバージョン・構成によって異なります。
2.3 Route Type 2:MAC/IP Advertisement Route
Type 2は、エンドポイントのMACアドレスやIPアドレスを通知するためのルートタイプです。
例えば、以下の構成を考えます。
- Leaf 1にServer Aが接続されている。
- Server AのMACアドレスは
00:11:22:33:44:55。 - Server AのIPアドレスは
192.168.10.10。 - 対象のL2 VNIは
10010。
Leaf 1は、MP-BGP EVPNを使用して、Server Aに関するMAC/IP情報を他のVTEPへ通知します。
これにより、Leaf 2は以下の情報を把握できます。
- Server AのMACアドレス
- Server AのIPアドレス(広告される場合)
- Server Aが所属するL2ネットワーク
- Server Aに到達するためのリモートVTEP
つまり、Leaf 2はServer Aから直接フレームを受信していなくても、EVPNを通じてリモートエンドポイントの情報を学習できます。
これが、EVPNによるMACアドレス学習の重要な仕組みです。
2.4 Route Type 3:Inclusive Multicast Ethernet Tag Route
Type 3は、BUMトラフィックの転送に必要なVTEPの参加情報などを通知するために使用されます。
BUMとは、以下のトラフィックを指します。
- Broadcast
- Unknown Unicast
- Multicast
例えば、同一VNIに所属するLeafスイッチが複数存在する場合、BUMトラフィックを適切なLeafスイッチへ転送する必要があります。
Type 3を利用することで、対象のL2ネットワークに参加するVTEPを検出し、BUMトラフィックの転送に必要な情報を交換できます。
具体的な転送方式については後述します。
2.5 Route Type 4:Ethernet Segment Route
Type 4は、主にEVPNマルチホーミング環境で使用されます。
マルチホーミングとは、1台のサーバーやネットワーク機器を複数のLeafスイッチに接続する構成です。
この構成では、ループやトラフィックの重複転送を防止する仕組みが必要です。
Type 4は、同一Ethernet Segmentに接続されたEVPNノードの検出や、Designated Forwarder(DF)の選出などに利用されます。
なお、Type 1もマルチホーミングにおける高速収束や負荷分散などに使用されます。
2.6 Route Type 5:IP Prefix Route
Type 5は、IPプレフィックスを通知するためのルートタイプです。
例えば、あるLeafスイッチが以下のネットワークへの到達性を持っているとします。
192.168.100.0/24
このプレフィックスをType 5で広告することで、他のVTEPがIP経路情報を学習できます。
Type 2が主にエンドポイント単位のMAC/IP情報を扱うのに対し、Type 5はIPプレフィックス単位の経路通知に使用されます。
外部ネットワークへの経路や、テナント内のIP経路の通知などにも利用できます。
3. L2 VNIとL3 VNI
VXLANでは、VNI(VXLAN Network Identifier)を使用して論理ネットワークを識別します。
VNIには、大きく分けてL2 VNIとL3 VNIがあります。
| 項目 | L2 VNI | L3 VNI |
|---|---|---|
| 主な用途 | L2セグメントの延伸 | テナント単位のL3通信 |
| 対応する論理ネットワーク | VLAN / Bridge Domain | VRF |
| 転送対象 | Ethernetフレーム | ルーティングされたトラフィック |
| 主な役割 | 同一サブネット間の通信 | 異なるサブネット間の通信 |
3.1 L2 VNI
L2 VNIは、異なるVTEPに接続されている同一L2セグメント間の通信を実現するために使用します。
例えば、Leaf 1とLeaf 2に接続されたサーバーが、同じVLANに所属している場合です。
VXLANを使用することで、物理的にはL3ネットワークを経由しながら、同じL2ネットワークに接続されているかのように通信できます。
3.2 L3 VNI
L3 VNIは、VRFに対応するVNIです。
VXLAN/EVPNで異なるサブネット間のルーティングを実現する際に使用します。
特に、Symmetric IRB(Integrated Routing and Bridging)構成では、VTEP間でルーティングされたトラフィックを転送するためにL3 VNIが使用されます。
なお、VXLAN/EVPNのL3通信には複数の実装方式があるため、すべての構成でL3 VNIが必須というわけではありません。
4. RD(Route Distinguisher)とRT(Route Target)
VXLAN/EVPNを理解するうえで、RDとRTの違いは非常に重要です。
両者は似た場面で登場しますが、役割は明確に異なります。
4.1 RDの役割
RDはRoute Distinguisherの略称です。
RDは、異なるVPNインスタンスで重複する経路情報を区別し、BGP上で一意に識別できるようにするために使用されます。
例えば、以下の構成を考えます。
- VRF-A:
192.168.10.0/24 - VRF-B:
192.168.10.0/24
異なるテナントで同じIPアドレス空間を使用している場合でも、それぞれの経路を区別する必要があります。
そこでRDを使用します。
例:
VRF-A
RD: 10.0.0.1:100
Network: 192.168.10.0/24
VRF-B
RD: 10.0.0.1:200
Network: 192.168.10.0/24
このようにRDを付与することで、同じアドレスを持つ経路であっても、BGP上で区別できます。
RDは、MAC-VRFやIP-VRFなどに対して設定されます。
なお、RDの自動生成規則は機器や実装によって異なります。
4.2 RTの役割
RTはRoute Targetの略称です。
RDが経路を一意に識別するための情報であるのに対し、RTは経路のインポート・エクスポートを制御するための情報です。
RTはBGP Extended Communityとして経路に付加されます。
主に以下の2種類があります。
- RT Export: 経路を広告する際に付加するRT
- RT Import: 受信した経路を取り込むかどうかを判断するためのRT
例えば、以下の構成を考えます。
Leaf 1
VRF-A
RT Export: 65000:100
Leaf 2
VRF-A
RT Import: 65000:100
Leaf 1が経路を広告する際に、65000:100というRTを付加します。
Leaf 2では、受信した経路のRTが自身のImport RTと一致するため、所定のVRFへ経路をインポートできます。
一方、Import RTが一致しなければ、通常、その経路は対象VRFにインポートされません。
なお、RTはIP-VRFだけでなく、L2 VNIに対応するMAC-VRFの経路制御にも使用されます。
4.3 RDとRTの違い
| 項目 | RD | RT |
|---|---|---|
| 正式名称 | Route Distinguisher | Route Target |
| 目的 | 経路を一意に識別 | 経路のインポート・エクスポートを制御 |
| 主な用途 | 重複するアドレス情報の区別 | VPNインスタンス間の経路配布 |
| BGPでの扱い | EVPN NLRIに含まれる | Extended Communityとして付加される |
RDとRTは混同しやすいですが、以下のように整理すると理解しやすいです。
- RD:その経路が「どの経路なのか」を識別する。
- RT:その経路を「どのVPNインスタンスに取り込むのか」を制御する。
なお、Cisco NX-OSでは、RDやRTを自動設定する機能も提供されています。
自動生成される値は、機種、OSバージョン、設定方式などによって異なるため、実際の構築時には確認が必要です。
5. BUMトラフィックの転送方式
VXLANネットワークでは、BUMトラフィックを複数のVTEPへ転送する必要があります。
その方法として、代表的なものが以下の2種類です。
5.1 Underlay Multicast方式
UnderlayネットワークでIPマルチキャストを利用する方式です。
一般的には、PIMなどのマルチキャストルーティング機能を使用します。
基本的な動作は以下のとおりです。
- L2 VNIに対応するマルチキャストグループを設定する。
- 対象VNIに参加するVTEPが、そのマルチキャストグループに参加する。
- BUMトラフィックが発生すると、送信元VTEPがVXLANでカプセル化する。
- Underlayネットワークのマルチキャスト転送機能を利用して、必要なVTEPへ転送する。
この方式では、Underlayネットワークがトラフィックの複製処理を担当します。
そのため、多数のVTEPにBUMトラフィックを配送する場合、送信元VTEPの複製負荷を軽減できます。
ただし、Underlayネットワークでマルチキャストルーティングを構成・運用する必要があります。
なお、マルチキャストグループとVNIは必ずしも1対1で対応する必要はなく、設計によっては複数のVNIで同じグループを共有できます。
5.2 Ingress Replication方式
Ingress Replicationは、送信元VTEPでBUMトラフィックを複製し、各リモートVTEPへユニキャストで転送する方式です。
基本的な動作は以下のとおりです。
- MP-BGP EVPNなどを使用して、同じL2 VNIに参加するリモートVTEPを把握する。
- BUMトラフィックが発生すると、送信元VTEPでパケットを複製する。
- 対象となる各リモートVTEPへ、ユニキャストで転送する。
Cisco NX-OSでは、BGPを利用したIngress Replicationを構成できます。
この方式では、Underlayネットワークでマルチキャストルーティングを有効にする必要がありません。
そのため、Underlayネットワークの構成を比較的シンプルにできます。
一方、参加するVTEPの数が増えると、送信元VTEPで複製するパケット数も増加します。
5.3 2つの転送方式の比較
| 項目 | Underlay Multicast | Ingress Replication |
|---|---|---|
| BUMトラフィックの複製 | Underlayネットワーク | 送信元VTEP |
| Underlayのマルチキャスト設定 | 必要 | 不要 |
| VTEP側の複製負荷 | 比較的小さい | 宛先VTEP数に応じて増加 |
| 構成の複雑さ | マルチキャスト設計が必要 | 比較的シンプル |
| 主な考慮事項 | PIMなどの運用 | VTEP数・BUMトラフィック量 |
どちらの方式が適しているかは、ネットワーク規模や機器性能、運用要件などによって異なります。
必ずしもUnderlay Multicast方式が優れているわけではありません。
6. Distributed Anycast Gateway
6.1 Anycastとは
Anycastとは、複数のノードで同じIPアドレスを使用し、経路選択によっていずれかのノードへ通信を転送する仕組みです。
通常のルーティングにおけるAnycastでは、IGPやBGPなどの経路情報に基づいて、宛先への転送経路が決定されます。
必ずしも物理的に最も近い機器へ転送されるわけではなく、ルーティング上の最適経路が選択されます。
VXLAN/EVPNでは、この考え方を利用したDistributed Anycast Gatewayが重要な役割を果たします。
6.2 Distributed Anycast Gatewayの特徴
Distributed Anycast Gatewayでは、複数のLeafスイッチに同じデフォルトゲートウェイのIPアドレスとMACアドレスを設定します。
例えば、以下の構成を考えます。
Leaf 1
VLAN 10
Gateway IP : 192.168.10.1
Gateway MAC: 0000.1111.2222
Leaf 2
VLAN 10
Gateway IP : 192.168.10.1
Gateway MAC: 0000.1111.2222
各Leafスイッチで、VLAN 10のゲートウェイIPアドレスとMACアドレスを共通化しています。
この仕組みにより、エンドポイントは、どのLeafスイッチに接続されても同じデフォルトゲートウェイを使用できます。
ここで重要なのは、同じIPアドレスを持つゲートウェイが複数存在することを前提とした、分散ゲートウェイの設計になっている点です。
通常のIPアドレス重複とは異なり、VXLAN/EVPNのDistributed Anycast Gatewayでは意図的に同じゲートウェイアドレスを使用します。
6.3 従来のネットワークとの違い
従来のネットワークでは、異なるVLAN間の通信を行う際、集約スイッチなどのL3ゲートウェイを経由する構成が一般的でした。
例えば、同じアクセススイッチに接続された2台のサーバーが異なるVLANに所属している場合、上位のL3スイッチまで通信が転送されることがあります。
一方、Distributed Anycast Gatewayを採用したSpine-Leaf構成では、Leafスイッチ自身がL3ゲートウェイとして機能します。
そのため、同じLeafスイッチに接続されたエンドポイント間であれば、ローカルのLeafスイッチでVLAN間ルーティングを完結できます。
異なるLeafスイッチに接続されたエンドポイント間では、宛先に応じてVXLANによるカプセル化と転送が行われます。
このように、ルーティング機能を各Leafスイッチに分散させることで、特定の集約スイッチにトラフィックが集中することを回避できます。
6.4 エンドポイントの移動に対応できる理由
Distributed Anycast Gatewayの大きな利点の一つは、エンドポイントの移動に対応しやすいことです。
例えば、Server AをLeaf 1からLeaf 2へ移動したとします。
従来の構成では、接続先の変更によってデフォルトゲートウェイやネットワーク設定の変更が必要になる場合があります。
一方、Distributed Anycast Gatewayでは、同じL2セグメントに対応するゲートウェイIPアドレスとMACアドレスが各Leafスイッチで共通化されています。
そのため、Server Aは、接続先のLeafスイッチが変わっても、同じデフォルトゲートウェイを使用し続けることができます。
さらに、EVPNではMAC/IP経路情報の更新によって、エンドポイントの新しい接続先を他のVTEPへ通知できます。
つまり、以下の2つの仕組みを組み合わせることで、エンドポイントの移動に対応します。
- Distributed Anycast GatewayによるゲートウェイIP/MACアドレスの共通化
- MP-BGP EVPNによるエンドポイントの接続先情報の更新
ただし、エンドポイントの移動によって同じIPアドレスを維持するには、移動先でも対象のL2セグメントが利用できる必要があります。
7. まとめ
今回は、VXLAN/EVPNの動作を理解するために重要な技術要素を整理しました。
特に押さえておきたいポイントは、以下のとおりです。
| 技術要素 | ポイント |
|---|---|
| Spine-Leaf | ECMPやスケールアウトによる拡張性 |
| MP-BGP EVPN | MAC/IPアドレスなどの経路情報を交換するコントロールプレーン |
| Route Type 2 | MAC/IPアドレスの通知 |
| Route Type 3 | BUMトラフィックの転送に必要なVTEP参加情報などの通知 |
| Route Type 5 | IPプレフィックスの通知 |
| L2 VNI | L2セグメントの識別 |
| L3 VNI | VRFに対応するL3通信の識別 |
| RD | BGP経路の一意性を確保 |
| RT | 経路のインポート・エクスポートを制御 |
| Distributed Anycast Gateway | 各Leafスイッチにゲートウェイ機能を分散 |
これらの仕組みを理解しておけば、実際にVXLAN/EVPNのConfigurationを確認した際にも、それぞれの設定がどのような役割を果たしているのか把握しやすくなります。
次回は、Cisco Modeling Labs(CML)を利用して、実際にVXLAN/EVPNネットワークを構築します。