CCNP SWITCH 642-813 Official Certification Guide (Part II – Chapter 7.2 Types of STP)

2. Types of STP

A continuación vamos a ver los tipos de STP (Spanning Tree Protocol) con los que trabajamos habitualmente:

Propietario de Cisco

CST (Common Spanning Tree): el estándar IEEE 802.1Q especifica como las VLAN’s pueden ser configuradas en un enlace entre switches, también especifica una sola instancia de STP que abarca todas las VLAN’s, a esta instancia se la conoce como CST (Common Spanning Tree).

Todas las BPDU’s son transmitidas sobre los enlaces utilizando la VLAN nativa sin etiquetar las tramas. Con una sola instancia STP para mucha VLAN’s simplifica la configuración del switch y reduce la utilización de CPU y los cálculos de STP, pero tener sólo una instancia también tiene limitaciones. Los enlaces redundantes entre switches serán bloqueados por lo que tenemos la posibilidad de hacer balanceo de carga.

PVST (Per-VLAN Spanning Tree): Esta versión es propietaria de Cisco. Esta crea una instancia STP por cada una de las VLAN’s, lo que permite que cada instancia se configure independientemente ofreciendo un mayor rendimiento y optimizando las condiciones. Al tener múltiples instancias de STP es posible el balanceo de carga en los enlaces redundantes cuando estos son asignados a diferentes VLAN’s.

PVST+ (Per-VLAN Spanning Tree Plus): Esta versión también es propietaria de Cisco. Esta nos permite interactuar con PVST y CST. PVST+ es soportado por los switches Catalyst que ejecuten  PVST, PVST+ y CST sobre 802.1Q.

PVST+ actúa como traductor entre grupos de switches que utilizan CST y grupos que utilizan PVST. PVST+ se comunica directamente con PVST con un trunk ISL, mientras que con CST intercambia BPDU’s como tramas no etiquetadas utilizando la VLAN nativa. Las BPDU’s de otras instancias STP (otras VLAN’s) son propagadas a través de la porción de CST de la red mediante el trunk. PVST+ envía las BPDU’s utilizando una dirección única de multicast.

Estándares IEEE

RSTP (Rapid Spanning Tree Protocol): Se introdujo por primera vez en 1982 como evolución de STP (estándar 802.1D). Proporciona una convergencia de spanning-tree más veloz después de un cambio de topología. RSTP implementa las extensiones de STP propiedad de Cisco, como BackboneFast, UplinkFast y PortFast en el estándar público. A partir de 2004, el IEEE incorporó RSTP a 802.1D, mediante la identificación de la especificación como IEEE 802.1D-2004. De manera que cuando se haga referencia a STP, debe pensarse en RSTP.

MSTP (Multiple STP): Permite que se asignen VLAN’s múltiples a la misma instancia de spanning-tree, de tal forma que se reduce la cantidad de instancias necesarias para admitir una gran cantidad de VLAN’s. MSTP se inspiró en STP de instancias múltiples (MISTP) propiedad de Cisco y es una evolución de STP y RSTP. Se introdujo en el IEEE 802.1s como enmienda de la edición de 802.1Q de 1998. El estándar IEEE 802.1Q-2003 ahora incluye a MSTP. MSTP proporciona varias rutas de envío para el tráfico de datos y permite el balanceo de carga.

Tipos STP

Ahora vamos a ver como funcionan algunos de los protocolos propietarios de Cisco:

PVST+ (Per-VLAN Spanning Tree Plus)

Cisco desarrolló PVST+ para que una red pudiera ejecutar una instancia de STP para cada VLAN. Con PVST+ puede bloquearse más de un enlace troncal en una VLAN y puede implementarse la carga compartida. Sin embargo, implementar PVST+ implica que todos los switches de la red se comprometan con la convergencia de la red y los puertos de switch deben ajustarse al ancho de banda adicional utilizado para cada instancia de PVST+ a fin de poder enviar sus propias BPDU. En un entorno de PVST+ de Cisco se pueden ajustar los parámetros de spanning-tree de manera que la mitad de las VLAN puedan ser enviados por un enlace troncal y el resto por otro.

