NVGREの定義
NVGRE標準は、Microsoft、Arista、Intel、Hewlett-Packard、Dell、およびBroadcomによって提案されました。 これはネットワーク仮想化の方法であり、カプセル化およびトンネリング技術を通じてサブネットに多数の仮想ローカルエリアネットワークを提供します。 NVGREは、仮想ローカルエリアネットワークを分散データセンターとデータリンク層およびネットワーク層に拡張できることを十分に考慮しているため、仮想ローカルエリアネットワークはサブネットを提供し、マルチテナントおよび負荷分散ネットワークをローカルで共有できます。およびクラウド環境。
全体として、NVGREは、仮想ローカルエリアネットワークが複雑な仮想化環境で機能できないことによって引き起こされる一連の問題を解決し、分散したデータセンターで長距離伝送を実行できない場合にネットワークセグメントを拡張することを目的としています。
VXLANの定義
VXLAN仕様は、Cisco、VMware、Citrix、Red Hat、Arista、Broadcomなどによって作成されました。これはVLANを拡張し、大規模なデータセンターでの不十分な仮想ネットワークの現在の問題を解決することを目的としたネットワーク仮想化テクノロジーです。 実際、ネットワークエンジニアは、仮想ローカルエリアネットワークを使用してクラウドコンピューティングデータセンターのクラウドアプリケーションとテナントを分離しましたが、仮想ローカルエリアネットワークでは、特定の時間に最大4096のネットワークIDしか割り当てることができません。これは、大規模な場合には十分とは言えません。クラウドコンピューティングデータセンター。 そのため、VXLANが誕生しました。 VXLANは、24ビットのセグメントIDを追加することで仮想ローカルエリアネットワークのアドレス空間を拡張し、それによって使用可能なIDの数を1600万に増やします。 同時に、クラウドアプリケーションとテナントを論理的に分離します。 各フレームのVXLANセグメントIDは、テナントの各論理ネットワークとネットワークIDを区別できるため、数百万の独立したレイヤー2VXLANネットワークが共通のレイヤー3インフラストラクチャと共存できます。 VXLANの詳細については、GG quot; QinQ vs VLAN vs VXLAN GGquot;をご覧ください。
NVGREとVXLANの違いは何ですか?
以上のことから、NVGREとVXLANの目的は同じで、実際の用途もほぼ同じであることがわかりますが、伝送プロトコル、データパケット形式、伝送モード、断片化にも多少の違いがあります。

パケットフォーマットの違い
パケット形式は、VXLANとNVGREの最も明らかな違いです。 VXLANのパケットヘッダーには、24ビットのIDセグメント(1600万の一意の仮想セグメントを表す)が含まれています。これは通常、UDPポートで疑似ランダムアルゴリズムによって生成されます(UDPポートはのフレーム内の元のMACハッシュによって生成されます) 。 これにより、5タプルに基づく負荷分散が保証され、データパケット内のMACグループが一意のUDPポートグループにマッピングされるため、仮想マシン(VM)間のデータパケットの順序が節約されます。 次の図に示すように、VXLANカプセル化により、データパケットのサイズが50バイトに拡張されます。

NVGREはVXLANのような1600万の仮想ネットワークをサポートできますが、そのデータパケットは、テナントネットワーク識別子(TNI)としてGREヘッダーの下位24ビットを使用します。 帯域幅使用率の粒度を表すフローを提供するために、伝送ネットワークはGREヘッダーを使用する必要があります。これにより、NVGREは従来のロードバランシングと互換性がなくなります。 これは、VXLANとの最大の違いであり、最大の欠点でもあります。
さまざまな送信方法
VXLANは、トランスポートネットワークでマルチキャストを使用して、レイヤー2セグメントでのブロードキャスト、未知のユニキャスト、およびマルチキャストフラッディングをシミュレートします。 これは、MACアドレス学習およびアドレス解決プロトコル(ARP)のためのものであり、VXLAN作業プロセスプロトコル(NDP / ND)などでの近隣探索は非常に重要です。 負荷分散を改善するために、NVGREは通常、各NVGREホストで複数のIPアドレスを使用して、より多くのトラフィックを負荷分散できるようにします。 NVGREは、学習のためにフラッディングとIPマルチキャストに依存する必要がなくなりましたが、より柔軟な方法でブロードキャストします。

さまざまな伝送プロトコル
VXLANは、標準の伝送プロトコル、つまりTCP / UDPプロトコルを使用します。 一方、NVGREは、一般的なルーティングカプセル化プロトコル、つまりGREプロトコルを使用します。 さらに、前者はCiscoによって駆動され、後者はMicrosoftによってサポートされています。
シャーディングの違い
NVGREは、断片化されたデータパケットの最大伝送ユニットをサポートします。これにより、大きなフレームの伝送をサポートする伝送ネットワークを必要とせずに、内部仮想ネットワークデータパケットのサイズを削減できます。 ただし、VXLANはフラグメンテーションをサポートしていません。データパケットサイズの拡張に耐えるために、大きなフレームをサポートする伝送ネットワークが必要です。
結論
全体として、VXLANとNVGREは、トンネリングを実装する高度なネットワーク仮想化テクノロジーです。 仮想ネットワークのサイズを4094から1600万に拡張し、レイヤー2パケットをレイヤー3ネットワークで送信できるようにするため、大規模なデータセンターは通常、NVGREとVXLANをサポートするネットワーク機器を追加してネットワークを拡張します。 たとえば、NVGREとVXLANをサポートするスイッチを使用すると、大規模なデータセンターの仮想ローカルエリアネットワークの制限が克服され、より機敏な仮想マシンネットワーク環境が提供されます。

