[Системное администрирование, Сетевые технологии, Облачные сервисы] Way to Geneve

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
11-Апр-2021 02:30


Хабр, привет. Меня зовут Аркадий и я сетевой инженер в одном из сервис провайдеров.  Кому интересны основные отличия VXLAN от Geneve добро пожаловать под кат. Избегая выстрела в ногу, хочу отметить, что основа статьи – это выжимки из RFC и открытой информации WMware.В NSX-T VMware уходит от Overlay на базе VXLAN в пользу Geneve. Внедрение Geneve лоббируется помимо VMWare такими компаниями как : Intel, Microsoft, Red Hat. Маркетинг называет следующую причину к Geneve : "Geneve сочетает в себе лучшее от протоколов VXLAN (Virtual Extensible LAN), NVGRE(Network Virtualization using Generic Routing Encapsulation), and STT(Stateless Transport Tunneling)." Разберем отличия нового Overlay протокола и почему ему отдано предпочтение ведущими вендорами виртуализации. Теперь по порядку: Geneve - туннельный протокол работающий поверх UDP (port number) для построения туннелей между NVEs (Network Virtualization Edge) через IP underlay. Описан в RFC8926, который в свою очередь заменил предшествующий драфт draft-gross-geneve 2020-11-06. Протокол разрабатывался рабочей группой IETF с целью унификации и агрегации преимуществ протоколов VXLAN, NVGRE и STT. Недостатками которых являлись гибкость и ограниченность масштабирования в условиях стремительного развития виртуализации и сервисов на базе глобальных облачных провайдеров.Основной задачей технологии (протокола) является виртуализация  L2 домена работающего поверх базовой IP сети. Широко применяется в облачных средах, в связи с ограничениями по размеру поля  VLAN Tag 802.1q в 2 ^ 12 = 4094.GeneveМинимальный размер заголовка Geneve составляет 8 байт.
Geneve headerVer (2 bits) – Версия протокола. Текущее значение 0.Opt Len (6 bits) – указание размера поля Variable Length Options. Минимальный размер заголовка + значение Opt Len = полный размер заголовка. O (1bit) – Control packet. Интерпретируется TEPs (tunnel end points). Может использоваться для передачи пакета на обработку выше по стеку. C (1bit) – Critical options present. Установленный бит указывает на необходимость парсинга опций на TEPах. На TEPах поддерживающих парсинг опций пакет должен быть отброшен.Rsvd.(6 bits) Reserved. Значение поля должно быть = 0 при передаче пакета и игнорируемо на конечных хостах.Protocol type (16 bits) - 0x6558 Transparent Ethernet Bridging. VNI (24 bits) – Virtual Network Identifier – уникальный идентификатор сегмента виртуальной сети. Идентифицирует L2 домен которому принадлежит оригинальный Ethernet фрейм. NSX-T использует диапазон VNI от 5000 до 16777216.Reserved (8 bits). Значение поля должно быть = 0 при передаче пакета и игнорируемо на конечных хостах.За базовым заголовком Geneve следует поле опций в TLV формате. Каждая опция состоит из заголовка в 4 байта и данных интерпретируемых в соответствии с полем Type опции. В базовом заголовке предусмотрено поле для идентификации типа опции по организации, технологии, или вендору. Определенный блок IANA зарегистрировала для тестов и оптимизации протокола. Поле опций в заголовке Geneve по тексту RFC в большей степени предусмотрено для масштабирования протокола и возможностей оптимизации протокола разработчиками. В поле тип определено место контрольного бита (C) Critical являющегося глобальным по отношению ко всем TEPs. При обработке TEP пакета при выставленном бите C и не определенным типом опции – пакет должен быть отброшен. Хотя опции предназначены для обработки на конечных TEP, они также могут быть интерпретированы транзитными устройствами. Если обработка опций на транзитных устройствах не предусмотрена, то транзитные устройства выполняют обработку по аналогии с обычным UDP пакетом.В сравнении с VXLAN (RFC7348)
VXLAN Header (8 bytes)VXLAN Flags (8 bits) – Набор флагов, в котором I – должен быть выставлен в 1 для валидного VNI, R – зарезервированные флаги выставленные в 0 при передаче и игнорируемы на приемеReserved (24 bits) - Зарезервированные флаги выставленные в 0 при передаче и игнорируемы на приемеVNI (24 bits) - уникальный идентификатор сегмента виртуальной сети. Идентифицирует L2 домен. Размер поля такой же как у Geneve (порядка 16М номеров). Reserved (8 bits) - Зарезервированные флаги выставленные в 0 при передаче и игнорируемы на приеме.Ссылка на vxlan.pcap Summary по заголовкам пакетов VXLAN и GENEVE: Одинаковый минимальный размер заголовка 8 байт с возможность расширения Geneve за счет поля опций разной длины. Geneve обладает следующими «преимуществами»:
  • Поддерживает проприетарные* значения полей type, length, value;
  • Обладает гибкостью в отношении включения дополнительных метаданных в заголовок;
* ИМХО это кажется основной причиной описания нового стандарта и активного его внедения ведущими вендорами, а не маркетинговый булщит на тему сочетания в себе преимуществ предшественников.Целиком пакет Geneve over IPv4 выглядит так:
Ссылка на Geneve.pcapТребования к IP Underlay сетевой инфраструктуры следующие:
  • IP связность между TEP
  • Отсутствие на пути трафика блокировок UDP6081 Geneve или UDP4789 VXLAN
  • Минимальный MTU 1600 байт
ИтогоСущественных различий между VXLAN и Geneve на уровне заголовков нет, равно как и на этапе инкапсуляции пакета. Получилось достаточно кратко. В будущем планирую рассмотреть процесс построения таблиц соответствия (которых три) и этапы передачи Geneve пакета между TEP примере NSX-T.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_setevye_tehnologii (Сетевые технологии), #_oblachnye_servisy (Облачные сервисы), #_geneve, #_vxlan, #_vmware, #_overlay, #_nsxt, #_sistemnoe_administrirovanie (
Системное администрирование
)
, #_setevye_tehnologii (
Сетевые технологии
)
, #_oblachnye_servisy (
Облачные сервисы
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 13:23
Часовой пояс: UTC + 5