blog

VXLANオーバーレイネットワーク技術の詳細

オーバーレイネットワーク技術として VXLAN が注目されていますが、このプロトコルはどのように動作するのでしょうか?データと制御レベルを分離して SDN ネットワークを実装するには?どのようにデプロ...

Jul 11, 2025 · 6 min. read
シェア

ネットワーク仮想化の重要な技術として VXLAN が注目を集めています。データと制御レベルを分離して SDN ネットワークを実装するには?どのようにデプロイされるのでしょうか?このブログポストでは VXLAN について詳しく紹介します...

I . Vxlan が必要な理由

1.vlanの制限数

大規模なクラウドコンピューティング・データセンターには4096vlanでは不十分です。

2.物理的なネットワークインフラの制限

IPサブネットベースのゾーニングにより、レイヤ2ネットワーク接続を必要とするアプリケーション負荷の展開が制限されます。

3.TORスイッチMACテーブルの枯渇

仮想化と東西トラフィックによりMACテーブル・エントリが増加

4.マルチテナント・シナリオ

IPアドレスの重複?

II. Vxlanとは

1.Vxlanメッセージ

vxlan(virtual Extensible LAN) オーバーレイ・ネットワーク技術である Virtual Extensible LAN は、MAC in UDP 方式でカプセル化され、合計 50 バイトのカプセル化されたメッセージ・ヘッダを使用します。具体的なメッセージ・フォーマットは以下の通り:

vxlanヘッダー

合計8バイトで、現在使用されているのはFlagsの8ビットの識別ビットと24ビットのVNI(Vxlan Network identifier)で、残りは未定義ですが、使用時には0x0000に設定する必要があります。

外側のUDPヘッダー

宛先ポートは4798を使用しますが、必要に応じて変更できます。Colleague UDPチェックサムはすべて0に設定する必要があります。

IPヘッダ

宛先 IP アドレスはユニキャストまたはマルチキャストアドレスです。ユニキャストの場合、宛先IPアドレスはVxlanトンネルエンドポイント(VTEP)のIPアドレスです。マルチキャストの場合はVXLAN管理レイヤーを導入し、VNIとIPマルチキャストグループのマッピングを使用してVTEPを決定します。

プロトコル:値を0x11に設定すると、表示はUDPパケットであることを示します。

ソースIP:ソースvTEP_IP。

宛先IP:宛先VTEP IP。

イーサネット・ヘッダー

Destination Address(宛先アドレス):宛先VTEPのMacアドレス、つまりローカル・ネクストホップのアドレス。

VLAN:VLANタイプは0x8100に設定され、Vlan Idタグを設定できます(これはvxlanのvlanタグです)。

Ethertype:パケットがIPv4であることを指定するには、値を0x8000に設定します。

補遺:VTEPは何をするのですか?

カプセル化されたメッセージのセグメントがトンネルを介してカプセル化されたメッセージをもう一方の端のVTEPに送信した後、もう一方の端のVTEPはカプセル化されたメッセージをカプセル化解除受信し、カプセル化されたMACアドレスに従ってそれらをロードします。

カプセル化の構造としては、VXLANはレイヤ3ネットワークにレイヤ2ネットワークをオーバーレイする機能を提供します。 VXLANヘッダのVNIは24ビットで、4096ビットよりはるかに大きく、UDPのカプセル化はレイヤ3ネットワークを横断するため、VLANよりスケーラビリティに優れています。

2.Vxlanデータプレーンとコントロールプレーン

データプレーン - トンネリング機構

すでにご存知のように、VTEPはVMパケットにレイヤーヘッダーを追加し、これらの新しいヘッダーはデータが宛先VTEPに到達した後にのみ削除されます。中間パスのネットワークデバイスは外層ヘッダーの宛先アドレスに従ってデータを転送するだけです。 転送パスのネットワークにとって、Vxlanパケットはヘッダーが少し大きいことを除けば、通常のIPパケットと変わりません。

VXLANデータプレーンはトンネルベースのデータプレーンであり、VXLANパケットは転送プロセスを通じて内部データの整合性を維持するからです。

制御プレーン ---- 改良型レイヤ2プロトコル

VXLANは仮想マシン間の長い接続を維持しません。そのため、VXLANは反対側の端でアドレスの到達可能性を記録するコントロールプレーンを必要とします。制御プレーンのテーブルは、VXLANがレイヤ2プロトコルの特性を維持したままアドレスを学習するため、ノードは定期的にそれぞれのルーティングテーブルを交換しません。

一方、VXLANには自己学習機能もあり、VTEPがUDPデータグラムを受信すると、このVMからデータを受信したかどうかをチェックし、もし受信していなければ、VTEPは送信元vni/送信元外層ip/送信元内層macの対応を記録して、マルチキャスト学習を回避します。

III. VxlanARP リクエスト

vxlan の初期化

VM1とVM2はVXLANネットワーク100に接続されており、両方のVXLANホストはIPマルチキャストグループ239.119.1.1に参加しています。

ARPリクエスト

1) VM1はARPリクエストをブロードキャストとして送信します。

