Switching lógico no NSX
A computação em nuvem e os data centers baseados em software trazem diversos desafios às estruturas tradicionais de rede, tais como:
- Necessidade de segmentação de rede por aplicação ou por cliente (tentant)
- A mobilidade das máquinas virtuais requer camada 2 de rede estendida em amplos domínios
- Grandes domínios de camada 2 geram dificuldades de implementação do protocolo Spanning-Tree
- Limites de memória física para tabelas MAC e FIB
O NSX usa tecnologias de overlay IP* para solucionar essas questões e prover infraestrutura de rede para o data center dinâmico trazendo:
- Escalabilidade para diversos clientes através de todo o data center
- Possibilidade de utilização de camada 2 através da camada 3 (L2 over L3)
- Extensão dos switches lógicos através de diferentes hosts e diferentes switches físicos
* NOTA: atualmente o NSX utiliza os protocolos GRE, STT e VXLAN como tecnologias de IP overlay.
VXLAN
O protocolo VXLAN foi desenvolvido em conjunto pelas empresas Arista, Broadcom, Cisco, Citrix, Red Hat, entre outras e foi submetido ao IETF para padronização (https://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-09). É uma tecnologia de overlay IP que permite que os limites de uma rede virtual sejam estendidos através de redes IP baseadas em diferentes equipamentos físicos.
Algumas características dos protocolo VXLAN são descritas abaixo:
- Promove estensão do número de segmentos lógicos Ethernet de 4094 para 2^24 (mais de 16 milhões de segmentos)
- Encapsula o frame de Ethernet de origem em um novo segmento UDP * com porta de destino 8472 (em 2013 o IANA reservou a porta UDP 4789 para VXLAN).
- Com o encapsulamento do frame Ethernet, 50 bytes são adicionados ao frame original (comentários sobre configuração de MTU da rede serão feitos em momento oportuno nessa série de artigos)
* NOTA: frequentemente chamado de pacote UDP, o nome correto da PDU (Protocol Data Unit) de camada 4 é segmento.
A figura abaixo ilustra um desenho esquemático de um quadro Ethernet encapsulado com o protocolo VXLAN:
Switches lógicos (logical switches)
Os switches lógicos disassociam os serviços de rede e as máquinas virtuais da rede física subjacente através da utilização do protocolo VXLAN. Na prática, o switch lógico é um segmento de rede virtual identificado com um VNI (VXLAN ID) de 24 bits (ver figura anterior).
De forma resumida, na criação de um switch lógico no NSX ocorrem os seguintes eventos:
- Cada switch lógico recebe um VNI
- Um portgroup vDS é criado em todos os hosts na mesma zona de transporte em que o switch lógico é criado.
A partir daí, as placas de rede das máquinas virtuais (vNICs) podem ser conectadas ao switch lógico.
O plano de controle do NSX gerencia os switches lógicos e pode ser configurado em um de três modos:
- Multicast: o plano de controle utiliza endereços IP Multicast na rede física (necessita da configuração de roteamento multicast PIM e IGMP / IGMP Snooping na LAN. Recomendado para upgrades de versões anteriores de VXLAN
- Unicast: o plano de controle é executado por uma controller NSX (que funciona como uma máquina virtual em um host ESXi). Nenhuma configuração especial é necessária na rede física
- Híbrido: é o modo unicast otimizado com multicast na LAN para realizar offload de replicação local de tráfego. Esse modo requer IGMP e IGMP Snooping configurados no switch de primeiro nó. É importante lembrar que para correto funcionamento do IGMP é trambém necessário configurar o IGMP querier no primeiro nó L3 que coneta essa LAN.
NSX Controllers
As controllers do NSX fornecem roteamento leste-oeste através da programação dos fluxos de tráfego no vSwitch. A instalação de controllers é necessária para utilização de plano de controle nos modos unicast ou híbrido dos switches lógicos.
A controller irá otimizar o tráfego broadcast de ARP das máquinas virtuais guardando a tabela nos hosts ESXi que fazem parte da mesma zona de transporte.
As controllers trabalham em modo clusterizado como forma de prover escalabilidade e alta disponibilidade (a recomendação da VMware é trabalhar com números ímpares de controllers, começando a implementação com três controllers).
A controller é parte do plano de controle. Nenhum tráfego do plano de dados passa por elas.
O próximo artigo dessa série demonstra as instalações e configurações necessárias para a instalação das controlers e switches lógicos.
Clique no link a seguir para acessar o próximo artigo da série Instalação de controllers NSX.
Para acessar o índice dessa série de artigos clique em Introdução ao NSX – Índice.
Referências
Este artigo utiliza como referências testes realizados no laboratório do Agility Tech Center e os seguintes documentos da VMware:
- NSX Installation and Upgrade Guide (NSX 6.0 for vSphere)
- NSX Administration Guide (NSX 6.0 for vSphere)
- VMware NSX Network Virtualization Design Guide