En la figura siguiente, el puerto F0/3 del switch S2 es el puerto emisor para la VLAN 20 y F0/2 del switch S2 es el puerto emisor para la VLAN 10. Esto se logra mediante la configuración de un switch para elegirlo como puente raíz para la mitad de las VLAN de la red y otro para elegirlo como puente raíz para el resto de las VLAN. En la figura, el switch S3 es el puente raíz para la VLAN 20 y el switch S1 es el puente raíz para  la VLAN 10. La creación de distintos switches raíz en STP por VLAN genera una red más redundante.

PVST+

ID de puente en PVST+

En el estándar 802.1D original, un BID de 8 bytes se compone de una prioridad de puente de 2 bytes y una dirección MAC de 6 bytes de switch. De esta forma no había necesidad de identificar una VLAN debido a que sólo existía un spanning tree en la red. PVST+ requiere que se ejecute una instancia de spanning tree independiente por cada VLAN. Para admitir PVST+, el campo BID de 8 bytes se modifica para transportar un ID de VLAN (VID). En la figura, el campo de prioridad de puente se reduce a 4 bits y un nuevo campo de 12 bits, el ID de sistema extendido, contiene el VID. La dirección MAC de 6 bytes permanece sin cambios.

ID Puente PVST+

A continuación se detallan los campos utilizados en PVST+:

Prioridad de puente: un campo de 4 bits contiene la prioridad de puente. Debido a la cantidad de bits limitados, la prioridad se transporta en valores discretos en incrementos de 4096 en lugar de valores discretos con incrementos de 1, como sería si se dispusiera del campo de 16 bits. La prioridad predeterminada, de acuerdo al IEEE 802.1D, es 32 768, que es el valor medio.

ID de sistema extendido: un campo de 12 bits que contiene el VID para PVST+.

Dirección MAC: un campo de 6 bytes con la dirección MAC de un solo switch.

La dirección MAC es lo que identifica unívocamente al BID. Cuando la prioridad y el ID de sistema extensivo se anexan a la dirección MAC del switch, cada VLAN del switch puede representarse por un único BID.

Precaución: Si no se ha configurado la prioridad, cada switch posee la misma prioridad predeterminada y la elección del puente raíz para cada VLAN se basa en la dirección MAC. Por lo tanto, para asegurar que se obtendrá el puente raíz deseado, se aconseja asignar un valor de prioridad menor al switch que debería servir como puente raíz.

ID Puente PVST+

Configuración de un Switch por defecto

Configurar PVST+

La topología muestra tres switches con enlaces troncales 802.1Q conectados entre sí. tenemos dos VLAN’s, la 10 y la 20, que cuentan con enlaces troncales entre sí. El objetivo es configurar S3 como puente raíz para la VLAN 20 y S1 como puente raíz para la VLAN 10. El puerto Fa0/3 de S2 es el puerto en estado de enviar para la VLAN 20 y el puerto en estado de bloqueo para la VLAN 10. El puerto Fa0/2 de S2 es el puerto en estado de enviar para la VLAN 10 y el puerto en estado de bloqueo para la VLAN 20. Los pasos para configurar PVST+ en este ejemplo son:

Paso 1. Seleccionar los switches que desea como puentes raíz principal y secundario para cada VLAN.

Paso 2. Configurar el switch que será puente principal para una VLAN, por ejemplo: el switch S3 es el puente principal para la VLAN 20.

Paso 3. Configurar el switch que será puente secundario para la otra VLAN, por ejemplo: el switch S3 es el puente secundario para la VLAN 10.

De forma opcional, se configura la prioridad de spanning-tree para que sea lo suficientemente baja como para que sea seleccionado como puente principal.

Configurar los puentes raíz principales