2) VTEP1カプセル化メッセージ。VXLAN識別子は100、外側のIPヘッダーDAはIPマルチキャストグループ、SAはIP_VTEP1。

3) VTEP1はマルチキャストグループ内でマルチキャストします。

4) VTEP2は受信したマルチキャストメッセージを解析します。フローテーブルを埋め、ローカルVXLAN識別子を100以内にします。

放送

5) VM2は受信したARPリクエストに応答します。

ARPアンサー

1) VM2はARP応答メッセージを準備し、VM1に応答メッセージを送信します。

2) VTEP2 は VM2 からの応答メッセージを受信し、ip ユニキャストメッセージにカプセル化した後、VM1 にユニキャストメッセージを送信します。

3) VTEP1はユニキャストメッセージを受信し、内側MACと外側IPアドレスのマッピングを学習し、カプセル化されたコンテンツの宛先MACアドレスに基づいてカプセル化を解除し、VM1に転送します。

4) VM1がARPアンサーパケットを受信し、ARPインタラクション終了

IV: データ伝送

ARPリクエストに応答した後、VM1はVM2のMacアドレスを知っており、VM2と通信したいようです。

VTEP1はVM1からパケットを受信し、MACアドレスのフローテーブルからVM1とVM2が同じVNIに属しているかどうかをチェックします。そして、アップリンク・スイッチに渡されます。

アップリンク・スイッチはサーバからUDPパケットを受信し、宛先IPアドレスと自身のルーティング・テーブルを比較し、データグラムを適切なポートに転送します。

宛先のVTEPはパケットを受信し、VNIをチェックします。 UDPメッセージのVNIがVM2のVNIと同じ場合、パケットはデカプセル化され、さらなる処理のためにVM2に引き渡されます。この時点でパケット送信は完了します。Vxlan関連の動作全体はVMにとって透過的で、VMは送信プロセスを感じません。データを転送するためにVM1とVM2の間でTCPが開始されますが、パケットは実際には途中でUDPとして転送され、両端のVTEPはデータが正しいか、シーケンスが完全であるかどうかをチェックしません。つまり、UDPカプセル化がTCPコネクションである場合、UDPとTCPは相互に作用することなく、2つの別々のプロトコル・スタックとして動作します。

V: Vxlanゲートウェイ

VXLAN ネットワークを非 VXLAN ネットワークに接続する必要がある場合、VXLAN ゲートウェイを使用して VXLAN ネットワークを外部ネットワークにブリッジし、VXLAN ID と VLAN ID 間のマッピングとルーティングを完了する必要があります。 VLAN と同様に、VXLAN ネットワーク間の通信にはレイヤ 3 デバイスのサポート、つまり VXLAN ルーティングが必要です。この場合も、VXLANゲートウェイはハードウェアとソフトウェアの両方で実装できます。VXLAN ヘッダーの VNI は 24 ビットで、4096 ビットよりはるかに大きく、UDP のカプセル化によってレイヤ 3 ネットワークを横断できるため、VLAN よりも拡張性があります。

VI.展開

純粋なVXLANの導入シナリオ

VXLAN内で接続されたVMでは、VMのVLAN情報が転送のベースとして使用されなくなるため、VMの移行がレイヤ3ゲートウェイによって制限されることがなくなり、レイヤ3ゲートウェイをまたいだVMの移行が可能になります。

VXLANとVLANの混在展開

VLANとVXLAN間のインターワーキングを可能にするために、VXLANはVXLANゲートウェイを定義します。VXLANゲートウェイには、VXLANポートと通常のポートの2種類のポートが同時に存在します。

VXLANゲートウェイは、VXLANネットワークから通常のネットワークにデータを受信した場合、外層のヘッダを削除し、内層の元のフレームヘッダに基づいて通常のポートに転送します。VXLANゲートウェイは、通常のネットワークからVXLANネットワークに入ってくるデータがある場合、外層のヘッダをタイプアップし、元のVLAN IDに基づいてVNIに対応させると同時に、内層のパケットヘッダのVLAN ID情報を削除します。したがって、VXLANゲートウェイは、内側のフレームヘッダに元のレイヤ2のVLAN IDが残っているVXLANパケットを見つけると、単にそのパケットをドロップします。

その理由は、VLAN ID はローカルのレイヤ 2 ネットワークでのみ目的を果たすローカルな情報であり、VXLAN は転送に VLAN ID を使用しないトンネリングメカニズムであるため、VLAN ID の正誤を確認する方法がないからです。したがって、VXLAN ゲートウェイがレガシーネットワークに接続するポートは ACCESS ポートに設定する必要があり、TRUNK ポートを有効にすることはできません。

Read next

ブルートゥース4.1プロトコルとクラウド接続が年内に利用可能になる

Bluetooth4.1は、年末までに実用化される見込みで、デバイスをクラウドサービスに直接接続できるようになります。新しい4.1プロトコルは、離れた場所にあるデバイスを間接的にクラウドサービスに接続することができます。これは、家庭のユーザーがウェアラブル端末などの接続機器のネットワークを拡張できることを意味します。

Jul 11, 2025 · 3 min read