Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Antecedentes

Disponibilidad de funciones

Funciones de puerto STP

Loop Guard STP

Descripción de la Función

Consideraciones de Configuración

Protección de Loop frente a UDLD

Interoperabilidad de Loop Guard con otras características de STP

Información Relacionada

Introducción

En este documento se describen las características del protocolo de árbol de extensión destinadas a mejorar la estabilidad de la red de capa 2.

Prerequisites

Requirements

En este documento se supone que el lector está familiarizado con el funcionamiento básico del protocolo de árbol de extensión (STP).

Consulte Comprensión y Configuración del Spanning Tree Protocol (STP) en Switches Catalyst para obtener más información.

Componentes Utilizados

Este documento se basa en los switches Catalyst que ejecutan Cisco IOS; sin embargo, la disponibilidad de las funciones descritas puede depender de la versión de software utilizada.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Convenciones

Consulte el documento Cisco Technical Tips Conventions (Convenciones sobre consejos técnicos de Cisco) para obtener más información sobre las convenciones de los documentos.

Antecedentes

Spanning-Tree Protocol (STP) resuelve físicamente las topologías redundantes en topologías de árbol sin loop. Un problema con el STP es que los fallos de hardware pueden causar fallas, lo que conduce a loops de reenvío (loops STP). Estos bucles pueden provocar importantes interrupciones en la red.

Este documento describe la función de protección contra loops STP que está diseñada para mejorar la estabilidad de las redes de Capa 2. También describe la detección de desviación de la Unidad de datos de protocolo de puente (BPDU). La detección de desviación de BPDU es una función de diagnóstico que genera mensajes syslog cuando las BPDU no se reciben a tiempo.

Disponibilidad de funciones

La función de protección contra loops STP se introdujo en Cisco IOS® Software Release 12.1(12c) EW para los switches Catalyst 4500 y Cisco IOS Software Release 12.1(11b) EX para Catalyst 6500.

Funciones de puerto STP

Internamente, STP asigna a cada puerto de puente (o switch) un rol basado en la configuración, la topología, la posición relativa del puerto en la topología y otras consideraciones.

El rol del puerto define el comportamiento del puerto desde el punto de vista STP. Según la función de puerto, el puerto envía o recibe BPDU STP y reenvía o bloquea el tráfico de datos.

Esta lista proporciona un breve resumen de cada función de puerto STP:

- Designado: se elige un puerto designado por link (segmento). El puerto designado es el puerto más cercano al puente raíz. Este puerto envía BPDU en el link (segmento) y reenvía el tráfico hacia el puente raíz. En una red convergente STP, cada puerto designado se encuentra en el estado de reenvío STP.

- Root: el bridge sólo puede tener un puerto root. El puerto raíz es el puerto que conduce al puente raíz. En una red convergente STP, el puerto raíz se encuentra en el estado de reenvío STP.

- Alternativo: los puertos alternativos conducen al puente raíz pero no son puertos raíz. Los puertos alternativos mantienen el estado bloqueado del STP.

- Copia de seguridad: este es un caso especial cuando dos o más puertos entre los mismos switches se conectan juntos, directamente o a través de medios compartidos. En este caso, se designa un puerto y el resto de los puertos se bloquean. La función para este puerto es copia de seguridad.

Loop Guard STP

Descripción de la Función

La función de protección de loop del STP brinda protección adicional contra los loops de reenvío de Capa 2 (loops STP). Un loop de STP se crea cuando un puerto de bloqueo STP en las transiciones erróneas de una topología redundante al estado de reenvío. Esto sucede generalmente porque uno de los puertos de una topología redundante (no no necesariamente el puerto de bloqueo STP) recibe físicamente no más de BPDU de STP. En su operación, el STP está basado en la transmisión o en la recepción continua de las BPDU, según el rol del puerto. El puerto designado transmite los BPDU, y el puerto no designado recibe los BPDU.

Cuando uno de los puertos en una topología físicamente redundante deja de recibir BPDU, el STP considera a la topología como un loop libre. Finalmente, el puerto de bloqueo del puerto alternativo o de respaldo se designa y pasa a un estado de reenvío (esta situación crea un loop).

