手当たり次第に書くんだ

飽きっぽいのは本能

VXLAN と Geneve の違い – L2 延伸だけでは見えない設計と責任分界

VXLAN と Geneve は、どちらも IP ネットワーク上に論理ネットワークを作るためのトンネルカプセル化です。VXLAN は「L3 ネットワーク上で L2 を延伸する技術」と説明されることが多く、その説明自体は間違いではありません。

ただし、設計で重要なのは、Ethernet フレームを UDP / IP で包めることだけではありません。誰が VTEP やエンドポイントの所在を学習するのか、BUM トラフィックをどう処理するのか、どこで L2 と L3 を分けるのか、underlay と overlay の障害を誰が切り分けるのかまで決めて、初めてネットワーク仮想化として成立します。

VXLAN と Geneve の違いを先に比較する

項目VXLANGeneve
標準RFC 7348RFC 8926
標準 UDP 宛先ポート47896081
ネットワーク識別子24-bit VNI24-bit VNI
基本ヘッダー固定 8 バイト固定部分 8 バイト + 可変長オプション
主な強み単純さ、スイッチ ASIC を含む広い実装、BGP EVPN との組み合わせ追加メタデータを運べる拡張性、ソフトウェア定義ネットワークとの統合
具体例Cisco Nexus などの EVPN-VXLAN fabricOpen vSwitch / OVN の論理ネットワーク

どちらが新しいかだけで選ぶものではありません。VXLAN は固定された単純なヘッダーと実装の広さに強みがあり、Geneve はオプションで追加情報を運べることに強みがあります。採用する製品、NIC オフロード、物理スイッチとの接続、制御プレーンがどちらを前提にしているかが判断基準になります。

VXLAN は VNI で論理ネットワークを分離する

VXLAN は、内側の Ethernet フレームを VXLAN、UDP、IP、外側 Ethernet の各ヘッダーで包みます。カプセル化と復号を行う端点が VTEP(VXLAN Tunnel Endpoint)です。

  • VNI:24 ビットの識別子で、論理ネットワークを分離する
  • 外側 IP アドレス:underlay 上で VTEP 間を到達させる
  • UDP 送信元ポート:ECMP のハッシュへフローの差を与えるために使われる
  • UDP 宛先ポート:RFC 7348 では 4789 が標準値

VNI は VLAN ID より広い番号空間を持ちますが、番号が増えただけで運用が自動的に簡単になるわけではありません。VLAN、VNI、VRF、Route Distinguisher、Route Target、テナントをどのように対応づけるかという管理設計が必要です。

Geneve はオプションでメタデータを運べる

Geneve も UDP / IP 上で動作し、24 ビットの VNI を持ちます。VXLAN との大きな違いは、固定 8 バイトの基本ヘッダーに続けて、TLV 形式の可変長オプションを追加できることです。標準 UDP 宛先ポートは 6081 です。

オプションには、論理ポート、ポリシー、処理コンテキストなど、プラットフォームが必要とする追加情報を載せられます。ただし、オプションを増やせることは、そのまま相互接続性が高いことを意味しません。送信側と受信側がオプションのクラス、型、長さ、意味を共有し、NIC や仮想スイッチが処理できる必要があります。

OVN が Geneve を使う理由

Open Virtual Network(OVN)は、論理データパス ID を Geneve の VNI に格納し、論理 ingress port と論理 egress port を Geneve オプションで運びます。OVN の論理パケット処理では VNI だけではメタデータが足りないため、Geneve の拡張性が具体的な意味を持ちます。

ここでの Geneve は、単に VXLAN より新しいトンネルではありません。OVN Northbound DB、ovn-northd、Southbound DB、各ハイパーバイザー上の Open vSwitch が作る制御構造の中で、必要なメタデータをデータプレーンへ渡す形式として選ばれています。

カプセル化と制御プレーンを分ける

VXLAN や Geneve は、主にパケットをどう運ぶかを定めるデータプレーンの形式です。それだけでは、どの MAC アドレスや IP アドレスが、どの VTEP の先に存在するかを配布する仕組みは完成しません。

