STP
El Protocolo de Árbol de Extensión (STP) es un protocolo de capa dos publicado en la especificación IEEE 802.1.
El objetivo del árbol de extensión es mantener una red libre de bucles. Un camino libre de bucles se consigue cuando un dispositivo es capaz de reconocer un bucle en la topología y bloquear uno o más puertos redundantes.
El protocolo Árbol de extensión explora constantemente la red, de forma que cualquier fallo o adición en un enlace, switch o bridge es detectado al instante. Cuando cambia la topología de red, el algoritmo de árbol de extensión reconfigura los puertos del switch o el bridge para evitar una perdida total de la conectividad.
Los switches intercambian información (BPDU) cada dos segundos si se detecta alguna anormalidad en algún puerto STP cambiara de estado algún puerto automáticamente utilizando algún camino redundante sin que se pierda conectividad en la red.
¿Como funciona STP?
Pues es una practica común que en el diseño de la topología de una red se agreguen enlaces redundantes con el fin de hacer la red tolerable a fallas y de esta forma si falla un enlace la red tiene la capacidad de recuperarse inmediatamente sin que el usuario ni siquiera sienta la falla, por ejemplo:
Esta es una topología de red con bucle.
En la imagen anterior podemos ver como tenemos dos posibles rutas para llegar desde PC1 hasta PC2, estas son:
- PC1–S1–S3–PC2
- PC1–S1–S2–S4–S3–PC2
Si es bien es cierto que esta practica nos asegura una alta disponibilidad en la red que administramos también es cierto que tiene un lado negativo y son los bucles de switching, tramas duplicadas y tormentas de difusión que pueden llegar incluso a colgar todo un segmento de red, vamos a tratar de definir que significan estos conceptos.
Para lograr esto todos los switches en una red configurada con STP realizan el siguiente proceso:
Proceso STP
Elección de un Switch Raíz:
En un dominio de difusión solo puede existir un switch raíz. Todos los puertos del bridge raíz se encuentran en estado enviando y se denominan puertos designados. Cuando esta en este estado, un puerto puede enviar y recibir trafico. La elección de un switch raíz se lleva a cabo determinando el switch que posea la menor prioridad. Este valor es la suma de la prioridad por defecto dentro de un rango de 1 al 65536 (20 a 216) y el ID del switch equivalente a la dirección MAC. Por defecto la prioridad es 215 = 32768 y es un valor configurable. Un administrador puede cambiar la elección del switch raíz por diversos motivos configurando un valor de prioridad menor a 32768. Los demás switches del dominio se llaman switch no raíz.
- Puerto Raíz: El puerto raíz corresponde a la ruta de menor coste desde el Switch no raíz, hasta el Switch Raíz. Los puertos raíz se encuentran en estado de envío o retransmisión y proporcionan conectividad hacia atrás al Switch Raíz. La ruta de menor coste al switch raíz se basa en el ancho de banda.
- Puertos designados: El puerto designado es el que conecta los segmentos al Switch Raíz y solo puede haber un puerto designado por segmento. Los puertos designados se encuentran en estado de retransmisión y son los responsables del reenvío de tráfico entre segmentos. Los puertos no designados se encuentran normalmente en estado de bloqueo con el fin de romper la topología de bucle.
- Puertos bloqueados: Aquellos puertos que no sean elegidos como raíz ni como designados deben bloquearse.
Mantenimiento del Spanning Tree
Cuando se detecta un cambio el switch notifica al puente raíz dicho cambio y entonces el puente raíz envía por broadcast dicho cambio. Para ello, se introduce una BPDU especial denominada notificación de cambio en la topología (TCN). Cuando un switch necesita avisar acerca de un cambio en la topología, comienza a enviar TCN en su puerto raíz. La TCN es una BPDU muy simple que no contiene información y se envía durante el intervalo de tiempo de saludo. El switch que recibe la TCN se denomina puente designado y realiza el acuse de recibo mediante el envío inmediato de una BPDU normal con el bit de acuse de recibo de cambio en la topología (TCA). Este intercambio continúa hasta que el puente raíz responde.
Estado de los puertos
Los estados en los que puede estar un puerto son los siguientes:
- Bloqueo: En este estado se pueden recibir BPDU’s pero no las enviará. Las tramas de datos se descartan y no se actualizan las tablas de direcciones MAC (mac-address-table).
- Escucha: A este estado se llega desde Bloqueo. En este estado, los switches determinan si existe alguna otra ruta hacia el puente raíz. En el caso que la nueva ruta tenga un coste mayor, se vuelve al estado de Bloqueo. Las tramas de datos se descartan y no se actualiza la tabla de direcciones MAC (mac-address-table). Se procesan las BPDU.
- Aprendizaje: A este estado se llega desde Escucha. Las tramas de datos se descartan pero ya se actualizan las tablas de direcciones MAC (aquí es donde se aprenden por primera vez). Se procesan las BPDU.
- Envío: A este estado se llega desde Aprendizaje, en este estado el puerto puede enviar y recibir datos. Las tramas de datos se envían y se actualizan las tablas de direcciones MAC (mac-address-table). Se procesan las BPDU.
- Desactivado: A este estado se llega desde cualquier otro. Se produce cuando un administrador deshabilita el puerto o éste falla. No se procesan las BPDU.
Tipos de STP:
PVST
PVST (Per VLAN Spanning Tree), es un protocolo estándar de Cisco, el cual es utilizado para configurar STP en VLANs distintas dentro de un switch.
Segun Cisco este protocolo mantiene una instancia de spanning-tree para cada VLAN configurada en la red. Utiliza el protocolo de enlace troncal ISL propiedad de Cisco que permite que un enlace troncal de la VLAN se encuentre en estado de enviar para algunas VLAN y en estado de bloqueo para otras.
Debido a que PVST trata a cada VLAN como una red independiente, puede balancear la carga de tráfico de la Capa 2 mediante el envío de -_+ls. Para PVST, algunas de las extensiones que desarrolló Cisco son:
- BackboneFast
- UplinkFast
- PortFast
Las diferentes versiones de PVST son:
- PVST +:
– Admite ISL y enlace troncal IEEE 802.1Q
– Admite las extensiones de STP propiedad de Cisco
– Agrega mejoras en la protección de BPDU y en la protección de raíz
- PVST + Rápido:
– Basado en el estándar IEEE802.1w
– Posee convergencia más veloz que 802.1D
RSTP
Rapid Spanning Tree Protocol (RSTP) es un protocolo de red de la segunda capa , que gestiona enlaces redundantes. Especificado en IEEE 802.1w, es una evolución del Protocol (STP), reemplazándolo en la edición 2004 del 802.1d. RSTP reduce significativamente el tiempo de convergencia de la topología de la red cuando ocurre un cambio en la topología.
Roles de los puertos RSTP:
- Raíz: Es un puerto de envío elegido para la topología Spanning Tree.
- Designado: Un puerto de envío elegido para cada segmento de la red.
- Alternativo: Un camino alternativo hacia el Puente Raíz. Este camino es distinto al que usan los puertos raíz.
- Respaldo: Un camino de respaldo/redundante (de mayor costo) a un segmento donde hay otro puerto ya conectado.
- Deshabilitado: Un puerto que no tiene un papel dentro de la operación de Spanning Tree.
Estados de los puertos RSTP:
- Learning: Escucha BPDUs y guarda información relevante.
- Forwarding: Una vez ejecutado el algoritmo para evitar bucles, los puertos activos pasan a este estado.
- Discarding: No recibe BPDUs por lo cual no se encuentra participando en la instancia activa de STP
Los puertos raíz y designado forman parte de la topología activa. Los puertos alternativo y de respaldo no están incluidos en la topología activa
RSTP monitorea el estado de todas las trayectorias:
Si una dirección activa se cae, RSTP activa las direcciones redundantes.
Configura de nuevo la topología de la red adecuadamente.
RSTP se ha convertido en el protocolo preferido para prevenir ciclos de capa 2 en topologías que incluyen redundancia. Además de que el 802.1w contiene mejoras, retiene compatibilidad con su antecesor 802.1D dejando algunos parámetros sin cambiar. Por ejemplo, RSTP mantiene el mismo formato de BPDU que STP sólo que cambia el campo de versión, el cual se le asigna el valor de 2.
RSTP también define el concepto de edge-port, el cual también se menciona en STP como PortFast, en donde el puerto se configura como tal cuando se sabe que nunca será conectado hacia otro switch de manera que pasa inmediatamente al estado de direccionamiento sin esperar los pasos intermedios del algoritmo –etapas de escucha y aprendizaje- los cuales consumen tiempo. Los puertos que no son edge-ports pueden ser punto a punto o compartidos. El tipo de enlace es detectado automáticamente, pero puede ser configurado explícitamente para hacer más rápida la convergencia.
Conclusión
El protocolo Spanning Tree es una parte fundamental de una red Ethernet. Si administra una red Ethernet con varios conmutadores, un buen conocimiento de Spanning Tree lo ayudará a garantizar la estabilidad y optimizar el rendimiento.