VXLAN について
VXLAN(仮想拡張LAN)プロトコル技術を使用すると、ネットワークでより多くのVLANをサポートできるようになります。IEEE 802.1Q 規格に基づくと、従来の VLAN 識別子の長さは 12 ビットです。この命名により、ネットワークの VLAN の限度は 4,094 になります。VXLAN プロトコルは、従来よりも長い論理ネットワーク識別子を使用してより多くの VLAN に対応できるようにすることで、この制限を解消しました。したがって、一般的に多数の仮想マシンが含まれているクラウドなどの大規模なネットワークでより多くの論理ネットワークの分離が可能になります。
VXLAN のメリット
VXLAN の技術では、VLAN の場合と同様にネットワークをセグメント化できます。ただし、VLAN では得られないメリットもあります。VXLAN を使用する場合の最も重要なメリットを以下に示します。
理論的には、管理ドメインに 1,600 万もの VXLAN を作成できます(これと比較して、ジュニパーネットワークスのデバイスの VLAN は 4,094 です)。
MXシリーズルーターとEX9200スイッチは、32,000ものVXLAN、32,000ものマルチキャストグループ、8,000ものVTEP(仮想トンネルエンドポイント)をサポートします。つまり、MXシリーズルーターをベースにしたVXLANは、クラウドビルダーが大量のテナントをサポートするために必要な規模で、ネットワークをセグメント化できるということです。
QFX10000 シリーズ スイッチは、4,000 の VXLAN と 2,000 のリモート VTEP をサポートしています。
QFX5100、QFX5110、QFX5200、QFX5210、EX4600 の各スイッチは、4,000 の VXLAN、4,000 のマルチキャスト グループ、2,000 のリモート VTEP をサポートしています。
EX4300-48MP スイッチは、4,000 の VXLAN をサポートしています。
別々のレイヤー 2 ドメインに存在するサーバー間での仮想マシンの移行は、レイヤー 3 ネットワークでトラフィックをトンネリングすることで可能になります。この機能により、レイヤー 2 の境界の制約を受けることなく、大規模なレイヤー 2 ドメインや地理的に拡張されたレイヤー 2 ドメインを作成せずに、データ センター内またはデータ センター間で動的にリソースを割り当てることができます。
VXLAN 使用して、小規模なレイヤー 2 ドメインを作成し、それらをレイヤー 3 ネットワークを介して接続するため、STP(スパニング ツリー プロトコル)を使用してトポロジーをまとめる必要はなく、代わりにレイヤー 3 ネットワークのより堅牢なルーティング プロトコルを使用できます。STP が存在しない場合、どのリンクもブロックされないため、購入したすべてのポートから価値を引き出せます。ルーティング プロトコルを使用してレイヤー 2 ドメインに接続することによって、トラフィックのロード バランシングが可能になり、利用可能な帯域幅を最大限に活用できます。データ センター内またはデータ センター間で頻繁に送受信される East-West トラフィックの量を考慮すると、トラフィックに対するネットワーク パフォーマンスを最大限に高めることが非常に重要です。
ビデオ「 データ センターでオーバーレイ ネットワークを使用する理由」 では、VXLAN を使用するメリットの概要を説明しています。
VXLANの仕組みとは?
VXLAN は、しばしば、オーバーレイ技術と呼ばれます。IP アドレスを含む VXLAN パケットにイーサネット フレームをカプセル化(トンネリング)して、レイヤー 3 ネットワークを介したレイヤー 2 接続拡張が可能になるためです。VXLAN をサポートするデバイスは、 VTEP(仮想トンネル エンドポイント)と呼ばれ、エンド ホスト、あるいはネットワークスイッチやルーターです。VTEP は、VXLAN トラフィックをカプセル化し、トラフィックが VXLAN トンネルを出たときにトラフィックのカプセル化を解除します。イーサネット フレームをカプセル化する場合、VTEP は以下のフィールドを含む多数のフィールドを追加します。
外側の MAC(メディア アクセス制御)宛先アドレス(トンネル エンドポイント VTEP の MAC アドレス)
外側の MAC 送信元アドレス(トンネル送信元 VTEP の MAC アドレス)
外側の IP 宛先アドレス(トンネル エンドポイント VTEP の IP アドレス)
外側の IP 送信元アドレス(トンネル送信元 VTEP の IP アドレス)
外側の UDP ヘッダー
VXLAN ヘッダー。これには、 VNI(VXLAN ネットワーク識別子)と呼ばれる 24 ビット フィールドが含まれており、VXLAN を一意に識別するために使用されます。VNI は VLAN ID と似ていますが、24 ビットであるため、作成できる VXLAN の数は VLAN の場合よりも多くなります。
VXLAN は元のイーサネット フレームに 50 バイトから 54 バイトの追加ヘッダー情報を追加するため、基盤となるネットワークの MTU を増やすことができます。この場合、論理 VTEP 発信元インターフェイスの MTU(これは無視されます)ではなく、VXLAN ネットワークに属する物理インターフェイスの MTU を設定します。
図 1 は、VXLAN のパケット形式を示しています。
VXLAN の実装方法
Junos OS は、次の環境での VXLAN の実装をサポートしています。
手動 VXLAN - この環境では、ジュニパーネットワークスのデバイスは、VTEP として動作するダウンストリーム デバイス用のトランジット デバイスとして機能するか、あるいはレイヤー 3 ネットワークを介して通信する VM(仮想マシン)をホストするダウンストリーム サーバーの接続を提供するゲートウェイとして機能します。この環境には、SDN(Software-Defined Networking)コントローラは導入されません。
手記:QFX10000 スイッチは手動 VXLAN をサポートしていません。
OVSDB-VXLAN - この環境では、SDN コントローラが OVSDB(Open vSwitch Database)管理プロトコルを使用して、OVSDB をサポートするコントローラ(VMware NSX や Juniper Networks Contrail コントローラなど)およびデバイスの通信手段を提供します。
EVPN-VXLAN - この環境において、EVPN(イーサネット VPN)は、ホスト(物理サーバーと VM)をネットワーク内の任意の場所に配置し、同じ論理レイヤー 2 オーバーレイネットワークとの接続を維持するためのコントロール プレーンの技術であり、VXLAN は、レイヤー 2 オーバーレイネットワークのデータ プレーンを作成します。
VXLAN を採用した QFX5100、QFX5110、QFX5120、QFX5200、QFX5210、EX4300-48MP、EX4600 スイッチの使用
スイッチが以下の役割をすべて実行するように設定できます。
(EX4300-48MP を除くすべてのスイッチ)SDN コントローラを使用していない環境で、VTEP として機能するダウンストリーム ホスト用のトランジット レイヤー 3 スイッチとして機能します。この設定では、スイッチで VXLAN 機能を設定する必要はありません。スイッチが VXLAN マルチキャスト グループのマルチキャスト ツリーを形成できるように、IGMP と PIM を設定する必要はありません。(詳細については、「 手動 VXLAN には PIM が必要 」を参照してください)。
(EX4300-48MP を除くすべてのスイッチ)環境で SDN コントローラを使用するかどうかにかかわらず、同一データ センター内またはデータ センター間で仮想化ネットワークと仮想化されていないネットワーク間のレイヤー 2 ゲートウェイとして機能します。たとえばスイッチを使用して、VXLAN を使用するネットワークを VLAN を使用するネットワークに接続できます。
(EX4300-48MPスイッチ)キャンパス ネットワークで、仮想化ネットワークと仮想化されていないネットワーク間のレイヤー 2 ゲートウェイとして機能します。たとえばスイッチを使用して、VXLAN を使用するネットワークを VLAN を使用するネットワークに接続できます。
(EX4300-48MP を除くすべてのスイッチ)同一データ センター内または異なるデータ センター間で仮想化ネットワーク間のレイヤー 2 ゲートウェイとして機能し、これらのネットワークとデータ センター間で VMotion(仮想マシンの移動)を可能にします。たとえば、2 つの異なるネットワークのデバイス間の VMotion を可能にしたい場合、両方のネットワークに同じ VLAN を作成し、両方のデバイスをその VLAN に配置できます。これらのデバイスに接続されたスイッチは VTEP として動作し、その VLAN を同じ VXLAN にマッピングでき、VXLAN トラフィックを 2 つのネットワーク間でルーティングできます。
(EVPN-VXLAN を使用する QFX5110 および QFX5120 スイッチ)同じデータ センター内の異なる VXLAN 間のトラフィックをルーティングするレイヤー 3 ゲートウェイとして機能します。
(EVPN-VXLAN を使用する QFX5110 および QFX5120 スイッチ)標準のルーティング プロトコルまたは VPLS(仮想プライベート LAN サービス)トンネルを使用して、WAN またはインターネット上の異なるデータ センター内で、異なる VXLAN 間のトラフィックをルーティングするレイヤー 3 ゲートウェイとして機能します。
QFX5110 または QFX5120 スイッチを EVPN-VXLAN 環境のレイヤー 3 VXLAN ゲートウェイにする場合は、VLAN 間でのトラフィック ルーティングと同様に、IRB(統合型ルーティングおよびブリッジング)を VXLAN と接続するように設定する必要があります。
ヘッダーが追加されると 50 バイトから 54 バイトが追加されるため、より大きなパケットに対応するために VTEP の MTU を増やす必要がある場合があります。たとえば、スイッチがデフォルトの MTU 値 1,514 バイトを使用していて、VXLAN 上で 1,500バイトのパケットを転送する場合は、MTU を増やして、追加ヘッダーによってパケット サイズを増やす必要があります。
QFX5100、QFX5110、QFX5200、QFX5210、EX4600スイッチでのUDPポートの変更
QFX5100 スイッチでは Junos OS リリース14.1X53-D25 以降、Junos OS リリースQFX5110 および QFX5200 スイッチでは 15.1X53-D210 以降、QFX5210 スイッチでは 18.1R1 Junos OS リリース、EX4600 スイッチでは 18.2R1 以降Junos OS リリース、VXLAN トラフィックの宛先ポートとして使用する UDP を設定できます。VXLAN 宛先ポートをデフォルトの UDP ポートである 4789 以外に設定するには、次のステートメントを入力します。
set protocols l2-learning destination-udp-port port-number
設定したポートは、スイッチに設定されたすべての VXLAN に使用されます。
VXLAN の 1 台のスイッチに対してこの変更を行う場合は、スイッチに設定された VXLAN を終端するすべてのデバイスで同じ変更を行う必要があります。この操作を実行しないと、スイッチに設定されたすべての VXLAN のトラフィックが中断されます。UDP ポートを変更すると、学習済みのリモート VTEP とリモート MAC が失われ、スイッチがリモート VTEP およびリモート MAC を再度学習するまで、VXLAN トラフィックが中断されます。
QFX5100、QFX5110、QFX5200、QFX5210、EX4600 の各スイッチでのトランジット マルチキャスト トラフィックの制御
VTEP として動作するスイッチがブロードキャスト、未知のユニキャスト、マルチキャストのパケットを受信すると、パケットに対して次のアクションが実行されます。
パケットのカプセル化を解除し、ローカルで接続されたホストに配信します。
次に、VXLAN カプセル化を再度追加し、VXLAN の他の VTEP にパケットを送信します。
これらのアクションは、VXLAN トンネル アドレスとして使用されるループバック インターフェイスによって実行されるため、VTEP で使用可能な帯域幅に悪影響を与える可能性があります。QFX5100スイッチのJunos OS リリース 14.1X53-D30以降、QFX5110およびQFX5200スイッチのJunos OS リリース15.1X53-D210以降、QFX5210スイッチのJunos OS リリース18.1R1、EX4600スイッチのJunos OS リリース18.2R1以降、特定のマルチキャストグループのトラフィックを必要とするVXLAN内の他のVTEPに接続するマルチキャストレシーバーがないことがわかっている場合は、 以下のステートメントを入力することで、ループバックインタフェースの処理負荷を軽減することができます。
set protocols l2-learning disable-vxlan-multicast-transit vxlan-multicast-group multicast-group
この場合、指定したグループのトラフィックは転送されませんが、その他のマルチキャスト トラフィックはすべて転送されます。VXLAN の他の VTEP にマルチキャスト トラフィックを転送しない場合は、次のステートメントを入力します。
set protocols l2-learning disable-vxlan-multicast-transit vxlan-multicast-group all
MXシリーズルーター、EX9200スイッチ、QFX10000スイッチをVTEPとして使用する
MXシリーズルーター、EX9200 スイッチ、QFX10000 スイッチを VTEP として機能し、次の役割をすべて実行するよう設定できます。
同一データ センター内またはデータ センター間で仮想化ネットワークと仮想化されていないネットワーク間のレイヤー 2 ゲートウェイとして機能します。たとえば、MXシリーズルーターを使用して、VXLANを使用するネットワークをVLANを使用するネットワークに接続できます。
同一データ センター内または異なるデータ センター間で仮想化ネットワーク間のレイヤー 2 ゲートウェイとして機能し、これらのネットワークとデータ センター間で VMotion(仮想マシンの移動)を可能にします。
同じデータ センター内の異なる VXLAN 間のトラフィックをルーティングするレイヤー 3 ゲートウェイとして機能します。
標準のルーティング プロトコルまたは VPLS(仮想プライベート LAN サービス)トンネルを使用して、WAN またはインターネット上の異なるデータ センター内で、異なる VXLAN 間のトラフィックをルーティングするレイヤー 3 ゲートウェイとして機能します。
このシナリオで説明されているデバイスのいずれかを VXLAN レイヤー 3 ゲートウェイにする場合は、VLAN 間でのトラフィック ルーティングと同様に、IRB(統合型ルーティングおよびブリッジング)を VXLAN と接続するように設定する必要があります。
手動 VXLAN には PIM が必要
コントローラ(VMware NSX または Juniper Networks Contrail コントローラなど)を使用している環境では、ジュニパーネットワークスのデバイス上で VXLAN をプロビジョニングできます。またコントローラは、VTEP が到達可能性のアドバタイズと他の VTEP の到達可能性の学習に使用するコントロール プレーンも提供します。コントローラを使用する代わりに、デバイスのデバイス上で手動で VXLAN を作成することもできます。このアプローチを使用する場合、VTEP 間の VXLAN トンネルを作成できるように、VTEP 上で PIM(プロトコル非依存型マルチキャスト)も設定する必要があります。
また、特定の VXLAN の各 VTEP は、同じマルチキャスト グループのメンバーになるように設定する必要があります。(可能な場合は、VXLAN ごとに異なるマルチキャスト グループ アドレスを割り当てます。ただし、これは必須ではありません。複数の VXLAN で同じマルチキャスト グループを共有できます)。こうすると、VTEP は、接続されたホストから受信した ARP 要求をマルチキャスト グループに転送できます。グループ内のその他の VTEP は、VXLAN 情報のカプセル化を解除し(同じ VXLAN のメンバーであることが前提)、ARP 要求を接続されたホストに転送します。ターゲット ホストが ARP 要求を受信すると、その MAC アドレスで応答し、その VTEP はこの ARP 応答を送信元 VTEP に返送します。このプロセスによって、VTEP は VXLAN 内の他の VTEP の IP アドレスと、他の VTEP と接続しているホストの MAC アドレスを学習します。
マルチキャスト グループとツリーは、VTEP 間で BUM(ブロードキャスト、不明なユニキャスト、マルチキャスト)トラフィックを転送する場合にも使用されます。これにより、BUM トラフィックが VXLAN の外部に不必要にフラッディングするのを防ぎます。
VXLAN トンネルを通って転送されるマルチキャスト トラフィックは、VXLAN のリモート VTEP にのみ送信されます。つまり、カプセル化を実行する VTEP は、マルチキャスト ツリーに従ってパケットをコピーし、そのコピーを送信するのではなく、受信したマルチキャスト パケットをリモート VTEP に転送するだけです。リモート VTEP は、カプセル化されたマルチキャスト パケットのカプセル化を解除し、適切なレイヤー 2 インターフェイスに転送します。
VXLAN トラフィックのロード バランシング
VXLAN トンネルを形成するレイヤー 3 のルートは、デフォルトでパケット単位のロードバランシングを使用します。つまり、リモート VTEP への ECMP パスが存在する場合は、ロードバランシングが実装されるということです。これは、パケット単位のロードバランシングがデフォルトで使用されない、通常のルーティングの動作とは異なります。(デフォルトでは通常のルーティングにプレフィックス単位のロードバランシングが使用されます)。
レイヤー 3 ネットワーク内の VXLAN トラフィックの ECMP ロードバランシングを有効にするには、UDP ヘッダーの送信元ポート フィールドを使用します。このフィールドは内側のパケット フィールドのハッシュに設定され、ECMP がトンネル間の宛先(フロー)を識別するために使用する変数になります。
フローベースの ECMP で通常使用されるその他のフィールドは、VXLAN での使用には適していません。同じ 2 つの VTEP 間のトンネルはすべて同じ外側の発信元 IP アドレスと宛先 IP アドレスを持ち、UDP 宛先ポートは定義に従ってポート 4789 に設定されます。そのため、これらのフィールドのいずれを使用した場合でも、ECMP でフローを区別するには不十分です。
QFX5120スイッチが、コアに接続するレイヤー 3 タグ付きインターフェイスおよび IRB インターフェイスでトラフィックをトンネリングできるようにする
このセクションは、リリース18.4R1、18.4R2、18.4R2-S1〜18.4R2-S3、19.1R1、19.1R2、19.2Rx、および19.3RxJunos OSを実行するQFX5120スイッチにのみ適用されます。
QFX5120 スイッチがコアに接続するレイヤー 3 タグ付きインターフェイスまたは IRB インターフェイス上でトラフィックをトンネリングしようとすると、スイッチはパケットを破棄します。この問題を回避するには、レイヤー 3 のタグ付きインターフェイスまたは IRB インターフェイスでシンプルな 2 項のフィルターベースのファイアウォールを設定します。
QFX5120スイッチは、最大 256 の 2 ターム フィルターベースのファイアウォールをサポートします。
例えば:
set interfaces et-0/0/3 unit 0 family inet filter input vxlan100 set firewall family inet filter vxlan100 term 1 from destination-address 192.168.0.1/24 then accept set firewall family inet filter vxlan100 term 2 then routing-instance route1
条件 1 は、スイッチのループバック インターフェイスに割り当てられた送信元 VTEP IP アドレス(192.168.0.1/24)によって識別されるQFX5210スイッチ宛てのトラフィックを照合して受け入れます。条件 1 では、アクションを指定するときに、それを受け入れる代わりにトラフィックをカウントすることもできます。
条件2は、他のすべてのデータトラフィックを照合し、インターフェイスet-0/0/3に設定されたルーティング インスタンス(ルート1)に転送します。
この例では、インターフェイス et-0/0/3 はルーティング インスタンス route1 によって参照されていることに注意してください。したがって、 set firewall family inet filter vxlan100 term 2 then routing-instance route1
コマンドを含める必要があります。このコマンドを使用しないと、ファイアウォール フィルターが適切に機能しません。
VXLAN での ping と traceroute の使用
QFX5100 および QFX5110 スイッチでは、 ping
コマンドと traceroute
コマンドを使用して、 overlay
パラメータと各種オプションを含めることで、VXLAN トンネルを通過するトラフィック フローのトラブルシューティングを行うことができます。これらのオプションを使用して、 ping
パケットまたは traceroute
パケットを、VXLAN トンネルを通過するデータパケットと同じパスを強制的にたどらせます。言い換えれば、アンダーレイ パケット(ping
と traceroute
)に、オーバーレイ パケット(データ トラフィック)と同じルートを取らせます。詳細については、「 ping overlay 」と「 traceroute overlay 」を参照してください。
サポートされる VXLAN 標準
以下は、VXLAN の標準を定義した RFC とインターネット ドラフトです。
RFC 7348、 Virtual eXtensible Local Area Network(VXLAN):レイヤー3ネットワーク上に仮想化レイヤー2ネットワークをオーバーレイするためのフレームワーク
インターネットドラフトdraft-ietf-nvo3-vxlan-gpe、 VXLANの汎用プロトコル拡張
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。