antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 8 Февраль , 2017

Виртуальная локальная расширяемая сеть (Virtual Extensible LAN, VXLAN) представляет собой оверлей (overlay) виртуализированную технологию. VXLAN позволяет растянуть L2 сегмент через транспортную (underlay) L3 сеть используя MAC in UDP инкапсуляцию (чем-то похоже на OTV).

На рисунке ниже представлен VXLAN пакет:

Как видим, вводится дополнительный 8-ми байтовый заголовок, который состоит из полей VNID, длиной 24 бита (по сути, это номер VXLAN – аналог номера VLAN в традиционных LAN сетях), 8-ми битного указателя и зарезервированных полей.

Сетевые устройства, которые производят VXLAN инкапсуляцию (и деинкапсуляцию соответственно) называются оконечными туннелями VXLAN (VXLAN Tunnel Endpoint, VTEP). Каждый VTEP имеет интерфейсы 2-ух ролей: один интерфейс типа L2 для коммутации трафика внутри LAN и один L3 IP интерфейс, с которого строится VXLAN туннель к другому  VTEP.

VTEP также ответственен за то, чтобы узнать о других VTEP в сети и о том, чтобы узнать, какие MAC адреса за этими VTEP находятся.

Встает логичный вопрос – а как же осуществляется сей процесс? Сейчас мы об этом и поговорим!

На текущий момент в мире существует два способа решения означенного вопроса – с помощью Data Plane Learning и с помощью Control Plane Learning. Рассмотрим Data Plane Learning на примере.

Предположим, что компьютер А и компьютер B находятся в одной L3 подсети и компьютер А хочет связаться с компьютером B.

 

  1. Компьютер А высылает ARP запрос чтобы узнать МАС адрес IP-B.
  2. VTEP-1 получает данный запрос. Если VTEP-1 на данный момент не знает о связке MAC-B/IP-B, то он инкапсулирует ARP запрос внутрь VXLAN и высылает пакет на мультикаст IP-адрес. В качестве Source IP выставляется IP-1. Номер VNID берется из конфигурации VTEP-1.

vlan 100
 vn-segment 10

  1. Мультикастный IP-пакет маршрутизируется по Underlay топологии и доставляется всем VTEP, которые подписаны на данную группу рассылки (в нашем случае это VTEP-2 и VTEP-3). VTEP-2/3 деинкапсулируют пакет и проверяют номер Если этот номер у них сконфигурирован локально, то VTEP заносят себе в память соответствие MAC-A/IP-1 и пересылают Ethernet пакет в VLAN, которая соответствует номеру VNID.

Прим. Номера VLAN, в принципе, могут не совпадать на разных VTEP. Т.е. VLAN становится не «глобально уникальным номером», а имеет смысл только в рамках одного VTEP.

  1. Компьютер В получает ARP запрос и отвечает на него ARP ответом (юникаст ответ).
  2. VTEP-2 инкапсулирует ARP ответ в VXLAN и отправляет его юникаст-пакетом в сторону VTEP-1 (т.к. VTEP-2 уже знает, что MAC-A находится за IP-1).
  3. VTEP-1 деинкапсулирует пакет и отправляет его в сторону компьютера А. Одновременно с этим VTEP-1 создает запись-привязку MAC-B/IP-2.

Такой процесс изучения MAC-адресов и VTEP-соседей носит название VXLAN Flood and Learn. Хочется заметить, что подобный метод изучения не является совсем уж оптимальным, т.к. подразумевает довольно таки большое количество BUM (Broadcast, Unknown Unicast and Multicast) пакетов по Underlay сети.

Конфигурация VXLAN

В качестве тестового стенда будем использовать следующую топологию:

Конфигурация устройств приведена ниже.

—— 3172A ——

feature ospf

feature pim

feature vn-segment-vlan-based

feature nv overlay

!

ip pim rp-address 192.168.1.100 group-list 224.0.0.0/4

!

vlan 10

 vn-segment 160010

vlan 20

 vn-segment 160020

!

interface nve1 // интерфейс, на котором терминируется VXLAN

source-interface loopback1

 member vni 160010 mcast-group 231.1.1.1

 member vni 160020 mcast-group 231.1.1.1

no shutdown

!

interface Ethernet1/3

no switchport

ip address 192.168.1.10/30

ip router ospf 2 area 0.0.0.0

ip pim sparse-mode

!

interface loopback1

ip address 192.168.2.5/32

ip router ospf 2 area 0.0.0.0

ip pim sparse-mode

 

—— 9396А/B ——

eature ospf

feature pim

feature vn-segment-vlan-based

feature nv overlay

!

ip pim rp-address 192.168.1.100 group-list 224.0.0.0/4

!

vlan 1,10,20

vlan 10

vn-segment 160010

vlan 20

vn-segment 160020

!

vpc domain 1

peer-switch

peer-keepalive destination 10.122.140.99

 peer-gateway

!

interface port-channel1

switchport mode trunk

spanning-tree port type network

vpc peer-link

!

interface port-channel48

switchport mode trunk

vpc 48

!

interface nve1

mtu 9216

no shutdown

source-interface loopback1

member vni 160010 mcast-group 231.1.1.1

member vni 160020 mcast-group 231.1.1.1

!

interface Ethernet1/7

no switchport

ip address 192.168.1.2/30

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

no shutdown

!

interface loopback1

ip address 192.168.2.2/32

 ip address 192.168.2.1/32 secondary

ip router ospf 1 area 0.0.0.0

ip pim sparse-mode

 

Хотелось бы обратить Ваше внимание на некоторые моменты.

  1. На интерфейсе Loopback1 коммутаторов N9K, которые находятся в vpc домене, сконфигурирован один и тот же secondary IP. Это необходимо для того, чтобы 2 указанных коммутатора представлялись всем остальным VTEP девайсам как одно. Т.е. VXLAN туннель будет строиться именно с secondary IP, а не
  2. Необходима команда peer-gateway на vpc-пирах для оптимальной обработки трафика как со стороны L2 домена, так и от L3 Underlay сети.

Основные команды для верификации

3172-A# show nve peers

Interface          Peer-IP           Peer-State

—————-   —————   ————-

nve1               192.168.2.1        Up

!

3712-A# show nve vni

Interface          VNI        Multicast-group   VNI State

—————-   ———   —————   ———

nve1               160010     231.1.1.1         Up

nve1               160020     231.1.1.1         Up

!

3172-A# show mac address-table vlan 10

Legend:

* — primary entry, G — Gateway MAC, (R) — Routed MAC, O — Overlay MAC

age — seconds since first seen,+ — primary entry using vPC Peer-Link

VLAN     MAC Address      Type      age     Secure NTFY   Ports/SWID.SSID.LID

———+——————+———+———+——+—-+——————

* 10       0000.1111.1111    dynamic   5030       F    F  Eth1/48

* 10       0000.2222.2222    dynamic   5010       F    F  nve1(192.168.2.1)

 

Метки:
Опубликовано: CCIE DC , Data Center , Virtualization

 

» Оставить комментарий

Вы должны войти чтобы прокомментировать.