8. Multihoming NVEs - NVE Residing in ToR Switch
8. Multihoming NVEs - NVE Residing in ToR Switch (マルチホーミングNVE - ToRスイッチに配置されるNVE)
本セクションでは、NVEがToRスイッチに配置され、サーバー(VMが配置されている場所)がこれらのToRスイッチにマルチホームされているシナリオについて説明します。マルチホーミングNVEは全アクティブまたは単一アクティブ冗長モードで動作します。サーバーがToRスイッチにシングルホームされている場合、必要なEVPN機能に関しては、第7節で説明したNVEがhypervisor上に配置されているシナリオと同様になります。
[RFC7432]は、マルチホーミングをサポートするための一連のBGPルート、属性、および手順を定義しています。まず、これらの機能と手順について説明し、次にVXLAN(またはNVGRE)カプセル化によってこれらのうちどれが影響を受け、どのような変更が必要かについて説明します。このセクションの後半で示されるように、非MPLSオーバーレイカプセル化(例:VXLANまたはNVGRE)によって影響を受けるEVPN手順は、ラベルスタックではなく1つのIDのスペースを提供する場合、セクション8.3.1で説明するマルチホームESの水平分割フィルタリングのみです。
8.1. EVPN Multihoming Features (EVPNマルチホーミング機能)
本セクションでは、カプセル化の依存関係を強調するためにEVPNのマルチホーミング機能を要約します。このセクションでは、機能と機能を高レベルでのみ説明します。詳細については、読者は[RFC7432]を参照してください。
8.1.1. Multihomed ES Auto-Discovery (マルチホームES自動検出)
同じESに接続されたEVPN NVE(またはPE)(例:リンクアグリゲーショングループ(LAG)を介して同じサーバー)は、BGPルートの交換を通じて最小限の設定で互いに自動検出できます。
8.1.2. Fast Convergence and Mass Withdrawal (高速コンバージェンスと一括撤回)
EVPNは、ESへの接続の障害(例:リンクまたはポート障害)の発生時に、リモートNVEに転送テーブルを更新する必要性を効率的かつ迅速に通知するメカニズムを定義します。これは、各NVEが各ローカル接続セグメントに対してES毎にEthernet A-Dルートをアドバタイズすることによって行われます。接続セグメントへの接続が失敗すると、NVEは対応するEthernet A-Dルートを撤回します。これにより、撤回を受信したすべてのNVEが、問題のESに関連付けられたすべてのMACアドレスのネクストホップ隣接を更新します。同じセグメントに対してEthernet A-Dルートをアドバタイズした他のNVEがない場合、撤回を受信したNVEは単にそのセグメントのMACエントリを無効にします。それ以外の場合、NVEはそれに応じてネクストホップ隣接リストを更新します。
8.1.3. Split-Horizon (水平分割)
サーバーが全アクティブ冗長モードで動作する2つ以上のNVE(ES ES1で表される)にマルチホームされ、BUM(すなわち、ブロードキャスト、未知のユニキャスト、またはマルチキャスト)パケットをこれらのNVEの1つに送信する場合、パケットがこのサーバーに接続された別のNVEを介してサーバーにループバックされないようにすることが重要です。このようなループとパケット重複を防ぐNVE上のフィルタリングメカニズムは「水平分割フィルタリング」と呼ばれます。
8.1.4. Aliasing and Backup Path (エイリアシングとバックアップパス)
ステーションが複数のNVEにマルチホームされている場合、単一のNVEのみがステーションによって送信されるトラフィックに関連付けられた一連のMACアドレスを学習する可能性があります。これにより、リモートNVEが、複数のNVEがマルチホームステーションに接続されているにもかかわらず、単一のNVEからこれらのアドレスのMAC Advertisementルートを受信する状況が発生します。その結果、リモートNVEは、マルチホームESに接続されたNVE間でトラフィックを効果的に負荷分散できません。例えば、これは、NVEがアクセス上でデータパス学習を実行し、ステーション上の負荷分散機能が特定の送信元MACアドレスからのトラフィックを単一のNVEにハッシュする場合に発生する可能性があります。これが発生する別のシナリオは、NVEがアクセス上でコントロールプレーン学習に依存する場合です(例:ARPを使用)。ARPトラフィックはLAG内の単一のリンクにハッシュされるためです。
この問題を軽減するために、EVPNは「エイリアシング」の概念を導入します。これは、NVEが、そのセグメントからMACアドレスを学習していない場合でも、特定のローカル接続ESへの到達可能性を持っていることを通知する能力を指します。EVI毎のEthernet A-Dルートがその目的で使用されます。非ゼロESIを持つMAC Advertisementルートを受信するリモートNVEは、MACアドレスを、同じESIを持ち単一アクティブフラグがリセットされたEthernet A-Dルートを使用して関連セグメントへの到達可能性をアドバタイズするすべてのNVE経由で到達可能と見なす必要があります。
バックアップパスは密接に関連する機能ですが、冗長モードが単一アクティブの場合に適用されます。この場合、NVEもEthernet A-Dルートを使用して、特定のローカル接続ESへの到達可能性を持っていることを通知します。非ゼロESIを持つMAC Advertisementルートを受信するリモートNVEは、MACアドレスをアドバタイジングNVE経由で到達可能と見なす必要があります。さらに、リモートNVEは、同じESIを持ち単一アクティブフラグが設定されたEthernet A-Dルートを使用して関連セグメントへの到達可能性をアドバタイズしたNVEへの当該MACのバックアップパスをインストールする必要があります。
8.1.5. DF Election (DF選出)
ホストが全アクティブ冗長モードで動作するES上の2つ以上のNVEにマルチホームされている場合、特定のEVIに対して、これらのNVEの1つのみ(「指定フォワーダー」(DF)と呼ばれる)が、ブロードキャスト、マルチキャスト、およびそのEVIに対して設定されている場合は未知のユニキャストフレームを送信する責任があります。
これは、全アクティブ冗長の場合にマルチホームホストまたはVMへの複数宛先フレームの重複配信を防ぐために必要です。
ホストからIEEE 802.1Q [IEEE.802.1Q]としてタグ付けされたフレームを受信するNVEでは、[RFC7432]のセクション8.5に従ってホストVIDに基づいてDF選出を実行する必要があります。さらに、特定のESのマルチホーミングPEは、VNI、EVI、正規化VIDなどの設定されたIDを使用してDF選出を実行してもよい(MAY)。ただし、IDがマルチホーミングPE間で一貫して設定されている限りです。
VXLANカプセル化フレームを受信するGWでは、DF選出はVNI上で実行されます。同様に、特定のイーサネットセグメントに対して、VNIが一意で一貫していることが想定されます(例:重複するVNIは存在しない)。
8.2. Impact on EVPN BGP Routes and Attributes (EVPN BGPルートと属性への影響)
このシナリオではマルチホーミングがサポートされているため、[RFC7432]で定義されたBGPルートと属性の全セットが使用されます。MAC Advertisement、EVI毎のEthernet A-D、およびIMETルートのEthernet Tagフィールドの設定は、セクション5.1.3に従います。さらに、MAC AdvertisementおよびEVI毎のEthernet A-DルートのVNIフィールドの設定は、セクション5.1.3に従います。
8.3. Impact on EVPN Procedures (EVPN手順への影響)
NVEが単一アクティブまたは全アクティブ冗長モードで動作しているかどうかに応じて、ここでは2つのケースを検討する必要があります。
まず、単一アクティブ冗長モードのケースを考えましょう。ここでは、ホストが一連のNVEにマルチホームされていますが、特定のVNIに対して特定の時点で単一のNVEのみがアクティブです。この場合、エイリアシングは不要であり、水平分割フィルタリングは不要な場合がありますが、マルチホームES自動検出、高速コンバージェンスと一括撤回、バックアップパス、DF選出などの他の機能が必要です。
次に、全アクティブ冗長モードのケースを考えましょう。この場合、セクション8.1にリストされているすべてのEVPNマルチホーミング機能のうち、VXLANまたはNVGREカプセル化の使用は、水平分割とエイリアシング機能に影響を与えます。これら2つはMPLSクライアント層に依存しているためです。これらのタイプのカプセル化ではこのMPLSクライアント層が存在しないため、必要な機能を提供するための代替手順とメカニズムが必要です。これらについて次に詳しく説明します。
8.3.1. Split Horizon (水平分割)
EVPNでは、MPLSラベルが全アクティブマルチホーミングをサポートするための水平分割フィルタリングに使用されます。入口NVEは、パケットをカプセル化する際に起点サイトに対応するラベル(別名ESIラベル)を追加します。出口NVEは、複数宛先フレームをインターフェイスから転送しようとするときにESIラベルをチェックし、ラベルがそのインターフェイスに関連付けられた同じサイト識別子(ESI)に対応する場合、パケットをドロップします。これにより、転送ループの発生が防止されます。
VXLANおよびNVGREカプセル化にはESIラベルが含まれていないため、これらのカプセル化に対して水平分割フィルタリング機能を実行する他の手段を考案する必要があります。VXLAN(またはNVGRE)カプセル化を使用する場合、水平分割フィルタリングには次のアプローチが推奨されます。
各NVEは、共有マルチホームESを持つ他のNVEに関連付けられたIPアドレスを追跡します。NVEがオーバーレイネットワークから複数宛先フレームを受信すると、トンネルヘッダー内の送信元IPアドレス(入口NVEに対応)を調べ、入口NVEと共有されているすべてのESに接続されたすべてのローカルインターフェイス上でフレームをフィルタリングします。このアプローチでは、入口NVEが、アクセスインターフェイス(つまり、ホスト)から入ってくるすべてのフラッドトラフィックに対して、DF選出状態に関係なく、直接接続されたすべてのイーサネットセグメントにローカルで複製を実行することが必要です。このアプローチは「ローカルバイアス」と呼ばれ、水平分割フィルタリングにNVE毎にイーサネットセグメント毎に1つのIPアドレスを必要とするのではなく、NVE毎に1つのIPアドレスのみを使用すればよいという利点があります。
同じマルチホーミングPEデバイスのグループ間で水平分割フィルタリングの適切な動作を可能にするために、一方では[RFC7432]の水平分割フィルタリング手順を実行するMPLS over GREカプセル化を持つPEデバイスと、他方では特定のイーサネットセグメント上でローカルバイアス手順を実行するVXLAN/NVGREカプセル化の混在を設定してはなりません(MUST NOT)。
8.3.2. Aliasing and Backup Path (エイリアシングとバックアップパス)
VXLAN/NVGREカプセル化のエイリアシングとバックアップパス手順は、MPLSの手順と非常に似ています。MPLSの場合、対応するESが全アクティブマルチホーミングで動作する場合、EVI毎のEthernet A-Dルートがエイリアシングに使用され、対応するESが単一アクティブマルチホーミングで動作する場合、同じルートがバックアップパスに使用されます。VXLAN/NVGREの場合、同じルートがエイリアシングとバックアップパスに使用され、違いは、EVI毎のEthernet A-DルートのEthernet TagおよびVNIフィールドがセクション5.1.3で説明されているように設定されることです。
8.3.3. Unknown Unicast Traffic Designation (未知のユニキャストトラフィック指定)
EVPNでは、入口PEが入口複製を使用して未知のユニキャストトラフィックを出口PEにフラッドする場合、入口PEは異なるEVPN MPLSラベル(既知のユニキャストトラフィックに使用されるラベルとは異なる)を使用してこのようなBUMトラフィックを識別します。出口PEはこのラベルを使用してこのようなBUMトラフィックを識別し、全アクティブマルチホームサイトに対してDFフィルタリングを適用します。未知のユニキャストトラフィック指定がなく、未知のユニキャストフラッディングが有効になっている場合、次の条件下で全アクティブマルチホームサイトへの一時的な重複トラフィックが発生する可能性があります:ホストMACアドレスが出口PEによって学習され、入口PEにアドバタイズされます。ただし、MAC Advertisementが入口PEによって受信または処理されていないため、ホストMACアドレスは入口PEでは未知ですが、出口PEでは既知です。したがって、そのホストMACアドレス宛のパケットが入口PEに到着すると、入口複製を介してすべての出口PEにフラッドされ、出口PEでは既知であるため、複数のコピーが全アクティブマルチホームサイトに送信されます。このような一時的なパケット重複は、a)宛先ホストが全アクティブ冗長モードを介してマルチホームされ、b)ネットワークで未知のユニキャストのフラッディングが有効になっており、c)入口複製が使用され、d)入口PEがBGP EVPNアドバタイズメントを介してホストMACアドレスを学習する前に宛先ホストのトラフィックが入口PEに到着した場合にのみ発生することに注意してください。このような一時的なパケット重複の発生を回避することが望まれる場合(確率がどれほど低くても)、これらのPE間でVXLAN-GPEカプセル化を使用する必要があり、入口PEはBUMトラフィックビット(Bビット)[VXLAN-GPE]を設定して、これが入口複製されたBUMトラフィックであることを示す必要があります。