Conversando um pouco mais sobre Cisco Fabric Extenders (FEX)

O Cisco Nexus 2000 Series Fabric Extender atua como modulo remoto de I/O para os Switches Cisco Nexus 7000 e 5000. Os “switches” Cisco Nexus 2000 não foram concebidos para a utilização no modo standalone e funcionam como linecards remotas que são gerenciadas por Switches “principais” (Parent Switch) como os modelos citados acima. O principal esforço do Fabric Extender (FEX) é manter toda a complexidade de operação dentro do Parent Switch.

Arquitetura FEX

A arquitetura Fabric Extender introduz uma nomeclatura diferente para as suas portas físicas e interfaces virtuais.

Host Interface (HIF): são as interfaces físicas de usuário/servidor no FEX (também chamadas de portas de host). Essas interfaces recebem o tráfego Ethernet normal antes de encapsular ou remover o encapsulamento do cabeçalho VN-Tag. Para cada interface de HIF é atribuído um único VN-Tag ID que é utilizado no encapsulamento do frame.

Fabric Interface (FIF) ou Network Interface (NIF): É a porta física utilizada para conectar o Fabric Extender ao Parent Switch. Não deve ser utilizado para nenhum outro proposito pois carrega somente o tráfego VN-Tag.

Logical Interface (LIF): É a representação de interface lógica no Parent Switch que emula uma interface Ethernet.

Virtual Interface (VIF): É uma entidade lógica dentro do FEX. É atribuída a configuração de um LIF (Parent Switch) ao VIF de um FEX associado.

O mapeamento entre um Parent Switch (LIF) e um Fabric Extender (VIF) é chamado de Virtual Network Link (VN-Link). Em todos os frames Ethernet que atravessarem o uplink (VN-Link) será adicionado um cabeçalho adicional chamado de VNTag. O Objetivo do VNTag é receber e encaminhar os frames para cada interface especifica do FEX.

O cabeçalho VN-TAG é inserido entre o endereço MAC de origem e o campo 802.1Q do cabeçalho Ethernet original. Os campos VNTAG são:

  • Ethertype: Esse campo identifica o quadro VN-Tag. O IEEE reservou o valor 0x986 para o VN-Tag Cisco.
  • Direction bit : O zero (0) indica que o frame está atravessando do FEX para o Parent Switch. O um (1) indica que o frame está atravessando do Parent Switch para o FEX
  • Pointer bit: O um (1) indica que o Vif_list_id inclui o tag. O zero(0) sinaliza que o Dvif_id está incluído no frame.
  • Virtual Interface List Identifier (Vif_list_id): é um campo de 14bits mapeado para uma lista de interfaces de host que o frame deve ser encaminhado.
  • Destintion Virtual Interface Identifier (Dvif_id): é um campo de 12bits mapeado para uma única interface de host que o frame Ethernet deve ser encaminhado.
  • Looped bit: Este campo indica um quadro multicast que foi encaminhado pelo switch e que mais tarde o recebeu. Neste caso, o FEX verifica o sfiv_id e filtra o quadro da porta correspondente.
  • Reserved bit: Bit reservado para uso futuro.
  • Version: Atualmente a versão está como 0 (zero) e representa a versão do TAG.
  • Source Virtual Interface Identifier(Svif_id): Campo de 12bits mapeado para interface de host que recebe um frame (se está indo do FEX para um Parent Switch).

Quando um frame é recebido pela porta de host, o Fabric Extender adiciona um VN-Tag e encaminha ao Switch principal. O Parent Switch então reconhece a interface lógica que recebeu o frame (através do campo Svif_id), remove o TAG e encaminha o quadro de acordo com a sua tabela de endereços MAC.

Na direção inversa, quando um frame é recebido ao Parent Switch e precisa ser encaminhado a um host no FEX. O Parent Switch lê o cabeçalho de destino do frame e encaminha para a interface logica indexada na tabela de endereços MAC. O switch insere o VN-Tag vinculado a interface lógica e encaminha quadro para o FEX correto. Quando o FEX recebe o frame, remove o VN-Tag e encaminha para a interface de host mapeada.

Da perspectiva do Data Plane, o encaminhamento das interfaces de host do FEX são totalmente dependente do Parent Switch. Consequentemente a comunicação entre duas interfaces de host no mesmo FEX, sempre irá atravessar ao Parent Switch e retornar ao FEX.

Para a comunicação de flooding, multicast e unicast,  é adicionado ao VN-Tag  o pointer bit e o Vif_list_id. Quando o quadro é encamihado do Parent Switch ao FEX, a informação é replicada para reduzir o tráfego nas interfaces de ‘uplink’.

Ao contrário dos uplinks entre dois switches tradicionais, o uplink do FEX para o Parent não é um trunk 802.1Q – o tráfego não é identificado ou isolado usando tags de VLAN. Em vez disso , os quadros são marcados com um VNTag  identificador que identifica a porta FEX .

Quando um FEX é conectado a um Parent Switch, um Tag ID exclusivo é alocado para cada interface host no FEX. O VNTag age como um cabo virtual que conecta a porta do host.

Protocolos SDP e SRP

Após existir uma conexão ativa entre o Fabric Extender e o seu Parent Switch, os switches irão encaminhar mensagens SDP (Satellite Discovery Protocol) periodicamente para descoberta entre si. Após a descoberta, o FEX enviará mensagens SRP (Satellite Registration Protocol)  e o Parent Switch responderá. O processo de registro é finalizado quando o FEX detecta o Parent Switch, mas as mensagens SDP continuam a ser trocadas entre ambos dispositivos após o registro.

Uma vez que o FEX se torna ativo, ele poderá reportar os HIFs locais ao Parent Switch. Port exemplo, as portas 110/1/1-110/1/48 são os HIFs representados na notação LIF Eth {fex/mod/port}.

Referências

Data Center Virtualization Fundamentals – Cisco Press 2014 – Gustavo A.A. Santana
https://www.packetmischief.ca/2012/08/28/what-the-fex-is-a-fex-anyways/
http://routing-bits.com/2012/05/16/what-is-a-fabric-extender/

Leave a Reply

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