Todos sabemos a grande vantagem de configurar Portfast, uma porta configurada com Portfast irá imediatamente começar a transmitir dados no estado ‘forwarding’ contornando os outros estados de spanning-tree. Esta é certamente uma grande característica para ter configurado em suas portas downstream conectando a sua estação de trabalho do usuário final ou seus servidores. Há também outra grande razão para configurar o Portfast nas portas de borda do seu cliente, que não é tão amplamente conhecida.
Quando uma switchport sobe ou desce o switch gera um pacote TCN (Topology Change Notification) e envia esse pacote TCN para a ponte raiz, a ponte raiz então responde de volta com um pacote TCA (Topology Change Acknowledge) simplesmente para reconhecer o pacote TCN. A ponte raiz então transmite outro BPDU com o bit TC (Topology Change) definido para cada switch dentro do domínio Spanning-Tree. Quando os outros switches recebem este pacote marcado com TC ele redefine o tempo de envelhecimento de cada entrada na tabela CAM (também conhecida como tabela de endereço MAC) para 15 segundos o que pode fazer com que o switch seja reconstruído é a tabela CAM se as entradas começarem a envelhecer. Agora, dependendo do tamanho da sua rede de camada 2, isto pode desperdiçar muitos recursos nos seus comutadores. Sem mencionar que causa uma grande sobrecarga de tráfego desnecessária, já que temos um conjunto de BPDUs transmitidas com o TCN, TCA e TC flags definidos individualmente. Tenha em mente também, que se as entradas da tabela CAM começarem a expirar, isso pode causar tráfego ARP desnecessário para informações adicionais que o switch já tinha.
Agora vamos rever um pouco disto:
Aqui está uma configuração de porta, sem portfast:
Quando desconectamos e reconectamos fa1/0/5, obtemos a seguinte saída de log:
Naquela captura de tela anterior, você vai notar que a primeira coisa que acontece é spanning-tree enviar aquele TCN BPDU, e a interface é marcada como down. Então eu reconecto o cabo para fa1/0/5 e você vê a porta passar pelos estágios de spanning-tree, desde ouvir a aprendizagem e finalmente o encaminhamento. (Crédito extra que versão de spanning estou executando?) Algo para notar também é o fato de que outro pacote TCN BPDU é enviado quando a porta é colocada de volta no estado de encaminhamento.
Agora vamos configurar o Portfast nesta switchport:
Agora novamente vamos desconectar e reconectar esta porta novamente:
Existe muito menos acontecendo aqui em comparação com nossa experiência anterior, o importante aqui é notar que não há nenhum TCN transmitido não quando a porta é marcada como para baixo nem quando a porta é marcada como para cima (ou encaminhamento). Os únicos eventos STP que são registrados é o fato da porta fa1/0/5 ir diretamente para o estado de encaminhamento a partir do estado de bloqueio contornando o estado de escuta e o estado de aprendizado, permitindo que o cliente comece a usar a rede ainda mais rápido.
Agora, vamos sentar na nossa cadeira por um segundo e pensar sobre isso por um minuto. Um TCN é enviado quando a switchport é desligada e novamente quando a switchport entra no estado de encaminhamento. Então, quando um usuário final decide reiniciar seu PC, quando ele destrava seu laptop para ir a uma reunião, atraca de volta em sua mesa novamente, ou quando ele decide reorganizar sua mesa e desconectar seu PC um TCN será transmitido fazendo com que os switches diminuam os temporizadores de envelhecimento das entradas na tabela de endereços MAC. Isso pode ser uma grande utilização de recursos desnecessários.
P.S. Lembre-se de habilitar o BPDU Guard ao habilitar portfólios! Portfast é uma ótima ferramenta, mas como ele salta os estados de escuta e aprendizagem você executa a possibilidade de criar loops de comutação de camada 2 se cruzar vários switches ou se seus usuários começarem a conectar switches/hubs simples em suas mesas. O BPDU Guard colocará uma porta em um status Err-Disabled se ele receber um BPDU nessa porta.