El objetivo es configurar el switch S3 como puente raíz principal para la VLAN 20 y configurar el switch S1 como puente raíz principal para la VLAN 10. Para configurar un switch para que se convierta en puente raíz para una VLAN específica, utilizaremos el comando spanning-tree vlan vlan-ID root primary en modo de configuración global. Debemos recordar que se empieza con una red en la que no se ha configurado spanning tree, así que se supone que todos los switches se encuentran en su configuración predeterminada. En este ejemplo, el switch S1, que cuenta con las VLAN 10 y 20 habilitadas, tiene su prioridad de STP predeterminada.

Configurar los puentes raíz secundarios

Un puente raíz secundario es un switch que puede convertirse en puente raíz para una VLAN en el caso de que falle el puente raíz principal. Para configurar un switch como puente raíz secundario, utilizaremos el comando spanning-tree vlan vlan-ID root secondary en modo de configuración global. Si se tiene en cuenta que los otros puentes de la VLAN tienen su prioridad de STP predeterminada, este switch se convierte en el puente raíz en el caso de producirse un fallo en el puente raíz principal.

Este comando puede ejecutarse en más de un switch para configurar varios puentes raíz de respaldo.

A continuación se muestra la sintaxis para especificar a S3 como puente raíz principal para la VLAN 20 y como puente raíz secundario para la VLAN 10. Además, el switch S1 se convierte en el puente raíz principal para la VLAN 10 y en el puente raíz secundario para la VLAN 20. Esta configuración permite el balanceo de carga en spanning tree, donde el tráfico de la VLAN 10 pasa a través del switch S1 y el tráfico de la VLAN 20 pasa a través del switch S3.

Configuración STP

A continuación vamos a ver como configurar la prioridad. Esta configuración afecta a la posibilidad de que el switch sea seleccionado como switch raíz. Un valor menor provoca el aumento de la probabilidad de que el switch sea seleccionado. Este rango oscila entre 0 y 61 440 en incrementos de 4096. Por ejemplo: un valor de prioridad válido es 4096 x 2 = 8 192. Todos los demás valores se rechazan.

Configuración de la prioridad

El comando del modo EXEC privilegiado show spanning tree active muestra los detalles de la configuración de STP sólo para las interfaces activas. El resultado que se muestra es para el switch S1 configurado con PVST+.

A continuación se adjunta un link donde podemos descargar un ejemplo hecho con Packet Tracer junto con el fichero de texto en el que se detalla la configuración a realizar y los comandos tipicos utilizados para mostrar información de la configuración de STP.

RSTP (Protocolo Rapid Spanning Tree)

RSTP (IEEE 802.1w) es una evolución del estándar 802.1D. Principalmente, la terminología de 802.1w STP sigue siendo la misma que la del IEEE 802.1D STP. La mayoría de los parámetros no se modifican, de modo que los usuarios familiarizados con STP puedan configurar rápidamente el nuevo protocolo.

En la figura, la red muestra un ejemplo de RSTP. El switch S1 es el puente raíz con dos puertos designados en estado de enviar. RSTP admite un nuevo tipo de puerto. El puerto F0/3 del switch S2 es un puerto alternativo en estado de descarte. Observe que no existen puertos bloqueados. RSTP no posee el estado de puerto de bloqueo. RSTP define los estados de puertos como de descarte, aprender o enviar. Aprenderá más acerca de tipos y estados de puertos posteriormente en este capítulo.

RSTP

RSTP aumenta la velocidad de recálculo del spanning tree cuando cambia la topología de la red de la Capa 2. RSTP puede lograr una convergencia mucho más rápida en una red configurada de forma adecuada, a veces sólo en unos pocos cientos de milisegundos. RSTP redefine los tipos de puertos y sus estados. Si un puerto se configura para ser alternativo o de respaldo, puede cambiar de manera automática al estado de enviar sin esperar la convergencia de la red. A continuación se describen brevemente las características de RSTP:

