次に、VMware vMotion を使用して、仮想マシンをデータ センター 1 の Server 1 に移動しましょう。MAC アドレス 00:50:56:8c:76:67 は、今度 は PE11 インターフェイス ae0.100 に対してローカルになります。
cse@PE11> show evpn mac-table 00:50:56:8c:76:67
MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC O -OVSDB MAC, SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : EVPN-1
Bridging domain : __EVPN-1__, VLAN : 100
MAC MAC Logical NH RTR address flags interface Index ID 00:50:56:8c:76:67 D ae0.100
PE11 では、PE21 と PE22 からの MAC アドバタイズメント ルートが取り消 されていることがわかります。PE 12 からの単一の MAC ルートのみが受け 入れられ、無視されます。
cse@PE11> show route table EVPN-1.evpn.0 evpn-mac-address 00:50:56:8c:76:67 EVPN-1.evpn.0: 18 destinations, 18 routes (18 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both
2:11.11.11.11:1::100::00:50:56:8c:76:67/304 *[EVPN/170] 00:02:13 Indirect
2:12.12.12.12:1::100::00:50:56:8c:76:67/304
*[BGP/170] 00:02:11, localpref 100, from 1.1.1.1 AS path: I, validation-state: unverified
> to 10.11.12.12 via ae1.0, label-switched-path from-11-to-12 2:11.11.11.11:1::100::00:50:56:8c:76:67::100.1.1.10/304
*[EVPN/170] 00:02:12 Indirect
デフォルト ゲートウェイの同期
アウトバウンド ルーティングは、EVPN VLAN、またはデータ センターの ホストから送信されるトラフィック フローを参照します。データ センター 間を仮想マシンが容易に移動できる環境では、デフォルト ゲートウェイの 同期と呼ばれる機能によって、VM のローカルである PE が常にアウトバ ウンド トラフィックのルーティングを行います。これにより、データ セン ターからリモートのすべての宛先へのルーティングが最適化され、移行し た仮想マシンの元のデフォルト ゲートウェイにトラフィックを中継する必 要がなくなります。
アウトバウンド ルーティングの最適化は、最初に EVPN に関連付けられた VLAN(ブリッジ ドメイン)上で IRB インターフェイスを構成することで 実行できます。次に、この IRB インターフェイスは IP VPN に関連付けら れます。IRB インターフェイスがデフォルト ゲートウェイとして使用され ているため、ホストは IP VPN のフォワーディング テーブル(VRF)を使 用してすべての到達可能な宛先にルーティングすることができます。以下 の「VLAN 間ルーティング」セクションでもわかるように、EVPN PE がリ モート マルチホーム EVPN PE を使用して到達可能な宛先にトラフィッ クをルーティングする場合、EVPN と IP VPN の統合によってエイリアシン グの使用も可能になります。
ラボの例 - デフォルト ゲートウェイの同期
ラボ トポロジーの 4 つの VLAN(100、200〜202)はそれぞれ IRB イン ターフェイスを使用して構成されています(「第 2 章 構成 - サービス」で説 明済み)。これらの IRB インターフェイスは、それぞれ IPVPN-1 という名 前の共通 IP VPN に配置されています。PE31 も IPVPN-1 のメンバーで、リ モート サイトへの接続を提供します。したがって、EVPN VLAN のホスト は互いに、そしてリモート サイトにある宛先と通信できます。
IRB インターフェイスが構成されると、その MAC/IP バインディングが、
デフォルト ゲートウェイ拡張コミュニティを含む EVPN MAC/IP アドバタ イズメント ルートを通じて他のすべての PE に送信されます。この特別な アドバタイズメントが、PE 間でデフォルト ゲートウェイの情報を「同期」
させる方法です。
すべての PE で VLAN 100 IRB 用に同じ MAC/IP アドレスが設定されてい る EVI EVPN-1 の構成を思い出してください。この場合、デフォルト ゲー トウェイの情報が原則として静的に同期されているため、MAC/IP バイン ディングをアドバタイズする必要はありません。routing-instances 構成 の下に evpn default-gateway do-not-advertise パラメータを設定する と、アドバタイズメントは抑制されます。例えば、PE11 には、デフォルト ゲー トウェイ アドレス 100.1.1.1 に対応する MAC/IP バインディングを使用して 受信された MAC/IP アドバタイズメント ルートはありません。
cse@PE11> show route table EVPN-1.evpn.0 | match “100.1.1.1/”
しかし、PE11 は EVPN-2 の 3 つの VLAN にあるデフォルト ゲートウェイ に対応する MAC/IP アドバタイズメント ルートを受信します。
cse@PE11> show route table EVPN-2.evpn.0 | match “200.1.1.1/”
2:22.22.22.22:2::200::00:00:c8:01:01:01::200.1.1.1/304 cse@PE11> show route table EVPN-2.evpn.0 | match “201.1.1.2/”
2:22.22.22.22:2::201::00:00:c9:01:01:02::201.1.1.2/304 cse@PE11> show route table EVPN-2.evpn.0 | match “202.1.1.1/”
2:22.22.22.22:2::202::00:00:ca:01:01:01::202.1.1.1/304
EVI EVPN-2 では、VLAN 201 が各データ センターで異なるデフォルト ゲートウェイ アドレスを使用して構成されています。その結果、PE11 は データ センター 2 にある PE ルーターのデフォルト ゲートウェイ情報を含 む、VLAN 201 に関する MAC/IP アドバタイズメント ルートを受け入れま す。これにより、PE11 は、リモート PE の MAC アドレスに応答しながら、
リモート PE の IRB インターフェイスのデフォルト ゲートウェイ IP アドレ スに対してのプロキシ ARP を実行できます。PE11 は、学習したデフォル ト ゲートウェイの MAC アドレス向けのパケットもルーティングします。
PE21 は、EVPN-2 VLAN 201 の PE11 と PE12 から受信した MAC/IP アド バタイズメント ルートに基づき、同様に動作します。
CLI では、PE11 に PE21 と PE22 の VLAN 201 IRB インターフェイスで構成 されている MAC アドレス 00:00:c9:01:01:02 が設定されていることを確 認できます。
cse@PE11> show bridge evpn peer-gateway-macs Routing instance : EVPN-2
Bridging domain : V201, VLAN : 201 Installed GW MAC addresses:
00:00:c9:01:01:02
同様に、PE21 には PE11 と PE12 の VLAN 201 IRB インターフェイスで構成 されている MAC アドレス 00:00:c9:01:01:01 が設定されています。
cse@PE21> show bridge evpn peer-gateway-macs Routing instance : EVPN-2
Bridging domain : V201, VLAN : 201 Installed GW MAC addresses:
00:00:c9:01:01:01
次に、PE11 が PE22 から受け取った VLAN 201 デフォルト ゲートウェイの MAC/IP アドバタイズメント ルートを詳しく見てみましょう。ここには、
EVI EVPN-2 に対応するルート ターゲット、VLAN ID 201、MAC/IP バイン ディング、サービス ラベル、重要な evpn-default-gateway コミュニティ などが含まれています。
cse@PE11> show route table EVPN-2.evpn.0 detail evpn-ethernet-tag-id 201 evpn-mac-address 00:00:c9:01:01:02
EVPN-2.evpn.0: 40 destinations, 40 routes (40 active, 0 holddown, 0 hidden)
<snip>
2:22.22.22.22:2::201::00:00:c9:01:01:02::201.1.1.2/304 (1 entry, 1 announced) *BGP Preference: 170/-101
Route Distinguisher: 22.22.22.22:2 Next hop type: Indirect
Address: 0x95c5868
Next-hop reference count: 37 Source: 1.1.1.1
Protocol next hop: 22.22.22.22
Indirect next hop: 0x2 no-forward INH Session ID: 0x0 State: <Secondary Active Int Ext>
Local AS: 65000 Peer AS: 65000 Age: 1d 22:31:01 Metric2: 2 Validation State: unverified Task: BGP_65000.1.1.1.1+179
Announcement bits (1): 0-EVPN-2-evpn AS path: I (Originator)
Cluster list: 1.1.1.1 Originator ID: 22.22.22.22
Communities: target:65000:2 evpn-default-gateway Import Accepted
Route Label: 300288
ESI: 00:00:00:00:00:00:00:00:00:00 Localpref: 100
Router ID: 1.1.1.1
Primary Routing Table bgp.evpn.0
以下の「ラボの例 - MAC モビリティを使用するインバウンドおよびアウト バウンドのルーティング」セクションでは、デフォルト ゲートウェイの同 期機能を検証します。
VLAN 間ルーティング
EVPN と IP VPN の統合は、異なる PE ルーターに接続された、異なる EVPN VLAN 上のホストまたはデバイス間でトラフィックを効率的にルー ティングするために使用されます。非対称 IRB フォワーディングと呼ばれ る機能を使用すると、受信 PE(ingress PE)が送信元デバイスのデフォル ト ゲートウェイの役割を果たし、パケットを転送する際に、送信 PE(egress PE)の IP VPN VRF でルート ルックアップを実行する必要がありません。
代わりに、送信 PE は宛先ホストの EVI に対応する送信 MAC-VRF でルッ クアップを実行だけで済みます。図 3.2 は、この受信 PE と送信 PE のテー ブル ルックアップ間の「非対称」性を図で示したものです。
受信 PE と送信 PE は、同じデータ センターにある場合も、異なるデータ センターにある場合もあります。さらに、送信 PE がマルチホームであれば、
受信 PE はエイリアシングを使用して宛先へのトラフィックを負荷分散す ることができます。
図 3.2 非対称 IRB フォワーディング 導入
前述の「レイヤー 2 の動作 – MAC 学習」セクションで説明したように、
EVPN PE は ARP スヌーピングなどを通じて MAC/IP バインディングを動 的に学習します。そして、バインディング情報が MAC/IP アドバタイジン グ ルートを使用してリモート PE に送信されます。これを「ホストの MAC/IP の同期」といい、受信 PE に非対称 IRB フォワーディングを導入 するための鍵となります。
では、PE ルーターが新しい MAC/IP バインディングを学習した際に起き るアクションを詳しく見ていきましょう。
PE は、プロトコル タイプ EVPN を使用して IP VPN VRF にホスト
ルートを設定し、VLAN の IRB インターフェイスのネクスト ホップを 設定します。これによって、PE は VPN ルートのアドバタイズメン トを通じて、IP VPN のメンバーであるリモート PE にこのホスト ルートを送信することができます。リモート PE は、このルートをプ ロトコル タイプ BGP を使用して VRF に追加します。
また、PE は MAC/IP アドバタイズメント ルートを通じて MAC/IP バインディングをリモート PE にアドバタイズします。リモート デー タ センター PE は、プロトコル タイプ EVPN を使用して IP VPN VRF に対応するホストを設定します。さらに、MAC-VRF テーブル の MAC アドレス情報と、必要な場合は IP VPN VRF の EVPN ホスト ルートに関連するレイヤー 2 情報も更新します。このレイヤー 2 情 報は、非対称 IRB フォワーディングに使用されます。
これらのアクションの結果、リモート データ センター PE は、2 つのホス ト ルートと異なるプロトコル タイプを使用して IP VPN VRF を設定しま す。1 つ目のルートは、プロトコル タイプ BGP を使用する標準 IP VPN ルー トです。2 つ目のルートは、MAC/IP アドバタイジング ルートの受信結果 によって動的に生成され、プロトコル タイプ EVPN を使用します。
どちらのルートでも受信 PE は宛先ホストにトラフィックを転送できます が、両者には異なる点もあります。BGP ルートは、標準 IP VPN 転送メカ ニズムを使用して到達可能性を実現します。具体的に言うと、VPN ラベル が最初にパケットにプッシュされ、その次に宛先 PE に到達するように転 送ラベルやトンネル ラベルがプッシュされます。
一方、EVPN ルートでは合成ネクスト ホップを使用します。つまり、受信 PE がパケットを転送する前に複数のアクションを実行するということで す。受信 PE は、ルートに関連付けられた MAC/IP アドバタイズメントに 含まれるレイヤー 2 情報を使用して、まずパケットのイーサネット ヘッ ダーを書き換えます。ここでは同時に、宛先 MAC アドレスと VLAN ID が 宛先ホストに対応する値に設定されます。また、通常のルーティング手順 に基づいて、イーサネット ヘッダーの送信元 MAC アドレスがローカル IRB の MAC アドレスに設定されます。
次に、受信 PE は EVPN サービスまたはエイリアシング ラベルに続いて転 送ラベルをプッシュします。EVPN ラベルに従って、送信 PE は宛先 VLAN に対応する EVPN MAC-VRF を使用してパケットを転送します。こ うしてパケットは送信時に IP VPN VRF をバイパスします。さらに、受信 PE によってレイヤー 2 ヘッダーが書き換えられたため、宛先ホストに変 更を加えることなく、宛先 MAC アドレスに基づいてパケットが転送され ます。
データ センター PE では、IP VPN を通じて学習されたプロトコル タイプ
BGP ルートが冗長になります。よって、負荷を軽減するために、IP VPN イン
スタンスの VRF にポリシーを適用してこれらのルートを破棄することもで きます。この例は、「第 2 章: 構成 - サービス」セクションで構成されてい ます。アドバタイズされた IP VPN ルートがリモート データ センター PE で受け取られると破棄されるように、ルートには一意のコミュニティが追 加されます。
ラボの例 - データ センター間の VLAN 間ルーティング
では、ラボ トポロジーの例で詳しく見ていきましょう。ホスト 200.1.1.26 は、現在、データ センター 2 の VLAN 200 にあり、その MAC/IP バイン ディングは PE21 EVI EVPN-2 で学習されます。対応する EVPN ホスト ルー トは IP VPN-1 VRF にあり、ネクスト ホップは PE21 のローカル irb.200 インターフェイスに設定されています。
cse@PE21> show route 200.1.1.26
IPVPN-1.inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both