Temos um conjunto de dispositivos conectados em anel, que usam stp (usandohttps://github.com/mstpd/mstpdno momento) para evitar problemas com o loop. O que vimos é que, embora o stp possa adaptar a rede quando um link é totalmente quebrado, ele ignora uma situação em que um dos links apresenta uma grande perda de pacotes.
Isso é algo que o stp suporta? isto é, considerar a perda de pacotes em links de rede no custo associado a uma determinada interface e adaptar a rede com base nisso? Se não, existem boas alternativas?
A maneira como encontramos isso é porque havia alguns adaptadores usb para eth que falharam em alguns casos após a reinicialização ou após uma reconexão manual do cabo eth. Embora o problema seja provavelmente algum problema relacionado ao driver/sistema operacional, ele mostrou muito bem que o stp ainda escolhe o link parcialmente com falha, terminando em uma perda permanente de 50% de pacotes em vez de 0% para evitar esse link.
Responder1
O que vimos é que, embora o stp possa adaptar a rede quando um link é totalmente quebrado, ele ignora uma situação em que um dos links apresenta uma grande perda de pacotes. Isso é algo que o stp suporta?
A qualidade do link não é nada com que o STP se preocupe e nem foi projetado para lidar.
O STP é executado entre switches. Se mais do que apenas alguns pacotes forem perdidos, o link está ruim e precisa ser consertado.
A única maneira de evitar esses links ruins seria monitorar e desligar a porta a uma determinada taxa de erro. Como os links normalmente são praticamente livres de erros, isso não é nada que você normalmente encontraria em um switch.
Como solução alternativa, você pode usar prioridades de porta para que o STP evite um link sabidamente inválido e, ao mesmo tempo, mantenha-o como um failover.