Tenemos un conjunto de dispositivos conectados en anillo, que están usando stp (usandohttps://github.com/mstpd/mstpden este momento) para evitar problemas con el bucle. Lo que hemos visto es que, si bien stp puede adaptar la red cuando un enlace está completamente roto, ignora una situación en la que uno de los enlaces sufre una gran pérdida de paquetes.
¿Es esto algo que stp admite? es decir, ¿considerar la pérdida de paquetes en los enlaces de red en el costo asociado a una determinada interfaz y adaptar la red en base a eso? Si no, ¿existen buenas alternativas?
La forma en que nos topamos con eso es porque había algunos adaptadores USB a eth que fallaban en algunos casos después de reiniciar o después de una reconexión manual del cable eth. Si bien es probable que el problema esté relacionado con el controlador/sistema operativo, demostró muy bien que stp todavía elige el enlace parcialmente defectuoso, lo que termina en una pérdida permanente de paquetes del 50% en lugar del 0% de evitar ese enlace.
Respuesta1
Lo que hemos visto es que, si bien stp puede adaptar la red cuando un enlace está completamente roto, ignora una situación en la que uno de los enlaces sufre una gran pérdida de paquetes. ¿Es esto algo que stp admite?
La calidad del enlace no es algo que le importe a STP ni esté diseñado para manejar.
STP se ejecuta entre conmutadores. Si se pierden más que unos pocos paquetes, el enlace está defectuoso y es necesario repararlo.
La única forma de evitar esos enlaces defectuosos sería monitorear y cerrar el puerto a una cierta tasa de error. Dado que los enlaces normalmente están prácticamente libres de errores, eso no es nada que se encuentre comúnmente en un conmutador.
Como solución alternativa, podría utilizar las prioridades de puerto para que STP evite un enlace defectuoso y al mismo tiempo lo mantenga como conmutación por error.