La función de protección contra loops crea comprobaciones adicionales. Si las BPDU no se reciben en un puerto no designado, y la protección contra loops está habilitada, ese puerto se mueve al estado de bloqueo inconsistente con loops STP, en lugar del estado de escucha/aprendizaje/reenvío. Sin la función de protección de loop, el puerto asumiría el rol de puerto designado. El puerto se desplaza al estado de reenvío de STP y crea un loop.

Cuando la protección contra loops bloquea un puerto inconsistente, se registra este mensaje:

%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.

Una vez que se recibe la BPDU en un puerto en un estado STP incoherente con el loop, el puerto pasa a otro estado STP. Para la BPDU recibida, esto significa que la recuperación es automática y que la intervención no es necesaria. Después de la recuperación, se registra este mensaje:

%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.

Considere este ejemplo para ilustrar este comportamiento:

El switch A es el switch raíz. El switch C no recibe BPDU del switch B debido a una falla de link unidireccional en el link entre el switch B y el switch C.

Falla de link unidireccional

Sin la protección contra loops, el puerto de bloqueo STP en el Switch C pasa al estado de escucha STP cuando el temporizador max_age caduca, y luego pasa al estado de reenvío dos veces el tiempo forward_delay. Esta situación crea un loop.

Se crea un bucle

Con la protección contra loops habilitada, el puerto de bloqueo en el Switch C pasa al estado STP loop-inconsistent cuando caduca el temporizador max_age. Un puerto en el estado STP loop-inconsistent no pasa el tráfico de usuario, por lo que no se crea un loop. El estado loop-inconsistent es efectivamente igual a un estado de bloqueo.

La protección de bucle activada evita el bucle

Consideraciones de Configuración

La función de protección contra loops se habilita por puerto. Sin embargo, mientras bloquee el puerto en el nivel STP, la protección contra loops bloquea los puertos inconsistentes por VLAN (debido al STP por VLAN).

Es decir, si las BPDU no se reciben en el puerto trunk para solamente una VLAN determinada, solamente esa VLAN se bloquea (se mueve al estado STP loop-inconsistent). Por la misma razón, si se habilita en una interfaz EtherChannel, el canal completo se bloquea para una VLAN determinada, no sólo para un link (porque EtherChannel se considera como un puerto lógico desde el punto de vista STP).

¿En qué puertos está habilitada la protección contra loops? La respuesta más obvia se encuentra en los puertos de bloqueo. Sin embargo, esto no es 100% correcto. La protección contra loops debe estar habilitada en los puertos no designados (más precisamente, en los puertos raíz y alternos) para todas las combinaciones posibles de topologías activas. Mientras la protección contra loops no sea una función por VLAN, el mismo puerto (trunk) puede ser designado para una VLAN y no designado para la otra.

También se deben considerar los posibles escenarios de failover.

Ejemplo:

Puertos con Protección de Bucle Activada

De forma predeterminada, la protección contra loops está inhabilitada y este comando se utiliza para habilitar la protección contra loops en la interfaz especificada:

Router(config)#interface gigabitEthernet 1/1

Router(config-if)#spanning-tree guard loop

La protección contra loops se puede habilitar en todos los links punto a punto. El estado dúplex del link detecta el link punto a punto. Si el dúplex está lleno, el link se considera punto a punto. Todavía es posible configurar o invalidar la configuración global por puerto.

Ejecute este comando para habilitar la protección contra loops globalmente:

Router(config)#spanning-tree loopguard default

Ejecute este comando para inhabilitar la protección contra loops por interfaz:

Router(config-if)#no spanning-tree guard loop

Ejecute este comando para inhabilitar globalmente la protección contra loops:

Router(config)#no spanning-tree loopguard default

Ejecute este comando para verificar el estado de la protección contra loops:

Router#show spanning-tree summary

Switch is in pvst mode

Root bridge for: none

EtherChannel misconfig guard is enabled

Extended system ID           is disabled

Portfast Default             is disabled

PortFast BPDU Guard Default  is disabled

Portfast BPDU Filter Default is disabled

Loopguard Default            is enabled

UplinkFast                   is disabled

BackboneFast                 is disabled

Pathcost method used         is short

Name                   Blocking Listening Learning Forwarding STP Active