方式エンドポイント学習BUM トラフィック運用上の特徴
Flood and Learn VXLANデータプレーンで送信元 MAC を学習マルチキャストや ingress replication で複製構成は理解しやすいが、規模拡大時の flooding が課題になる
BGP EVPN VXLANMP-BGP で MAC / IP 到達性を配布EVPN の IMET route などで参加 VTEP を制御制御プレーンで到達性とマルチテナント情報を扱える
OVN + GeneveOVN のデータベースと論理フローから構成論理パイプラインに従って処理論理スイッチ、論理ルーター、ACL などを一体で管理する

Cisco Nexus などで使われる BGP EVPN VXLAN では、EVPN が制御プレーンとなり、MP-BGP で MAC アドレス、IP アドレス、VTEP、サブネット到達性を交換します。VXLAN ヘッダーだけを見ても、この制御構造は分かりません。

Underlay が保証するもの

underlay は、VTEP 間の IP パケットを安定して運ぶ物理・論理 IP fabric です。overlay の MAC アドレスやテナント情報を直接理解する必要はありませんが、次の条件を保証する必要があります。

設計項目Underlay 側の責任
IP 到達性すべての VTEP loopback 間を双方向に到達可能にする
ECMPUDP 送信元ポートを含むハッシュで複数経路を利用する
MTU内側パケットにカプセル化ヘッダーを加えたサイズを運べるようにする
障害収束リンク・ノード障害時に overlay の要求時間内で経路を収束させる
フィルタリングVXLAN の UDP 4789、Geneve の UDP 6081 など必要な通信を許可する
可観測性外側フロー、ドロップ、MTU、ECMP 偏り、遅延を確認できるようにする

overlay で通信できない場合でも、原因が VNI や MAC 学習とは限りません。underlay の経路欠落、ECMP の片系障害、Path MTU、ACL、VTEP loopback の到達性が原因になることがあります。運用では、外側と内側のパケットを分けて観測できることが重要です。

Overlay が表現するもの

overlay は、テナント、ワークロード、論理セグメント、VRF、分散ゲートウェイ、セキュリティポリシーを表現します。VXLAN / Geneve は transport ですが、利用者が必要としているのはトンネルではなく、その上に構成される論理ネットワークです。

  • どの VLAN や論理スイッチを、どの VNI へ対応づけるか
  • L2 VNI と L3 VNI、VRF の境界をどこに置くか
  • MAC / IP 到達性を flood-and-learn と EVPN のどちらで配布するか
  • Anycast Gateway や分散ルーターをどこで動かすか
  • ACL、Security Group、Service Chain のポリシーを誰が生成するか

この対応関係を管理する SSOT が曖昧だと、同じ VNI が異なる意味で使われたり、物理スイッチと仮想スイッチでポリシーが矛盾したりします。overlay の自由度は、管理モデルと変更管理を必要とします。

MTU はカプセル化方式と経路全体で決める

VXLAN の基本的な外側ヘッダーは、外側 Ethernet 14 バイト、IPv4 20 バイト、UDP 8 バイト、VXLAN 8 バイトで、合計 50 バイトです。外側 VLAN tag、IPv6、Geneve オプションなどが加われば、必要な MTU はさらに増えます。

追加要素増加するサイズの例注意点
VXLAN + outer IPv4基本約 50 バイト外側 Ethernet FCS や追加 tag の扱いは機器仕様に合わせる
outer IPv6IPv4 より 20 バイト増加IPv6 基本ヘッダーは 40 バイト
outer VLAN tag1 tag あたり 4 バイトQinQ や事業者網の tag も確認する
Geneve optionオプション長に応じて増加固定値ではなく実際のオプション構成から計算する

サーバー NIC だけを Jumbo Frame にしても不十分です。VTEP、ToR、spine、DCI、ファイアウォール、ロードバランサーを含む経路全体で、同じ前提を満たす必要があります。MTU 不整合は、小さい ping は通るのに大きな通信だけ失敗する、再送が増える、といった分かりにくい障害になります。