RSTP es el protocolo preferido para evitar los bucles de Capa 2 en un entorno de red conmutada. Muchas de las diferencias se informaron en las mejoras de 802.1D propiedad de Cisco. Estas mejoras, como las BPDU que transportan y envían información acerca de las funciones de los puertos a los switches vecinos, no requieren configuración adicional y por lo general poseen un mejor rendimiento que las versiones anteriores propiedad de Cisco. Ahora son transparentes y están integradas al funcionamiento del protocolo.

Las mejoras al 802.1D propiedad de Cisco, como UplinkFast y BackboneFast, no son compatibles con RSTP.

RSTP (802.1w) reemplaza a STP (802.1D) a la vez que mantiene la compatibilidad retrospectiva. Mucha de la terminología de STP permanece y la mayoría de los parámetros no presentan cambios. Además, 802.1w puede volver a la versión 802.1D para inter-operar con switches antiguos por puerto. Por ejemplo: el algoritmo spanning-tree de RSTP selecciona un puente raíz exactamente de la misma forma que 802.1D.

RSTP mantiene el mismo formato de BPDU que IEEE 802.1D, excepto que el campo de versión se establece en 2 para indicar que es RSTP y todos los campos de señaladores utilizan 8 bits. Las BPDU en RSTP se explican más adelante.

RSTP puede confirmar de manera activa que un puerto puede sufrir una transición segura al estado de enviar sin depender de ninguna configuración de temporizadores.

BPDU RSTP

RSTP (802.1w) utiliza BPDU tipo 2 (versión 2), de manera que un puente en RSTP puede comunicar a 802.1D en cualquier enlace compartido o con cualquier switch que ejecute 802.1D. RSTP envía BPDU y completa el byte señalizador de una manera ligeramente distinta que en 802.1D:

La información de protocolo puede expirar de forma inmediata en un puerto si no se reciben saludos durante tres tiempos de saludo consecutivos, 6 segundos de manera predeterminada, o si expira el temporizador de antigüedad máxima.

Debido a que las BPDU se utilizan como un mecanismo de actividad, tres BPDU perdidas de forma consecutiva indican la pérdida de la conectividad entre un puente y su raíz vecino o puente designado. La rápida expiración de la información permite que las fallas se detecten muy rápidamente.

Nota: Al igual que STP, un puente en RSTP envía una BPDU con su información actual en todos los períodos de tiempo de saludo (2 segundos de manera predeterminada), aún si el puente de RSTP no recibe ninguna BPDU del puente raíz.

RSTP utiliza el byte de señalización de la BPDU versión 2 como se muestra en la figura:

  • Los bits 0 y 7 se utilizan para notificación de cambio en la topología y acuse de recibo de la misma forma que en 802.1D.
  • Los bits 1 y 6 se utilizan para el proceso de Acuerdo de propuesta (para la convergencia rápida).
  • Los bits del 2 al 5 contienen la función y el estado del puerto que origina la BPDU.
  • Los bits 4 y 5 se utilizan para codificar la función del puerto mediante un código de 2 bits.

BPDU RSTP

Puertos Extremo (Edge)

Un puerto Extremo (Edge) RSTP es un puerto de switch que no está pensado para ser conectado a otro dispositivo switch. Al habilitarlo, efectúa de inmediato la transición al estado de reenvío.

El concepto de puerto extremo es bien conocido para los usuarios de spanning-tree de Cisco, ya que se corresponde con la funcionalidad de PortFast en la que todos los puertos directamente conectados a estaciones finales anticipan que no hay dispositivos de switch conectados a los mismos. Los puertos de PortFast sufren la transición al estado de enviar de STP de forma inmediata, lo que permite evitar el uso de los estados de escuchar y aprender, que consumen tiempo. Ni los puertos extremo ni los puertos con PortFast habilitado generan cambios de topología cuando el puerto experimenta una transición al estado habilitado o deshabilitado.

A diferencia de PortFast, un puerto extremo RSTP que recibe una BPDU pierde su estado de puerto extremo de forma inmediata y se convierte en un puerto normal de spanning-tree.

