Generic Routing Encapsulationを使用したネットワーク仮想化(NVGRE)

NVGRE(Generic Routing Encapsulationを使用したネットワーク仮想化)とは何ですか?

NVGREは「Network Virtualization using Generic Routing Encapsulation」の略称です。GRE(Generic Routing Encapsulation)を使用してEthernetフレームをIPパケットにカプセル化するトンネリングプロトコルで、レイヤー3(L3)ネットワーク上に仮想レイヤー2(L2)セグメントを構築できます。

1990年代半ば以降、VLAN(Virtual LAN)は、物理スイッチ上に論理(仮想)L2セグメントを作成するための技術として広く利用されてきました。しかし、VLAN規格では、論理L2セグメントを識別するVLAN IDが12ビットに限られるため、セグメント数は約4,000に制限され、大規模ネットワークには適していません。この制限を解消するために、NVGREが開発されました。

NVGREでは、論理L2セグメントを識別するVSID(Virtual Subnet ID)が24ビットに拡張され、最大約1,600万個のL2セグメントを作成できます。また、NVGREはL3ネットワーク上に論理L2セグメントを構築するため、ルーターで接続された複数のVLANにまたがる単一の論理L2セグメントを作成できます。

この機能は、異なる物理サーバー間で仮想マシンをライブマイグレーションする場合などに、特に有効です。通常、L2ドメインをまたぐライブマイグレーションでは、IPサブネットの変更に伴い、移行した仮想マシンへの新しいIPアドレスの割り当てや、変更後のアドレスにアクセスするためのクライアント側の調整が必要になるなどの問題が生じる可能性があります。しかし、NVGREではルーターをまたいでも単一のL2セグメントを維持できるため、こうした問題を効果的に軽減できます。

トンネリングプロトコルを使用して、既存の物理ネットワーク上に論理ネットワークを構築する手法を、ネットワークオーバーレイと呼びます。NVGREと同様にネットワークオーバーレイを使用する技術には、VXLANなどがあります。オーバーレイ技術によるネットワーク仮想化は、ソフトウェアベースでネットワーク構成を管理するSDN(Software Defined Networking)を実装するうえで重要な要素です。