cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Protección a la operación de STP

557
Views
5
Helpful
0
Comments

Protegiendo la operación de Spanning Tree Protocol (STP)


STP utiliza paquetes BPDU's para la comunicación entre switches, los BPDU's son generados por el switch raíz y son propagados a los demás switches que existen en la topología. Existen 2 tipos de condiciones que pueden afectar la topología libre de 'loops' creada por STP (Spanning Tree Protocol):

  • En un puerto donde no se están recibiendo BPDU's, no se espera la recepción de dichos paquetes. Cuando BPDU's aparecen en ese puerto, la topología de Spanning Tree converge y causa resultados inesperados.
  • En un puerto donde se están recibiendo BPDU's, se espera la recepción continua de dichos paquetes. Cuando BPDU's dejan de ser recibidos en ese puerto, el switch realiza suposiciones incorrectas y causa 'loops' en la topología de Spanning Tree.

Recepción inesperada de BPDU's

Root guard

Este mecanismo controla donde podemos encontrar y conectar un switch candidato a asumir el rol de switch raíz dentro de la topología de Spanning Tree.

El switch aprende el 'Bridge ID' del switch raíz, si otro switch advierte un BPDU superior (BPDU con mejor 'Bridge ID') en un puerto con Root guard habilitado, el switch local no permitirá que el otro switch se convierta en el switch raíz. El puerto se colocara en estado 'root-inconsistent', en este estado el puerto no podrá enviar ni recibir datos, solo paquetes BPDU's podrán pasar por este puerto.

Para configurar este mecanismo, nos tenemos que colocar a nivel de la interfaz y aplicar el siguiente comando:

                Switch(config-if)#spanning-tree guard root

Este comando habilitará el mecanismo root guard en la interfaz donde estemos colocados.

BPDU guard

Este mecanismo protege puertos del switch donde tenemos habilitada la opción 'portfast'. Portfast es la función que se habilita en puertos del switch que están conectados a PC, servers, ip phones e impresoras para que los puertos empiecen a transmitir paquetes de manera inmediata cuando se habiliten dichos puertos.

Cabe mencionar que cuando se habilita un puerto con la función 'Portfast', esto no significa que Spanning Tree se deshabilitara en el puerto. Es aquí donde entra en acción el mecanismo BPDU guard, si un BPDU es recibido en un puerto con BPDU guard habilitado, el puerto se colocara en estado 'error-disabled' y el puerto se apagara. Este puerto se tendrá que habilitar de forma manual.

Un par de datos interesantes del BPDU guard, el BPDU guard no evitará loops en la topología si un hub se conecta al puerto donde se tiene habilitado BPDU guard. BPDU guard no deberá ser habilitado en puertos que se conectan a otros switches.

Para configurar este mecanismo en los switches existen 2 opciones, configurar el mecanismo de manera global en el switch y de manera individual por interfaz del switch.

Configuración global – la función se habilitará en los puertos que estén configurados con la opción Portfast:

                Switch(config)#spanning-tree portfast bpduguard default

Configuración por interfaz:

                Switch(config)#spanning-tree bpduguard enable

Perdida inesperada de BPDU's

Loop Guard

Este mecanismo monitorea la recepción de BPDU's en puertos considerados como 'nondesignated ports', puertos que tienen el rol de 'blocking' o 'root'. Cuando los paquetes BPDU's dejan de ser recibidos en puertos con Loop Guard habilitado, el puerto se colocara en estado 'loop-inconsistent' y se mantendrá en el rol de 'blocking' para evitar que se genere un loop. Cuando el puerto recibe paquetes BPDU's de nuevo, el puerto se mueve por los diferentes estados de STP y la topología se mantiene intacta.

Por default este mecanismo se encuentra deshabilitado en el switch. Para configurar este mecanismo en los switches existen 2 opciones, configurar el mecanismo de manera global en el switch y de manera individual por interfaz del switch.

Configuración global – se habilita en todos los puertos del switch:

                Switch(config)#spanning-tree loopguard default

Configuración por interfaz:

                Switch(config)#spanning-tree guard loop