Las redes están diseñadas principalmente con enlaces y dispositivos redundantes para evitar fallos en las comunicaciones, por ellos dichas conexiones pueden ocasionar bucles infinitos en la transmisión de tramas, principalmente en los switchs de acceso de la red.

Red Switchs

Spanning-tree o árbol de expansión (STP) es un protocolo del estándar de IEEE 802.1D muy utilizado para la resolución de bucles por redundancia a la hora de plantear una red de switchs, se centra en la capa inferior del modelo de capas OSI en la capa 2. Ya que el protocolo bloquea puertos de uno o varios switchs para evitar dichos bucles, a la espera de algún cambio en la topología de la red para efectuar cambios, todos estos cambios se efectúan de forma transparente hacia el usuario final.

 

 

Este protocolo se basa en el algoritmo STA, que proporciona una jerarquía entre los switchs para designar un switch primario o principal al cual se conoce como “puente raíz” o “root bridge” desde que se identifica la red. El protocolo identifica el puente raíz en el momento que se realizan los intercambios de las tramas BPDU de los switchs que participan en la red, contando con la información de la BID “Bridge Identifier” en el cual se compone de la ID de la LAN a la que pertenece (VLAN), la prioridad y la MAC identificativa única de cada switch, con la que el protocolo decide cuál de ellos tendrá el rol de puente raíz. Un administrador de la red puede configurar ciertos parámetros de la BID para poder forzar la elección de dicho switch. Por defecto sin ninguna modificación la prioridad es de 32768, la VLAN del switch que por defecto corresponde a la VLAN 1 y la MAC que también tiene una importancia ya que si no hemos modificado el parámetro de prioridad el protocolo decidirá como puente raíz el que tenga la MAC más baja de todos ellos, por lo que si no configuramos el protocolo nos podemos encontrar con problemas de decisiones erróneas del protocolo que no queremos a la hora de gestionar la red.

bucles1

A la hora de implementar una red, para prevenir bucles y fallos en la red utilizaremos el protocolo STP que por defecto esta activo en la mayoría de los switch Cisco, pero si queremos que reaccione según nuestras necesidades tendremos que configurar el protocolo de árbol de expansión o spanning-tree, para ello después de verificar la topología que se va a utilizar y plantear las conexiones podemos ponernos a configurar dichos switch. Con los que nos efectuaríamos una serie de preguntas.

1º ¿Cuál va a ser el puente raíz?

Principalmente si no tenemos una topología o unas circunstancias especificas designaremos el puente raíz el switch que no queramos que bloquee ninguno de sus puertos para poder enviar las tramas. Para ello configuraremos la prioridad dentro de la VLAN que queremos que nos designe el puente raíz. El parámetro prioridad en los switch de Cisco se configura con el comando.

Switch(config)#spanning-tree vlan () priority “nº de prioridad

Desde la consola de comandos en el menú de configuración global del switch, dicho numero por defecto como hemos comentado antes es de 32768, al modificarlo tendría que ser un valor menor al de por defecto siempre siendo un valor múltiplo de 4096. Lo que proporciona al BID un valor menor con lo que será designado puente raíz. También podemos forzar esa designación sin necesidad de configurar con dicho numero de prioridad, si no con el comando.

Switch(config)#spanning-tree vlan () root primary

con el cual se fuerza que ese switch va a ser el puente raíz independiente de los BID de los demás switchs, al configurar el valor al menor. A la hora de trabajar con Vlan podemos configurar dentro de cada vlan cuál de los switch es el puente raíz.

2º ¿Si falla el puente raíz cual será el nuevo puente raíz?

Si por cualquier motivo el switch que hemos designado como puente raíz dejara de funcionar dentro de la red por una desconexión física una falta de alimentación eléctrica podríamos entrar en un problema de bloqueo de puerto que no deseamos, de esa forma para evitar los bloqueos de puertos no deseados por un fallo en el puente raíz, podemos designar a uno de los demás switch que componen la red que recoja el testigo de puente raíz para ello podemos de la misma forma designarle un numero de prioridad menor que al que tenemos por defecto en los demás switchs, con el mismo comando.

Switch(config)#spanning-tree vlan () priority “nº de prioridad”