---------------------- -------- --------- -------- ---------- ----------

Total                        0         0        0          0          0

Protección de Loop frente a UDLD

La funcionalidad de protección contra loops y de detección de link unidireccional (UDLD) se superponen, en parte en el sentido de que ambas protegen contra fallas de STP causadas por links unidireccionales. Sin embargo, estas dos características difieren en funcionalidad y en cómo abordan el problema.

Esta tabla describe la funcionalidad de protección contra loops y UDLD:

Funcionalidad

Protección de loop

UDLD

Configuración

Por puerto

Por puerto

Granularidad de acciones

Por VLAN

Por puerto

Recuperación automática

Yes

Sí, con la función err-disable timeout

Protección contra fallas de STP causadas por links unidireccionales

Sí, cuando está habilitado en todos los puertos raíz y alternativos en la topología redundante

Sí, cuando está habilitado en todos los links en la topología redundante

Protección contra fallas de STP causadas por problemas en el software (el switch designado no envía BPDU)

Yes

No

Protección contra cableado incorrecto.

No

Yes

Según las diversas consideraciones de diseño, puede elegir el UDLD o la función de protección contra loops. Con respecto al STP, la diferencia más notable entre las dos funciones es la ausencia de protección en el UDLD contra las fallas del STP causadas por problemas en el software.

Como resultado, el switch designado no envía BPDU. Sin embargo, este tipo de falla es (por un orden de magnitud) menos frecuente que las fallas causadas por links unidireccionales. A cambio, el UDLD puede ser más flexible en el caso de links unidireccionales en EtherChannel. En este caso, el UDLD inhabilita solamente los links fallidos, y el canal puede permanecer funcional con los links que permanecen. En tal falla, el protector de loop lo pone en estado loop-inconsistent para bloquear todo el canal.

Además, la protección contra loop no funciona en links compartidos o en aquellas situaciones en las que el link ha sido unidireccional desde la activación del link. En el último caso, el puerto nunca recibe BPDU y se designa. Debido a que este comportamiento podría ser normal, este caso en particular no está cubierto por la protección contra loops. UDLD proporciona protección contra este tipo de escenario. Como se ha descrito, el nivel más alto de protección se proporciona cuando se habilita el UDLD y la protección contra loops.

Interoperabilidad de Loop Guard con otras características de STP

Protección de raíz

El protector de raíz es mutuamente excluyente con el protector de loop. La protección de raíz se utiliza en los puertos designados y no permite que el puerto se convierta en no designado. La protección contra loops funciona en los puertos no designados y no permite que el puerto sea designado a través del vencimiento de max_age. El protector de raíz no puede estar habilitado en el mismo puerto que el protector de loop. Cuando la protección contra loops está configurada en el puerto, inhabilita la protección contra loops configurada en el mismo puerto.

link ascendente rápido y Estructura básica rápida

Tanto el link ascendente rápido como la estructura básica rápida son transparentes para el protector de loop. Cuando max_age es omitido por backbone fast en el momento de la reconvergencia, no activa la protección contra loops. Para obtener más información sobre uplink fast y backbone fast, consulte:

- Comprensión y Configuración de la Función UplinkFast de Cisco

- Comprensión y configuración de Backbone Fast en switches Catalyst

PortFast y Protección BPDU y VLAN dinámica

La protección contra loops no se puede habilitar en los puertos donde portfast está habilitado. Dado que la protección BPDU funciona en los puertos habilitados para portfast, se aplican algunas restricciones a la protección BPDU. La protección contra loops no se puede habilitar en los puertos VLAN dinámicos ya que estos puertos tienen portfast habilitado.

links compartidos

La protección contra loops no debe estar habilitada en links compartidos. Si habilita la protección contra loops en los links compartidos, el tráfico de los hosts conectados a los segmentos compartidos se puede bloquear.

Árbol de expansión múltiple (MST)

La protección contra loops funciona correctamente en el entorno MST.

Información Relacionada

- Mejora del protocolo de árbol de expansión (STP) con protección de raíz

- Configuración de la función del protocolo UDLD

- Uso de Portfast y otros comandos para solucionar retrasos al iniciar la conectividad de la estación de trabajo

- Soporte técnico y descargas de Cisco