Um dos grandes recursos que os switches Nexus 7000/5000/2000 trazem é o vPC. Esse feature já é largamente divulgado e utilizado.
Trata-se da possibilidade de criar port-channels entre um dispositivo qualquer e um par de Nexus (idênticos), que atuaram como um único dispositivo (data plane) do ponto de vista do tráfego que passa por esse port-channel.
Já que conhece FabricPath, sabe que trata-se de uma nova tecnologia para encaminhamento L2, sem a desvantagem do Spanning Tree de perda de banda devido ao bloqueio de portas, consequência do mecanismo inerente ao mesmo para evitar loops.
O FabricPath utiliza o conceito de Swith IDs para “rotear“ os frames entre os membros da malha FabricPath.
No entando, surge um problema quando tenta-se utilizer essas duas tecnologias juntas.
Vamos explorar esse problema e melhoria incluída no vPC, chamada vPC+.
Problema interoperação do vPC com o FabricPath:
O problema surge pois o vPC não cria um Switch ID para o vPC Domain, ou seja, embora agindo como um único dispositivo para o port-channel, cada um dos nexus mantém seu próprio Switch ID. Assim, o dispositivo que precisa encaminhar os frames de volta para o par de Nexus não sabe para qual encaminha, pois em sua Tabela MAC muda constantemente entre os valores dos Nexus.
Figura 1. Problem de encaminhamento com vPC em uma rede FabricPath
Isso gera problemas de performance e até mesmo perda de pacotes.
vPC+:
Na versão 5.1(3)N1(1) do NX-OS, é criado um Switch ID virtual para o vPC Domain. Ou seja, na malha FabricPath os Nexus passam a divulger esse Switch ID virtual para os dispositivos participantes do vPC. O Switch ID não ira mudar constantemente na Tabela MAC e a decisão de qual perna do vPC utilzar fica a cargo do algoritmo de balanceamento do port-channel.
Figura 2. vPC+ em uma rede FabricPath