Определение NVGRE
Стандарт NVGRE был предложен Microsoft, Arista, Intel, Hewlett-Packard, Dell и Broadcom. Это метод виртуализации сети, обеспечивающий большое количество виртуальных локальных сетей для подсетей с помощью технологии инкапсуляции и туннелирования. NVGRE полностью считает, что виртуальная локациалная сеть может быть расширена через распределенные центры обработки данных и слой передачи данных и сетевой слой, поэтому виртуальная локавная сеть предоставляет подсети, так что многопользовательская и сбалансированная с нагрузкой сеть может быть разделена в локальной и облачной средах.
В целом NVGRE стремится решить ряд проблем, вызванных неспособностью виртуальных локальных сетей работать в сложной виртуализированной среде, а также расширить сегменты сети, когда передача данных на большие расстояния не может осуществляться в разрозненных центрах обработки данных.
Определение VXLAN
Спецификация VXLAN была создана Cisco, VMware, Citrix, Red Hat, Arista, Broadcom и др. Это технология виртуализации сети, которая расширяет VLAN и направлена на решение текущей проблемы нехватки виртуальных сетей в крупных центрах обработки данных. На самом деле, сетевые инженеры использовали виртуальные локальные сети для отдельных облачных приложений и арендаторов в центрах обработки данных облачных вычислений, но виртуальные локальные сети позволяют выделять только до 4096 сетевых ИТ-устройств в определенное время, что далеко не достаточно для крупных центров обработки данных облачных вычислений. Поэтому появился VXLAN. VXLAN расширяет пространство виртуального локального сетевого адреса, добавляя 24-битные ID-адреса сегмента, тем самым увеличивая количество доступных ID-адресов до 16 миллионов. В то же время он логически разделяет облачные приложения и арендаторов. Идентификатор сегмента VXLAN в каждом кадре может различать каждый логический идентификатор сети и сети арендатора, поэтому миллионы независимых сетей VXLAN уровня могут сосуществовать с общей инфраструктурой уровня 3. Для получения дополнительной информации о VXLAN, пожалуйста, посетите "Цинь против VLAN против VXLAN".
В чем разница между NVGRE и VXLAN?
Из вышесказанного видно, что NVGRE и VXLAN имеют одинаковую цель и почти одинаковое фактическое использование, но есть также некоторые различия в протоколе передачи, формате пакетов данных, режиме передачи и фрагментации.

Разница в формате пакетов
Формат пакета является наиболее очевидным различием между VXLAN и NVGRE. Пакетный заголовок VXLAN содержит 24-битный сегмент ID (представляющий 16 миллионов уникальных виртуальных сегментов), который обычно генерируется псевдо-случайным алгоритмом в порту UDP (порт UDP генерируется исходным MAC Hash в кадре). Это поможет обеспечить балансировку нагрузки на основе 5-tuples, а также сохранить порядок пакетов данных между виртуальными машинами (VMs) путем отображения группы MAC в пакете данных в уникальную группу порта UDP. Инкапсуляция VXLAN расширяет размер пакета данных до 50 байтов, как показано на следующей цифре:

Хотя NVGRE может поддерживать 16 миллионов виртуальных сетей, таких как VXLAN, его пакеты данных используют нижние 24 бита заголовка GRE в качестве идентификатора сети арендаторов (TNI). Для обеспечения потока, описывающего детализацию использования пропускной способности, сети передачи необходимо использовать заголовок GRE, что делает NVGRE несовместимым с традиционной балансировкой нагрузки. Это также самое большое отличие от VXLAN и самый большой недостаток.
Различные методы передачи
VXLAN использует мультикаст в транспортной сети для имитации вещания, неизвестного однокаста и многокастного затопления в сегменте слоя 2. Это для MAC адрес обучения и протокола разрешения адресов (ARP) и сосед открытие в VXLAN рабочий процесс Протокола (NDP / ND) и так далее очень важны. Для того, чтобы улучшить балансировку нагрузки, NVGRE обычно использует несколько IP-адресов на каждом хосте NVGRE, чтобы гарантировать, что больше трафика может быть сбалансировано. NVGRE больше не нужно полагаться на наводнения и IP multicast для обучения, но вещает в более гибкой основе.

Различные протоколы передачи
VXLAN использует стандартный протокол передачи, а именно протокол TCP/UDP; в то время как NVGRE использует общий протокол инкапсуляции маршрутизации, а именно протокол GRE. Кроме того, первый управляется Cisco, а второй поддерживается корпорацией Майкрософт.
Разница в осколке
NVGRE поддерживает максимальную единицу передачи фрагментированных пакетов данных, что может уменьшить размер внутренних виртуальных пакетов сетевых данных, без необходимости в сети передачи для поддержки передачи больших кадров. Но VXLAN не поддерживает фрагментацию, ему нужна сеть передачи, которая поддерживает большие кадры, чтобы нести расширение размера пакета данных.
Заключение
В целом, VXLAN и NVGRE являются передовыми технологиями виртуализации сети, которые реализуют туннелирование. Они расширяют размер виртуальных сетей с 4094 до 16 миллионов, и позволяют пакеты слоя 2 для передачи на слой 3 сетей, так что большие данные Центр обычно добавляет сетевое оборудование, которое поддерживает NVGRE и VXLAN для расширения сети. Например, использование коммутаторов, хдяшных NVGRE и VXLAN, преодолевает ограничения виртуальных локальных сетей в крупных центрах обработки данных и обеспечивает более гибкую виртуальную машинную сетевую среду.

