Este documento describe los temporizadores STP (Spanning-Tree Protocol) y las reglas que se deben seguir para ajustar los temporizadores.
Nota: Este documento sólo explica cómo ajustar los temporizadores STP para el árbol de expansión 802.1D normal. Este documento no explica el protocolo de STP rápido (RSTP) (IEEE 802.1w) o de árbol de extensión múltiple (MST) (IEEE 802.1s). Para obtener más información sobre RSTP y MST, consulte estos documentos:
Este documento asume una buena comprensión del STP. Para obtener más información sobre el funcionamiento del STP, consulte Introducción y configuración del protocolo de árbol de extensión (STP) en los switches Catalyst .
Precaución: Puede utilizar este documento para ayudarle a resolver sus problemas de red, pero sólo si está familiarizado con el proceso o si alguien familiarizado con el proceso le ha dirigido. Si no está familiarizado con el STP, los cambios que realice pueden causar cualquiera de estas ocurrencias:
Inestabilidad
Retrasos de aplicaciones
picos de CPU
fusión de LAN
Consulte 802.1D - Estándares IEEE para redes de área local y metropolitana: Media Access Control (MAC) Bridges (Cláusula 8) para obtener más detalles y referencias sobre todos los parámetros que se tratan en este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
Hay varios temporizadores STP, como muestra esta lista:
hello: el tiempo hello es el tiempo entre cada unidad de datos del protocolo de puente (BPDU) que se envía en un puerto. Este tiempo es igual a 2 segundos (s) de forma predeterminada, pero puede ajustar el tiempo para que esté entre 1 y 10 segundos.
retardo de reenvío: el retardo de reenvío es el tiempo que se pasa en el estado de escucha y aprendizaje. Este tiempo es igual a 15 segundos de forma predeterminada, pero puede ajustar el tiempo para que esté entre 4 y 30 segundos.
antigüedad máxima: el temporizador de edad máxima controla el tiempo máximo que pasa antes de que un puerto puente guarde su información de BPDU de configuración. Esta hora es de 20 segundos de forma predeterminada, pero puede ajustar el tiempo para que esté entre 6 y 40 segundos.
Cada BPDU de configuración contiene estos tres parámetros. Además, cada configuración de BPDU contiene otro parámetro relacionado con el tiempo conocido como la antigüedad del mensaje. La antigüedad del mensaje no es un valor fijo. La antigüedad del mensaje contiene el tiempo que ha pasado desde que el puente raíz originó inicialmente la BPDU. El bridge raíz envía todas sus BPDU con un valor de antigüedad del mensaje de 0, y todos los switches subsiguientes agregan 1 a este valor. Efectivamente, este valor contiene la información sobre lo lejos que está del puente raíz cuando recibe una BPDU. Este diagrama ilustra el concepto:
Cuando se recibe una nueva configuración BPDU igual o mejor que la información registrada en el puerto, se almacena toda la información BPDU. El temporizador de edad comienza a funcionar. El temporizador de antigüedad comienza en la antigüedad del mensaje que se recibe en esa configuración BPDU. Si este temporizador de antigüedad alcanza la antigüedad máxima antes de que se reciba otra BPDU que actualice el temporizador, la información se desactualiza para ese puerto.
Este es un ejemplo que se aplica al diagrama de esta sección:
Los switches B y C reciben una BPDU de configuración del switch A con una antigüedad de mensaje de 0. En el puerto que va a A, la información se desactualiza en (edad máxima - 0) s. Esta hora es de 20 segundos de forma predeterminada.
Los switches D y E reciben la BPDU del switch B con una antigüedad de mensaje de 1. En el puerto que va a A, la información se desactualiza en (antigüedad máxima - 1) s. Esta hora es de 19 segundos de forma predeterminada.
El switch F recibe la BPDU del switch E con una antigüedad de mensaje de 2. En el puerto que va a E, la información se desactualiza en (edad máxima - 2) s. Esta hora es de 18 segundos de forma predeterminada.
IEEE 802.1D define STP. Además de los temporizadores que describe la sección Temporizadores de protocolo de árbol de expansión, IEEE también define estos parámetros que se relacionan con STP:
diámetro del dominio STP (dia): este valor es el número máximo de puentes entre dos puntos de conexión cualesquiera de las estaciones finales. La recomendación de IEEE es considerar un diámetro máximo de siete puentes para los temporizadores STP predeterminados.
bridge transport delay (demora de tránsito): este valor es el tiempo transcurrido entre la recepción y la transmisión de la misma trama por el puente. Esto es lógicamente la latencia a través del puente. La recomendación de IEEE es considerar 1 s como el retraso máximo de tránsito de puente.
Retraso de transmisión BPDU (bpdu_delay): este valor es el retraso entre el momento en que se recibe una BPDU en un puerto y el momento en que la BPDU de configuración se transmite efectivamente a otro puerto. El IEEE recomienda 1 s como el retardo máximo de transmisión BPDU.
sobreestimación del incremento de la antigüedad del mensaje (msg_overestimado): este valor es el incremento que cada puente agrega a la antigüedad del mensaje antes de reenviar una BPDU. Como indica la sección Temporizadores de protocolo de árbol de expansión, los switches de Cisco (y probablemente todos los switches) añaden 1 s a la antigüedad del mensaje antes de que los switches reenvíen una BPDU.
mensaje perdido (loss_msg): este valor es el número de BPDU que se pueden perder cuando una BPDU se mueve de un extremo de la red puenteada al otro extremo. La recomendación del IEEE es utilizar tres como el número de BPDU que se pueden perder.
transmit stop delay (Tx_stop_delay): este valor es la cantidad máxima de tiempo necesaria para que un puente mueva efectivamente un puerto al estado de bloqueo después de determinar que el puerto necesita ser bloqueado. La recomendación de IEEE es utilizar 1 s para este parámetro.
retraso de acceso medio (med_access_delay): este valor es el tiempo necesario para que un dispositivo obtenga acceso a los medios para la transmisión inicial. Es el tiempo que transcurre entre la decisión de la CPU de enviar una trama y el momento en que la trama comienza a salir efectivamente del puente. La recomendación del IEEE es utilizar 0,5 s como tiempo máximo.
A partir de estos parámetros, puede calcular otros valores. Esta lista proporciona los parámetros adicionales y los cálculos. Los cálculos suponen que se utilizan los valores IEEE recomendados predeterminados para todos los parámetros.
Retraso de propagación de BPDU de extremo a extremo: este valor es la cantidad de tiempo necesaria para que una BPDU viaje de un extremo de la red al otro extremo. Suponga un diámetro de siete saltos, tres BPDU que se pueden perder y un tiempo de saludo de 2 segundos. En este caso, la fórmula es:
End-to-end_BPDU_propa_delay = ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) = ((3 + 1) x hello) + ((1 x (dia – 1)) = 4 x hello + dia – 1 = 4 x 2 + 6 = 14 sec
Sobreestimación de la antigüedad del mensaje: el propósito de este parámetro es tener en cuenta la antigüedad de la BPDU desde su creación. Suponga que cada puente aumenta la antigüedad del mensaje BPDU en 1 s. La fórmula es:
Message_age_overestimate = (dia – 1) x overestimate_per_bridge = dia – 1 = 6
Duración máxima de trama: este valor es el tiempo máximo que una trama que se envió previamente a la red de bridge permanece en la red antes de que la trama alcance ese destino. La fórmula es:
Maximum_frame_lifetime = dia x transit_delay + med_access_delay = dia + 0.5 = 7.5 = 8 (rounded)
Retraso máximo de detención de transmisión: este valor es el tiempo necesario para bloquear un puerto de forma efectiva, después de tomar la decisión de bloquear. El IEEE cuenta 1 s como máximo para este evento. La fórmula es:
Maximum_transmission_halt_delay = 1
Esta sección detalla cómo alcanzar el valor predeterminado para la antigüedad máxima y el retardo de reenvío si utiliza el valor recomendado para cada parámetro. Los valores recomendados son un diámetro de siete y un tiempo hello de 2 s.
La antigüedad máxima tiene en cuenta el hecho de que el switch que se encuentra en la periferia de la red no agota el tiempo de espera de la información raíz en condiciones estables (es decir, si la raíz aún está viva). El valor máximo de la antigüedad debe tener en cuenta el retraso total de propagación de BPDU y la sobreestimación de la edad del mensaje. Por lo tanto, la fórmula para la edad máxima es:
max_age = End-to-end_BPDU_propa_delay + Message_age_overestimate = 14 + 6 = 20 sec
Este cálculo muestra cómo el IEEE alcanza el valor recomendado predeterminado para la antigüedad máxima.
El movimiento de un puerto al estado de escucha indica que hay un cambio en la topología STP activa y que un puerto pasará del bloqueo al reenvío. Por lo tanto, los períodos de escucha y aprendizaje durante los cuales se ejecuta el retardo de reenvío deben cubrir este período consecutivo:
Tiempo desde que el primer puerto puente ingresa al estado de escucha (y permanece allí a través de la reconfiguración subsiguiente) hasta que el último puente en la LAN puenteada escucha del cambio en la topología activa
Además, debe contar el mismo retraso que utiliza para calcular la antigüedad máxima (sobreestimación de la antigüedad del mensaje y retraso de propagación de BPDU).
Tiempo para que el último puente deje de reenviar tramas que se reciben en la topología anterior (retardo de interrupción máximo de transmisión), hasta que desaparezca la última trama reenviada en la topología anterior (duración máxima de la trama)
Esta cantidad de tiempo es necesaria para asegurarse de que no se obtengan tramas duplicadas.
Por lo tanto, el doble del tiempo de retardo de reenvío (tiempo de escucha + tiempo de aprendizaje) contiene todos estos parámetros. La fórmula es:
2 x forward delay = end-to-end_BPDU_propagation_delay + Message_age_overestimate + Maximum_frame_lifetime + Maximum_transmission_halt_delay = 14 + 6 + 7.5 + 1 = 28.5 forward_delay = 28.5 /2 = 15 (rounded)
Entre todos estos parámetros, los únicos que puede ajustar son:
Nota: Su capacidad para ajustar estos parámetros depende de la red.
saludo: de 1 a 6
max age
demora de reenvío
diámetro: esto depende de la red.
No modifique ninguno de los valores de esta lista. Deje estos valores en el valor IEEE recomendado:
lost_msg = 3
transport_delay = 1
retraso de bpdu = 1
msg_overestimado = 1
Tx_stop_delay = 1
med_access_delay = 0.5
maximum_transmit_stop_delay = 1
Estos valores pueden parecer bastante conservadores en una red moderna, en la que es poco probable que pierda tres BPDU o que tenga 1 s de latencia para una trama a través de un switch. Sin embargo, recuerde que estos valores existen para evitar loops STP que pueden ocurrir en condiciones de estrés, tales como:
Uso de CPU muy alto
Un puerto sobrecargado
Por lo tanto, debe considerar estos parámetros como valores fijos. Si utiliza las fórmulas que muestra la sección Valores predeterminados de los temporizadores del protocolo de árbol de expansión, tendrá:
max_age = End-to-end_BPDU_propa_delay + Message_age_overestimate = ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + (dia – 1) x overestimate_per_ bridge = (4 x hello) + dia – 1 + dia – 1 = (4 x hello) + (2 x dia) – 2 forward_delay = (End-to-end_BPDU_propa_delay + Message_age_overestimate + Maximum_frame_lifetime + Maximum_transmission_halt_delay ) / 2 = ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + ((dia – 1) x overestimate_per_bridge) + (dia x transit_delay) + med_access_delay + Maximum_transmission_halt_delay) / 2 = ((4 x hello) + dia – 1 + dia – 1 + dia + 0.5 + 1) / 2 = ((4 x hello) + (3 x dia) – 0.5) / 2
Estos cálculos le dejan estas dos fórmulas finales (si redondea el valor 0.5):
max_age = (4 x hello) + (2 x dia) – 2 forward_delay = ((4 x hello) + (3 x dia)) / 2
Si desea ajustar los temporizadores STP para lograr un mejor tiempo de convergencia, debe seguir estrictamente estas dos fórmulas.
Aquí está un ejemplo. Si tiene un diámetro de cuatro para una red puenteada, debe utilizar estos parámetros:
hello = 2 (default) then max_age = 14 sec forward_delay = 10 sec If hello = 1 then max_age = 10 sec forward_delay = 8 sec
Nota: hello = 1 es el valor más bajo. No hay forma de ajustar este parámetro por debajo de 10 segundos para la antigüedad máxima y 8 segundos para la demora de reenvío si su diámetro es igual a cuatro.
Una disminución del tiempo hello a 1 s es la manera más fácil y segura de disminuir los parámetros STP. Sin embargo, recuerde que si descarta el tiempo hello de 2 segundos a 1 s, duplicará el número de BPDU que envía/recibe cada bridge. Este aumento causa una carga adicional en la CPU, que necesita procesar el doble de BPDU. Esta carga puede ser un problema si tiene varias VLAN y troncales.
El diámetro depende completamente del diseño de la red. El diámetro es el número máximo de switches que se cruzan para vincular dos switches cualesquiera en la red puenteada (que incluye el origen y el destino), si se asume los peores casos. No cruza el mismo switch dos veces cuando determina el diámetro. En el diagrama de la sección Temporizadores de protocolo de árbol de expansión de este documento, puede ver que tiene un diámetro de 5 (trayecto F-E-B-A-C).
Ahora, miren el diagrama en esta sección. El diagrama contiene algunos switches de acceso (switches C, D y E) que se conectan a dos switches de distribución (switches A y B). Hay un límite de capa 3 (L3) entre los switches de distribución y el núcleo. El dominio puenteado se detiene en los switches de distribución. El diámetro STP es 5:
C-A-D-B-E
D-A-C-B-E
Puede ver en el diagrama que no hay un par de switches que den un diámetro mayor que 5.
Como se menciona en la sección Temporizadores de protocolo de árbol de expansión, cada BPDU incluye los temporizadores hello, forward delay y max age STP. A un puente IEEE no le preocupa la configuración local del valor de temporizadores. El puente IEEE considera el valor de los temporizadores en la BPDU que el puente recibe. Efectivamente, sólo es importante un temporizador configurado en el bridge raíz del STP. Si pierde la raíz, la nueva raíz comienza a imponer su valor de temporizador local en toda la red. Por lo tanto, incluso si no necesita configurar el mismo valor de temporizador en toda la red, debe al menos configurar cualquier cambio de temporizador en el root bridge y en el root bridge de respaldo.
Si utiliza un switch de Cisco que ejecuta el software Catalyst OS (CatOS), hay algunas macros que le permiten configurar la raíz y ajustar los parámetros de acuerdo con las fórmulas. Ejecute el comando set spantree root vlan dia diámetro hello hello hello_time para establecer el diámetro y el tiempo hello. Aquí tiene un ejemplo:
Taras> (enable) set spantree root 8 dia 4 hello 2 VLAN 8 bridge priority set to 8192. VLAN 8 bridge max aging time set to 14. VLAN 8 bridge hello time set to 2. VLAN 8 bridge forward delay set to 10. Switch is now the root switch for active VLAN 8.
Si tiene configurado el diámetro de red STP, el valor de diámetro configurado no se muestra ni en la configuración ni en la salida de cualquier comando show.