Перейти к содержанию

VxLAN

  • MAC over UDP over IP
  • UDP, потому что в отличии от GRE VxLAN не имеет protocol number
  • UDP, чтобы не получить TCP over TCP в случае, когда клиент начнет использовать TCP
  • UDP для p2mp сессий (рассылка BUM трафика)
  • VXLAN позволяет виртуализировать как L2 так и L3 сервисы

Заголовок

vxlan_header

  • Длина - 8 байт (4 поля по 2 байта)

  • Общая длина заголовка кадра получается: 14 (Ethernet) + 20 (IP) + 8 (UDP) + 8 (VXLAN) + 14 (Ethernet) = 64 байта.

Если запустить пинг, то еще -20 байт (IP) и -8 байт (ICMP). Итого -92 байта от Hardware MTU. Если на всем промежутке между NVE установлен стандартный HwMTU, то ICMP пакет больше 1408 байт без фрагментации не пройдет.

  • UDP Dst port - 4789

  • UDP Src port - hash функция. Для Layer 2 - L2VNI+MAC, для Layer - L3VNI+IP.

Термины

  • VNI - VXLAN Network Identifier (24 бита - 16млн). Аналог VLAN ID. Может быть L2 или L3.
  • L2 VNI - мапится на bridge domain.
  • L3 VNI - привязывается к VPN инстансу через VBDIF интерфейс, который в свою очередь связан с BD.
  • NVE - Network Virtualization Edge - конечные устройства, реализующие виртуализацию сети. В их качестве так же могут быть и конечные хосты: серверы, виртуальные машины.
  • VTEP - VXLAN Tunnel Endpoint - конечная точка тоннеля, которая занимается инкапсуляцией/декапсуляцией трафика. У VTEP есть IP адрес, не находящийся в виртуальной сети. Между IP VTEP строится VXLAN тоннель.

Типы сигнализации

  1. Static (Unicast) - все VTEP в конфигурации VNI прописываются лапками (прям как VPLS Martini mode)
  2. -На исходящем VTEP BUM рассылается всем остальным VTEP
  3. -При добавлении/удалеии VTEP нужно править конфиг на всех остальных
  4. +Самый простой вариант
  5. Multicast - сигнализация происходит в underlay сети мультикастом (приемщуестенно PIM BIDIR)
  6. -Нужна поддержка мультикаста
  7. EVPN - сигнализаця BGP