La implementación de RSTP de Cisco mantiene la palabra clave PortFast mediante el comando spanning-tree portfast para la configuración del puerto límite. Esto permite que la transición de red total a RSTP sea más transparente. La configuración de un puerto extremo para que se conecte a otro switch puede tener consecuencias negativas para RSTP cuando se encuentra en estado sincronizado, ya que puede generarse un bucle temporal, lo que posiblemente provocará una demora en la convergencia de RSTP debido a la contención de BPDU con el tráfico de bucles.

Ejemplo RSTP

Tipos de puertos

Existen tres tipos de puertos:

  1. Puerto extremo (Edge port): éste es un puerto situado en el borde de la red en el que por norma general conectamos dispositivos de tipo Host “PC, Servidor, …”. A la hora de configurar el puerto del switch, utilizaremos la característica portfast, de esta forma el puerto del switch pasará al estado enviar de forma inmediata. Debemos tener en cuenta que en el momento en que el puerto reciba una BPDU, este perderá el estado de Edge.
  2. Puerto punto a punto (Point-to-Point port): es cualquier puerto que enlaza un switch con otro switch y se convierte en puerto designado (Designated). El intercambio de BPDU’s se realiza de mutuo acuerdo. Un switch propone que su puerto sea el designado, y si el otro switch está de acuerdo, responde con un mensaje de confirmación.
  3. Puerto raíz (Root port): es el puerto con mejor coste hacia el root en la instacia STP. Solamente un puerto raíz puede ser seleccionado al mismo tiempo, aunque pueden existir varios puertos alternativos. En el caso de existir caminos alternativos, estos son identificados como puertos raíz alternativos (Alternate), y pueden, de forma inmediata, enviar tráfico en el caso de que el puerto raíz falle.

Sincronización

Para participar en la convergencia RSTP, un switch debe decidir el estado de cada uno de sus puertos. Los puertos que no son Edge empiezan en estado Discarding. Después de que los switches (cada uno con su vecino) intercambian BPDUs se puede identificar el Root Bridge. Si un puerto recibe una BPDU superior de un vecino ese puerto se convierte en Root Port.

Proceso de propuesta y acuerdo

Cuando un switch recibe un mensaje de propuesta en un puerto ocurre lo siguiente:

  1. Si la propuesta del que envía tiene una BPDU superior, el switch local se da cuenta de que el que envía debe ser el switch designado y su puerto toma el rol de nuevo puerto raíz.
  2. Antes de que el switch esté de acuerdo debe sincronizarse a sí mismo con la topología.
  3. Todos los puertos que no sean frontera, son movidos inmediatamente al estado de descartado de tal forma que no puedan formar ningún bucle.
  4. Se envía un mensaje de acuerdo de regreso al emisor indicando que el switch está de acuerdo con la nueva elección de puerto designado. Además se informa del proceso de sincronización al resto de switches.
  5. El puerto raíz se pasa inmediatamente al estado de enviado.
  6. Los puertos que no sean frontera  y estén en estado descartado envían un mensaje de propuesta a sus respectivos vecinos.
  7. Un mensaje de acuerdo es recibido desde cada vecino a cada uno de los puertos en estado descartado.
  8. Los puertos en estado descartado pasan al estado de enviar.
RSTP

Proceso convergencia RSTP

Todo el proceso de convergencia pasa rápidamente a la velocidad de la transmisión de las BPDU’s sin necesidad de temporizadores, un puerto designado que envía un mensaje de propuesta podría no recibir un mensaje de acuerdo. Si el switch vecino no entiende RSTP o tiene un problema en responder, el switch que está enviando tendrá que seguir los parámentros de STP 802.1D. El puerto debe moverse a través de los estados escuchando y aprendiendo antes de enviar datos.

Cambios de topología en RSTP

RSTP detecta un cambio de topología sólo cuando un puerto que no es frontera pasa al estado enviado. RSTP utiliza todos sus mecanismos de convergencia para prevenir rápidamente los bucles de red. Los cambios de topologías son detectados de tal forma que las tablas de bridging son actualizadas y corregidas en los puertos que han cambiado de estado.