Pero sin llegar a ser igual o menor al que hemos designado primeramente como puente raíz y siempre siendo múltiplo de 4096, y de la misma forma que en la configuración del puente raíz podemos configurar de una forma mas sencilla el switch que recogerá el rol de puente raíz con un comando parecido al de designación del puente raíz que es el comando.

Switch(config)#spanning-tree vlan () root secondary

Con dicho comando el valor de prioridad se establecerá en 28672, con el que al ser un valor menor al de por defecto y mayor al del puente raíz.

4º ¿Qué puertos/o se bloquean?
Una vez que se eligió el puente raíz para la instancia de árbol de expansión, el STA comienza el proceso para determinar las mejores rutas hacia el puente raíz desde todos los destinos en el dominio de difusión, los roles de los puertos de los switchs, al configurar el switch como puente raíz los puertos de dicho switch se convierten en puertos designados, los cuales no se bloquearan, pasaríamos a los demás puertos de los diferentes switchs, los puertos de los switch conectados directamente al puente raíz pasan a ser puertos raíz los cuales tampoco se bloquearían, solo se bloquearían los puertos que fueran puertos alternativos esto los decide el algoritmo por el costo de cada enlace, que ese costo va en relación al ancho de banda de los enlaces, con lo que será la ruta mejor para llegar al puente raíz, dicho costo podemos configurar para que la decisión de bloqueo del puerto sea el que queremos con el comando dentro de la interfaz que queremos modificar.

Switch(config-if)#spanning-tree cost “nº de coste”

tabla
Con ello configuramos el coste del enlace para forzar la elección del puerto, para volver a poner el coste de la interfaz por el coste definido por defecto como muestra la tabla de alguno de ellos desde el mismo menú que introducimos el comando anterior con el modificador.

Switch(config-if)#no spanning-tree cost.

 

5º ¿Cuanto tarda STP en configurarse?

Como cualquier protocolo tiene un tiempo de transición hasta llegar a configurarse en cada cambio de topología que detecte, para poder ayudar al protocolo a que tenga un tiempo mas rápido de convergencia, podemos configurar ciertos parámetros en los puertos, por los que no va a conectarse o se conectaran ningún switch. Como son los parámetros Portfast y BPDUGuard los cuales se configuran en cada una de las interfaz de los switch, con Portfast configuramos el cambio del puerto del estado de bloqueado a reenvio. Para configurarlo dentro del menú de configuración de la interfaz utilizamos el siguiente comando tanto para habilitarlo como para deshabilitarlo en el interfaz.

Switch(config-if)#Spanning-tree portfast
Switch(config-if)#Spanning-tree portfast disable

Tambien podemos configurarlo para que cuando estamos trabajando con enlaces entre los switch que sean troncales la convergencia sea mas rápida con el comando.

Switch(config-if)#Spanning-tree portfast trunk

Ademas de poder configurar por puerto, con el parámetro bpduguard, podemos asegurar que si por error se conecta un switch que pueda transmitir una bpdu y pueda provocar un bucle, pondra el puerto por la bpdu que recibió en modo errdisable, o lo que quiere decir bloqueara el puerto hasta que se habilite de forma manual o se cambie de forma automática utilizando un temporizador, para configurar dicho parámetro lo configuraremos desde el mismo menú de la interfaz que queremos habilitar con el consiguiente comando.

Switch(config-if)#Spanning-tree bpduguard enable

De la misma manera que podemos habilitar, también podemos deshabilitarlo con el comando.

Switch(config-if)#Spanning-tree bpduguard disable

De esta manera podemos configurar el protocolo STP para que funcione de una forma optima en nuestra red, en el momento que hemos configurado los parámetros principales de spanning-tree es recomendable la verificación de la configuración para ellos podemos usar los comandos show para verificar que la configuración es correcta con:

Show spanning-tree
Show spanning-tree active
Show spanning-tree summary totals
Show spanning-tree vlan (nº)
Show running-config

En resumen aunque el protocolo STP venga habilitado en la mayoría de los switch es recomendable su configuración, ya que nos ofrece muchas oportunidades y ventajas a la hora de implementar una red de switch y evitar problemas que nos puedan dar muchos “bucles” en la cabeza.

 

 

Autor/a: Jose Angel Fernandez Prados

Curso: Cisco CCNA Routing & Switching

Centro: Tajamar

Año académico: 2017-2018