汎用ルーティング カプセル化 (NVGRE) を使用したネットワークの仮想化について
Hyper-V ネットワーク仮想化は、IP アドレスを仮想化するメカニズムとして 汎用ルーティング カプセル化 (NVGRE) を使用したネットワーク仮想化をサポートします。 NVGRE では、仮想マシンのパケットは別のパケット内にカプセル化されます。 この新しい NVGRE 形式のパケットのヘッダーには、適切な送信元および送信先プロバイダー領域 (PA) IP アドレスがあります。 さらに、新しいパケットの GRE ヘッダーに格納される 24 ビット仮想サブネット ID (VSID) があります。
以下の図は、GRE カプセル化されたパケットを示しています。 ネットワーク上では、NVGRE でカプセル化されたパケットは IP オーバー イーサネット パケットのように見えますが、外部 IP ヘッダーのペイロードが GRE カプセル化 IP パケット (イーサネット ヘッダーを含む) である点が異なります。
NDIS 6.30 (Windows Server 2012 以降で利用可能) では、NVGRE タスク オフロードが導入され、これにより、NVGRE 形式のパケットを次の値で使用できます。
- Large Send Offload (LSO)
- 仮想マシン キュー (VMQ)
- 送信 (Tx) チェックサム オフロード (IPv4、TCP、UDP)
- 受信 (Rx) チェックサム オフロード (IPv4、TCP、UDP)
NDIS 6.85 では、UDP セグメント化オフロード (USO) を使用した NVGRE のサポートが導入されています。
注意:プロトコル ドライバーが「混合モード」パケットをオフロードすることは可能です。これは、内部 IP ヘッダーと外部 IP ヘッダーのバージョンが異なるパケットを意味します。 たとえば、パケットの外側の IP ヘッダーは IPv6、内部 IP ヘッダーは IPv4 になります。
注意:プロトコル ドライバーは、内部 TCP または UDP ヘッダーのない NVGRE 形式のパケットをオフロードすることもできます。 たとえば、IP パケットは、インターネット制御メッセージ プロトコル (ICMP) パケットである内部ペイロードを持つことができます。
NVGRE の詳細については、以下のインターネット ドラフトを参照してください。
NVGRE は、汎用ルーティング カプセル化 (GRE) に基づいています。 GRE の詳細については、以下のリソースを参照してください。
このセクションには、次が含まれます。
- 汎用ルーティング カプセル化 (NVGRE) タスク オフロードを使用したネットワークの仮想化の概要
- Large Send Offload (LSO) での NVGRE のサポート
- UDP セグメンテーション オフロード (USO) における NVGRE のサポート
- チェックサム オフロードでの NVGRE のサポート
- RSS および VMQ 受信タスク オフロードでの NVGRE のサポート
- 受信パス内のカプセル化されたパケットのトランスポート ヘッダーの検索
- ネットワーク アダプターの NVGRE タスク オフロード機能の判断
- NVGRE タスク オフロード状態のクエリと変更
- NVGRE タスク オフロード用の標準化された INF キーワード