Introdução a VXLAN

Com o crescimento dos Data Centers, da virtualização de máquinas e de serviços de Cloud, surge a necessidade de estender as VLANs através ou além dos DCs.

Para conseguir manter a utilização dos recursos computacionais de maneira eficiente, há uma tendência de utilizar VMs  pertencentes a um ambiente compartilhado em inúmeras localizações físicas e estas VMs devem mover-se entre diferente localizações sob-demanda.  Mas a movimentação de VMs necessita que a máquina retenha o endereço MAC e IP para que o processo ocorra de maneira transparente para as camadas superiores como a de Aplicação. Este é um grande desafio para o modelo tradicional de Data Center, onde VMs necessitam mover-se dentro de um tradicional dominio de broadcast.

Para suportar a mobilidade de VMs entre PODs em um DC, ou sites, a rede deve ser desenhada como uma grande rede L2, o que acarreta varias limitações que precisam ser re-endereçadas:

– Primeiro: Devido a virtualização de servidores, cada máquina virtual (VM) requer um endereço MAC único e um endereço IP. A escalabilidade da tabela de endereços de camada 2 é uma das grandes preocupações em Data Centers virtualizados. Com a virtualização, o número de endereços MAC por porta pode atingir de 50 a 100 VMs por servidor, sobrecarregando assim os Switches ToR (Top-of-Rack) ou da camada de aggregação.Com isso após a tabela MAC dos Switches atingir o limite, uma parte do tráfego começa a ser “inundado” por toda a rede, resultando em um grande fluxo de dados  desnecessário.

– Outro ponto importante é a extensão de VLANs pelos Switches do DC que torna-se uma tarefa complexa quando planejamos  uma implantação fim-a-fim pelo Data Center.

– Com a utilização do STP para fornecer uma topologia livre de loops de camada 2, o protocolo Spanning-Tree desativa links redundantes. Assim, Equal-Cost Multi-Path (ECMP) não é habilitado. No entanto, 0 ECMP é fácil de habilitar em uma rede IP.

VXLAN

O padrão VXLAN (Virtual eXtensible Local Area Network) trabalha em cima da limitação da quantidade de VLANs em um Data Center que é a de 4K VLANs. O Protocolo VXLAN emprega MAC sobre IP/UDP, e permite assim aumentar o número de domínios de Broadcast para 16 milhões.

O VXLAN é uma rede de camada 2 sobreposta em uma rede de camada 3. Cada rede sobreposta é chamada de segmento VXLAN e é identificada por um ID único de 24 bits chamado VNI – VXLAN Network Identifier (Identificador de Rede VXLAN) ou VXLAN ID. Já a identificação de uma máquina virtual é uma combinação do endereço MAC e o VNI.

As Máquinas virtuais em VXLAN diferentes não podem comunicar umas com as outras (sem a utilização de um roteador). O pacote original enviado pela VM na camada 2 é encapsulado em um cabeçalho VXLAN que inclui o VNI associado ao segmento VXLAN que aquela máquina virtual pertence.

Imagem copiada do site da http://blogs.cisco.com/datacenter/cisco-vxlan-innovations-overcoming-ip-multicast-challenges/

O encapsulamento do quadro é feito pelo equipamento que está na extremidade do túnel VXLAN, que é chamado de VTEP (VXLAN Tunnel Endpoint).

O VTEP pode ser tanto ser implementado como um módulo de software em um Switch Virtual, em um Servidor ou em um Switch Top-of-Rack (ToR). Uma interface VTEP é vinculada a um endereço IP único e pode ser considerada equivalente a uma interface loopback.

Quando uma VM quer comunicar com outra VM no mesmo segmento, o VTEP vinculado à VM atribui o encapsulamento adequado da VXLAN, inserindo o cabeçalho VXLAN, sobre o cabeçalho original, colocando o endereço IP de origem do VTEP (como Source IP Address [SIP] nesse novo cabeçalho) e o endereço de destino (Destination IP Address [DIP]) correspondente ao VTEP que a VM de destino reside. Quando o pacote é recebido pelo VTEP de destino, o cabeçalho VXLAN é removido e o pacote interno e é encaminhado para a VM de destino.

O VTEP mantém uma tabela de endereços MAC aprendidos e armazena o endereço IP do túnel para o VTEP remoto. Quadros unicast entre VMs são enviadas diretamente para o endereço unicast L3 do VTEP remoto. Os pacotes multicast e broadcast das VMs são enviados a um grupo IP multicast associado à VNI, o VTEP remoto recebe o quadro multicast, encaminha o pacote a máquina destino (efetuando todos os mapeamentos do VTEP e VM de origem. A VM de destino faz uma respota ARP normalmente em unicast. O VTEP encapsula o pacote ARP com o padrão VXLAN e encaminha o quadro para o  VTEP da VM de origem….

Consequentemente, um segmento VXLAN “estendido” requer:

  • Um Grupo IP Multicast associado
  • Roteamento Multicast entre os VTEP

Mas como é feita a comunicação com equiapamentos não-virtualizados?

Uma das maneiras de permitir a conexão entre VXLAN e uma VLAN tradicional é através de um equipamento (virtual ou não) chamado de VXLAN Gateway.

A funcionalidade do Gateway VXLAN pode ser embutida no VTEP, fazendo o mapeamento para substituição do encapsulamento VXLAN para cabeçalho 802.1Q  e assim por diante, tendo a responsabilidade como um ponto de entrada e saída de uma nuvem VXLAN.

Pelas características de funcionamento para o Gateway VXLAN entre o ambiente físico  e virtual, encontramos essa função em documentações atribuída como Layer 2 VXLAN Gateway (ou Gateway VXLAN de Camada 2).

Já para o roteamento entre VXLANs essa função é atribuída ao VXLAN Gateway,também chamada de Layer 3 VXLAN Gateway.

Referência

http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2012_2/nvgre/vxlan.html
http://networksbase.blogspot.in/2012/09/vxlan.html
http://codingrelic.geekhold.com/2011/09/care-and-feeding-of-vxlan.html
Data Center Virtualization Fundamentals – Cisco Press – 2013 – Gustavo A.A. Santana
Using TRILL, FabricPath, and VXLAN – Cisco Press 2014 – Sanjay K. H., Shuyam Kapadia,Padmanabhan Krishnan.

Leave a Reply

Your email address will not be published. Required fields are marked *