Cuando el cambio de topología es detectado, el switch propaga los cambios al resto de switches de la red, de tal forma que puedan actualizar sus tablas de bridging.

Configuración de RSTP

Para configurar un puerto como Edge usamos:

switch(config-if)#spanning-tree portfast

Para forzar un puerto que actue como point-to-point usamos:

 switch(config-if)#spanning-tree link-type point-to-point

Configuración de RPVST+

La eficiencia de cada instancia de STP puede mejorarse configurando el switch para que utilice RPVST+, esto significa que cada VLAN tendrá su propia instancia de RSTP ejecutandose en el switch.

Para pasar a modo Rapid PVST+ (o RPVST+) usamos:

switch(config-if)#spanning-tree mode rapid-pvst

Para designar y configurar un switch como root bridge primario usamos:

switch(config)#spanning-tree vlan vlan-id root primary

Para designar y configurar un switch como root bridge secundario usamos:

switch(config)#spanning-tree vlan vlan-id root secondary

Para verificar la configuración de un switch usamos:

switch#show spanning-tree vlan vlan-id

MSTP (Multiple Spanning Tree Protocol)

MSTP (802.1S) permite ejecutar en una o más VLAN’s una sola instancia de STP de tal forma que permite ajustar la configuracion en función de los requisitos deseados.

Para configurar MSTP son necesarios los siguientes requisitos:

  • Determinar el número de instancias necesarias.
  • Comprobar si es necesario asociar un conjunto de VLAN’s a cada instancia.

MSTP difiere del resto de tipos de STP, aunque puede interoperar con ellos. Si un switch está configurado para MSTP, tiene que averiguar cuáles de sus vecinos está ejecutando MST. Este mecanismo se realiza mediante la configuración de regiones. Los parámetros a configurar son los siguientes:

  1. Nombre de configuración de MSTP (32 caracteres). Region name.
  2. Número de revisión de MSTP (de 0 a 65535). Se debe configurar manualmente en todos los switches el mismo número.
  3. Tabla con la relación entre instancia MSTP y la(s) vlan(s) (4096 entradas).

Si dos o más switches tiene los mismos atributos están en la misma región.

Instancias de STP dentro de MSTP

MSTP fue diseñado para interoperar con todos los tipos de STP de tal forma que tiene que soportar instancias de cada uno de ellos. Para comprender mejor este concepto tenemos que pensar en el rol de la red con una sola topología CST, de tal forma que una instancia de STP representa todas y cada una de las VLAN’s así como las regiones MSTP. Dicha CST mantiene una topología libre de bucles a la vez que integra todos los tipos de STP que pueden estar en uso.

Para hacer esto, CST ve cada región como una nube, integrándola como si fuera un único switch ya que no tiene conocimiento de los switches que hay en esa región. CST mantiene una topología libre de bucles solamente con los enlaces que conectan las regiones entre sí y con los switches independientes con 802.1Q CST.

Instancias IST

Dentro de cada región MSTP se ejecuta una instancia IST (Internal Spanning Tree) para mantener la topología libre de bucles entre los enlaces donde CST conoce los límites entre regiones y todos los switches dentro de esta. Una instancia IST es como una CST localmente significativa unida a los switches frontera de cada región. El IST representa la región entera como un sólo bridge virtual hacia el CST exterior. Las BPDU se intercambian a través de la VLAN nativa en los límites de la región como si estuviera operando un sólo CST.

A continuación se adjunta un ejemplo detallado de como convertir una topología en la que tenemos 6 instancias (VLAN) PVST en 2 instancias MSTP.

Saludos a tod@s,

JMHAlegre

Esta entrada fue publicada en CCNP SWITCH 642-813 Official Certification Guide (Part II – Chapter 2 Switch Operation), CCNP SWITCH 642-813 Official Certification Guide (Part II – Chapter 7.2 Types of STP), Cisco, SWITCH 642-813 y etiquetada , , , , , , , , , , , , , , , , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s