L2 延伸は責任と障害範囲も延伸する

VXLAN を使えば、IP fabric を越えて同一の L2 セグメントを構成できます。しかし、IP アドレスを変えずに VM を移動できるという利点と引き換えに、BUM トラフィック、ARP / ND、MAC mobility、ループ、障害波及の責任も遠隔地まで広がります。

L2 延伸を検討する理由同時に確認すること
移行中に IP アドレスを維持したい延伸期間、終了条件、移行後の L3 境界
同一セグメントを要求する既存製品がある本当に L2 adjacency が必要か、製品構成を変更できないか
ワークロードを複数ラックへ分散したいBUM 制御、Anycast Gateway、障害ドメイン
データセンター間で VM mobility を実現したい遅延、帯域、分断時の挙動、MAC mobility、ストレージ整合性

L2 を延伸する理由が「アプリケーションを変更したくない」だけなら、変更コストをネットワークへ移している可能性があります。恒久構成なのか、移行期間だけの暫定構成なのかを明記し、撤去条件まで設計する必要があります。

VXLAN と Geneve の選択基準

条件考え方
Cisco Nexus などで BGP EVPN fabric を構成するスイッチ ASIC と EVPN の実装が前提にする VXLAN を採用するのが自然
OVN の論理ルーター・論理スイッチ・ACL を使う論理ポート情報をオプションで運べる Geneve がプラットフォーム設計に合う
物理 ToR とハイパーバイザーを直接相互接続する双方が対応するカプセル化、VNI の意味、制御プレーンを確認する
NIC オフロードを重視する製品・ドライバー・ファームウェアが対象ヘッダーとオプションを処理できるか検証する
ファイアウォールや監視装置を通過するUDP ポートだけでなく、可変長ヘッダーの解析、フラグメント、MTU を確認する

Geneve の拡張性が必要ない環境で、単に新しいから Geneve を選ぶ意味は薄いです。一方、OVN のように追加メタデータを必要とするプラットフォームへ VXLAN を押し込むと、表現できるポリシーや論理パイプラインを制限する可能性があります。カプセル化単体ではなく、プラットフォーム全体の契約として選びます。

設計時の確認項目

  • VTEP、VNI、VRF、VLAN、テナントの正をどこで管理するか
  • underlay が保証する到達性、ECMP、MTU、収束時間は何か
  • MAC / IP 到達性と BUM トラフィックをどの制御プレーンで扱うか
  • L2 を延伸する必要性、範囲、期間、終了条件は何か
  • NIC、仮想スイッチ、物理 ToR、ファイアウォールが同じカプセル化を処理できるか
  • 外側フローと内側フローを分けて監視・パケットキャプチャできるか
  • 障害時に underlay、overlay、control plane、management plane の担当をどう切り分けるか

参考情報

参考情報:

参考書籍

参考
書籍
参考書籍

VXLAN / EVPN を学ぶための参考書

データセンターファブリック、BGP EVPN、VXLAN、ネットワーク仮想化を体系的に確認するための参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

あわせて読みたい:

まとめ

VXLAN と Geneve は、どちらも IP underlay 上に論理ネットワークを作るカプセル化です。VXLAN は固定 8 バイトヘッダーと広い実装、BGP EVPN との組み合わせに強みがあります。Geneve は可変長オプションで追加メタデータを運べるため、OVN のようなソフトウェア定義ネットワークに適しています。

設計で問うべきなのは、L2 を延伸できるかだけではありません。underlay が何を保証し、overlay が何を表現し、制御プレーンがどの情報を配布し、管理プレーンがどこを正として変更するのかを決める必要があります。L2 を延伸するなら、その利便性だけでなく、BUM トラフィック、ARP / ND、MTU、障害範囲、運用責任も一緒に引き受けることになります。

VXLAN と Geneve の違い – L2 延伸だけでは見えない設計と責任分界

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る