El protocolo Spanning Tree ( STP ) es un protocolo de red que crea una topología lógica sin bucles para redes Ethernet . La función básica de STP es evitar los bucles de puente y la radiación difundida que resulta de ellos. El árbol de expansión también permite que un diseño de red incluya enlaces de respaldo que brinden tolerancia a fallas si falla un enlace activo.
Como sugiere el nombre, STP crea un árbol de expansión que caracteriza la relación de los nodos dentro de una red de puentes de capa 2 conectados y desactiva aquellos enlaces que no forman parte del árbol de expansión, dejando una única ruta activa entre dos nodos de red cualesquiera. STP se basa en un algoritmo inventado por Radia Perlman mientras trabajaba para Digital Equipment Corporation . [1] [2]
En 2001, el IEEE introdujo el protocolo Rapid Spanning Tree ( RSTP ) como 802.1w. RSTP proporciona una recuperación significativamente más rápida en respuesta a cambios o fallas en la red, introduciendo nuevos comportamientos de convergencia y roles de puerto puente para lograrlo. RSTP fue diseñado para ser compatible con versiones anteriores del STP estándar.
STP se estandarizó originalmente como IEEE 802.1D , pero la funcionalidad de árbol de expansión (802.1D), árbol de expansión rápida (802.1w) y árbol de expansión múltiple (802.1s) se incorporó desde entonces a IEEE 802.1Q-2014 . [3]
Si bien STP todavía se utiliza hoy en día, en la mayoría de las redes modernas su uso principal es como mecanismo de protección de bucle en lugar de mecanismo de tolerancia a fallas. [ cita necesaria ] Los protocolos de agregación de enlaces , como LACP , unirán dos o más enlaces para proporcionar tolerancia a fallas y al mismo tiempo aumentar la capacidad general del enlace.
La necesidad del protocolo Spanning Tree (STP) surgió porque los conmutadores en las redes de área local (LAN) a menudo están interconectados mediante enlaces redundantes para mejorar la resiliencia en caso de que falle una conexión. [4] : 386 Sin embargo, esta configuración de conexión crea un bucle de conmutación que produce radiaciones de transmisión e inestabilidad de la tabla MAC . [4] : 388 Si se utilizan enlaces redundantes para conectar conmutadores, se deben evitar los bucles de conmutación. [4] : 385
Para evitar los problemas asociados con enlaces redundantes en una LAN conmutada, se implementa STP en los conmutadores para monitorear la topología de la red. Todos los enlaces entre conmutadores y, en particular, los enlaces redundantes están catalogados. Luego, el algoritmo de árbol de expansión bloquea el reenvío en enlaces redundantes configurando un enlace preferido entre conmutadores en la LAN. Este enlace preferido se utiliza para todas las tramas Ethernet a menos que falle, en cuyo caso se habilita un enlace redundante no preferido. Cuando se implementa en una red, STP designa un conmutador de capa 2 como puente raíz . Luego, todos los conmutadores seleccionan su mejor conexión hacia el puente raíz para reenviar y bloquear otros enlaces redundantes. Todos los conmutadores se comunican constantemente con sus vecinos en la LAN mediante unidades de datos de protocolo de puente (BPDU). [4] : 388
Siempre que haya más de un enlace entre dos conmutadores, el puente raíz STP calcula el costo de cada ruta en función del ancho de banda. STP seleccionará la ruta con el menor costo, es decir, el mayor ancho de banda, como enlace preferido. STP habilitará este enlace preferido como la única ruta que se utilizará para las tramas Ethernet entre los dos conmutadores y deshabilitará todos los demás enlaces posibles designando los puertos del conmutador que conectan la ruta preferida como puerto raíz . [4] : 393
Después de que los conmutadores habilitados para STP en una LAN hayan elegido el puente raíz, todos los puentes no raíz asignan uno de sus puertos como puerto raíz. Este es el puerto que conecta el conmutador al puente raíz o, si hay varias rutas, el puerto con la ruta preferida calculada por el puente raíz. Debido a que no todos los conmutadores están conectados directamente al puente raíz, se comunican entre sí mediante BPDU STP. Cada conmutador suma el costo de su propia ruta al costo recibido de los conmutadores vecinos para determinar el costo total de una ruta determinada hasta el puente raíz. Una vez que se ha sumado el costo de todas las rutas posibles al puente raíz, cada conmutador asigna un puerto como puerto raíz que se conecta a la ruta con el costo más bajo, o el ancho de banda más alto, que eventualmente conducirá al puente raíz. [4] : 394
El costo predeterminado de la ruta STP se calculó originalmente mediante la fórmula1 Gbit/s/banda ancha. Cuando estuvieron disponibles velocidades más rápidas, los valores predeterminados se ajustaron ya que, de lo contrario, STP no habría distinguido las velocidades superiores a 1 Gbit/s. Su sucesor RSTP utiliza una fórmula similar con un numerador más grande:20 Tbit/s/banda ancha. Estas fórmulas conducen a los valores de muestra en la tabla. [5] : 154
Todos los puertos del switch en la LAN donde está habilitado STP están categorizados. [4] : 388
Cuando un dispositivo se conecta por primera vez a un puerto de conmutador, no comenzará a reenviar datos inmediatamente. En cambio, pasará por varios estados mientras procesa las BPDU y determina la topología de la red. El puerto conectado a un host, como una computadora, una impresora o un servidor , siempre pasa al estado de reenvío, aunque después de un retraso de aproximadamente 30 segundos mientras pasa por los estados de escucha y aprendizaje. El tiempo transcurrido en los estados de escucha y aprendizaje está determinado por un valor conocido como retardo de avance (15 segundos predeterminado y establecido por el puente raíz). Si se conecta otro conmutador , el puerto puede permanecer en modo de bloqueo si se determina que provocaría un bucle en la red. Las BPDU de notificación de cambio de topología (TCN) se utilizan para informar a otros conmutadores sobre los cambios de puerto. Los TCN se inyectan en la red mediante un conmutador no raíz y se propagan a la raíz. Al recibir el TCN, el conmutador raíz establecerá el indicador de cambio de topología en sus BPDU normales. Este indicador se propaga a todos los demás conmutadores y les indica que caduquen rápidamente sus entradas de la tabla de reenvío.
Antes de configurar STP, se debe planificar cuidadosamente la topología de la red. [6] La configuración básica requiere que STP esté habilitado en todos los conmutadores de la LAN y que se elija la misma versión de STP en cada uno. El administrador puede determinar qué conmutador será el puente raíz y configurar los conmutadores de forma adecuada. Si el puente raíz deja de funcionar, el protocolo asignará automáticamente un nuevo puente raíz según el ID del puente. Si todos los conmutadores tienen la misma ID de puente, como la ID predeterminada, y el puente raíz deja de funcionar, surge una situación de empate y el protocolo asignará un conmutador como puente raíz según las direcciones MAC del conmutador. Una vez que a los conmutadores se les ha asignado una ID de puente y el protocolo ha elegido el conmutador de puente raíz, se calcula la mejor ruta hacia el puente raíz en función del costo del puerto, el costo de la ruta y la prioridad del puerto. [7] En última instancia, STP calcula el costo de la ruta en función del ancho de banda de un enlace; sin embargo, los enlaces entre conmutadores pueden tener el mismo ancho de banda. Los administradores pueden influir en la elección del protocolo de la ruta preferida configurando el costo del puerto; cuanto menor sea el costo del puerto, más probable será que el protocolo elija el enlace conectado como puerto raíz para la ruta preferida. [8] La selección de cómo otros conmutadores en la topología eligen su puerto raíz, o la ruta de menor costo al puente raíz, puede verse influenciada por la prioridad del puerto. La máxima prioridad significará que, en última instancia, el camino será menos preferido. Si todos los puertos de un conmutador tienen la misma prioridad, se elige el puerto con el número más bajo para reenviar tramas. [9]
El puente raíz del árbol de expansión es el puente con el ID de puente más pequeño (más bajo). Cada puente tiene un número de prioridad configurable y una dirección MAC; el ID del puente es la concatenación de la prioridad del puente y la dirección MAC. Por ejemplo, el ID de un puente con prioridad 32.768 y MAC 0200.0000.1111 es 32768.0200.0000.1111 . La prioridad predeterminada del puente es 32,768 y solo se puede configurar en múltiplos de 4096. [a] Al comparar dos ID de puente, las partes de prioridad se comparan primero y las direcciones MAC se comparan solo si las prioridades son iguales. El conmutador con la prioridad más baja de todos los conmutadores será la raíz; Si hay un empate, entonces el conmutador con la prioridad más baja y la dirección MAC más baja será la raíz. Por ejemplo, si los conmutadores A (MAC = 0200.0000.1111 ) y B (MAC = 0200.0000.2222 ) tienen una prioridad de 32,768, entonces se seleccionará el conmutador A como puente raíz. [b] Si los administradores de red desean que el conmutador B se convierta en el puente raíz, deben establecer su prioridad en menos de 32,768. [C]
La secuencia de eventos para determinar la BPDU mejor recibida (que es la mejor ruta a la raíz) es:
Las reglas anteriores describen una forma de determinar qué árbol de expansión calculará el algoritmo, pero las reglas tal como están escritas requieren conocimiento de toda la red. Los puentes tienen que determinar el puente raíz y calcular las funciones del puerto (raíz, designado o bloqueado) solo con la información que tienen. Para garantizar que cada puente tenga suficiente información, los puentes utilizan marcos de datos especiales llamados unidades de datos de protocolo de puente (BPDU) para intercambiar información sobre los ID de los puentes y los costos de la ruta raíz.
Un puente envía una trama BPDU utilizando la dirección MAC única del puerto como dirección de origen y una dirección de destino de la dirección de multidifusión STP 01:80:C2:00:00:00 .
Hay dos tipos de BPDU en la especificación STP original [5] : 63 (la extensión Rapid Spanning Tree (RSTP) utiliza una BPDU RSTP específica):
Las BPDU se intercambian periódicamente (cada 2 segundos de forma predeterminada) y permiten que los conmutadores realicen un seguimiento de los cambios de la red e inicien y detengan el reenvío en los puertos según sea necesario. Para evitar retrasos al conectar hosts a un conmutador y durante algunos cambios de topología, se desarrolló Rapid STP, que permite que un puerto de conmutador pase rápidamente al estado de reenvío durante estas situaciones.
Las BPDU IEEE 802.1D e IEEE 802.1aq tienen el siguiente formato:
1. ID de protocolo: 2 bytes (0x0000 IEEE 802.1D) 2. ID de versión: 1 byte (0x00 Config & TCN / 0x02 RST / 0x03 MST / 0x04 SPT BPDU) 3. Tipo de BPDU: 1 byte (BPDU de configuración STP 0x00, BPDU TCN 0x80, BPDU de configuración RST/MST 0x02) 4. Banderas: 1 byte bits: uso 1: 0 o 1 para cambio de topología 2: 0 (sin usar) o 1 para propuesta en RST/MST/SPT BPDU 3–4: 00 (sin usar) o 01 para función de puerto alternativa/copia de seguridad en RST/MST/SPT BPDU 10 para raíz de función de puerto en RST/MST/SPT BPDU 11 para función de puerto designada en RST/MST/SPT BPDU 5: 0 (sin usar) o 1 para aprendizaje en RST/MST/SPT BPDU 6: 0 (sin usar) o 1 para reenvío en RST/MST/SPT BPDU 7: 0 (sin usar) o 1 para acuerdo en RST/MST/SPT BPDU 8: 0 o 1 para confirmación de cambio de topología 5. ID de raíz: 8 bytes (ID de raíz de CIST en MST/SPT BPDU) bits: uso 1–4: Prioridad del puente raíz 5–16: Extensión de ID del sistema de puente raíz 17–64: Dirección MAC del puente raíz 6. Costo de la ruta raíz: 4 bytes (coste de la ruta externa CIST en MST/SPT BPDU) 7. ID de puente: 8 bytes (ID de raíz regional de CIST en MST/SPT BPDU) bits: uso 1–4: Prioridad del puente 5–16: Extensión de ID del sistema de puente 17–64: Dirección MAC del puente 8. ID de puerto: 2 bytes 9. Edad del mensaje: 2 bytes en 1/256 segundos 10. Edad máxima: 2 bytes en 1/256 segundos 11. Hola tiempo: 2 bytes en 1/256 segundos 12. Retraso de reenvío: 2 bytes en 1/256 segundos 13. Versión 1 Longitud: 1 byte (0x00 no hay información de protocolo de la versión 1 presente. RST, MST, SPT BPDU solamente) 14. Versión 3 Longitud: 2 bytes (solo MST, SPT BPDU) La BPDU de TCN incluye únicamente los campos 1 a 3.
El primer protocolo de árbol de expansión fue inventado en 1985 en Digital Equipment Corporation por Radia Perlman . [1] En 1990, el IEEE publicó el primer estándar para el protocolo como 802.1D, [13] basado en el algoritmo diseñado por Perlman. Las versiones posteriores se publicaron en 1998 [14] y 2004, [15] incorporando varias extensiones. El protocolo Spanning Tree original inspirado en Perlman, llamado DEC STP, no es un estándar y difiere de la versión IEEE en el formato de mensaje y en la configuración del temporizador. Algunos puentes implementan las versiones IEEE y DEC del protocolo Spanning Tree, pero su interfuncionamiento puede crear problemas para el administrador de la red. [dieciséis]
No se garantiza la interoperabilidad de diferentes implementaciones de un estándar , debido, por ejemplo, a diferencias en la configuración predeterminada del temporizador. El IEEE alienta a los proveedores a proporcionar una Declaración de conformidad de implementación de protocolo , declarando qué capacidades y opciones se han implementado, [15] para ayudar a los usuarios a determinar si diferentes implementaciones interoperarán correctamente.
En 2001, IEEE introdujo el protocolo Rapid Spanning Tree (RSTP) como IEEE 802.1w . Luego, RSTP se incorporó a IEEE 802.1D-2004, dejando obsoleto el estándar STP original. [17] RSTP fue diseñado para ser compatible con versiones anteriores del STP estándar.
RSTP proporciona una convergencia del árbol de expansión significativamente más rápida después de un cambio de topología, introduciendo nuevos comportamientos de convergencia y funciones de puerto puente para lograrlo. Si bien STP puede tardar de 30 a 50 segundos en responder a un cambio de topología, RSTP generalmente puede responder a los cambios dentro de 3 veces los tiempos de saludo (predeterminado: 3 × 2 segundos) o dentro de unos pocos milisegundos después de una falla del enlace físico. El tiempo de saludo es un intervalo de tiempo importante y configurable que RSTP utiliza para varios propósitos; su valor predeterminado es 2 segundos. [18] [19]
RSTP agrega nuevas funciones de puerto puente para acelerar la convergencia después de una falla en el enlace:
La cantidad de estados de puerto de switch en los que puede estar un puerto se ha reducido a tres en lugar de los cinco originales de STP:
Detalles operativos de RSTP:
STP y RSTP no segregan los puertos del switch por VLAN. [20] Sin embargo, en entornos conmutados Ethernet donde existen múltiples VLAN , a menudo es deseable crear múltiples árboles de expansión para que el tráfico en diferentes VLAN utilice enlaces diferentes.
Antes de que IEEE publicara un estándar de protocolo Spanning Tree para VLAN, varios proveedores que vendían conmutadores con capacidad para VLAN desarrollaron sus propias versiones del protocolo Spanning Tree que eran compatibles con VLAN. Cisco desarrolló, implementó y publicó elProtocolo propietario por árbol de expansión por VLAN ( PVST ) que utiliza su propio enlace Inter-Switch (ISL) para encapsulación de VLAN y PVST+ que utiliza encapsulación de VLAN 802.1Q . Ambos estándares implementan un árbol de expansión independiente para cada VLAN. Los conmutadores Cisco ahora comúnmente implementan PVST+ y solo pueden implementar árboles de expansión para VLAN si los otros conmutadores en la LAN implementan el mismo protocolo VLAN STP. HP proporciona compatibilidad con PVST y PVST+ en algunos de sus conmutadores de red. [20] Algunos dispositivos de Force10 Networks , Alcatel-Lucent , Extreme Networks , Avaya , Brocade Communications Systems y BLADE Network Technologies son compatibles con PVST+. [21] [22] [23] Extreme Networks lo hace con dos limitaciones: falta de soporte en puertos donde la VLAN no está etiquetada/nativa, y también en la VLAN con ID 1. PVST+ puede hacer un túnel a través de una región MSTP . [24]
El proveedor de conmutadores Juniper Networks, a su vez, desarrolló e implementó su protocolo VLAN Spanning Tree Protocol (VSTP) para proporcionar compatibilidad con PVST de Cisco, de modo que los conmutadores de ambos proveedores se puedan incluir en una LAN. [20] El protocolo VSTP solo es compatible con las series EX y MX de Juniper Networks. Existen dos restricciones a la compatibilidad de VSTP:
De forma predeterminada, VSTP utiliza el protocolo RSTP como su protocolo principal de árbol de expansión, pero el uso de STP puede verse obligado si la red incluye puentes antiguos. [26] En la documentación oficial se publicó más información sobre la configuración de VSTP en conmutadores Juniper Networks. [27]
Cisco también publicó una versión propietaria del protocolo Rapid Spanning Tree. Crea un árbol de expansión para cada VLAN, al igual que PVST. Cisco se refiere a esto comoÁrbol de expansión rápido por VLAN ( RPVST ).
El protocolo de árbol de expansión múltiple (MSTP), definido originalmente en IEEE 802.1s -2002 y luego fusionado en IEEE 802.1Q -2005, define una extensión de RSTP para desarrollar aún más la utilidad de las VLAN.
En el estándar, un árbol de expansión que asigna una o más VLAN se denomina árbol de expansión múltiple (MST). En MSTP se puede definir un árbol de expansión para VLAN individuales o para grupos de VLAN. Además, el administrador puede definir rutas alternativas dentro de un árbol de expansión. Los conmutadores primero se asignan a una región MST, luego las VLAN se asignan o asignan a este MST. Un árbol de expansión común (CST) es un MST al que se asignan varias VLAN; este grupo de VLAN se denomina instancia de MST (MSTI). Los CST son compatibles con versiones anteriores de los estándares STP y RSTP. Un MST que tiene solo una VLAN asignada es un árbol de expansión interno (IST). [20]
A diferencia de algunas implementaciones propietarias de árbol de expansión por VLAN, [28] MSTP incluye toda la información de su árbol de expansión en un único formato BPDU. Esto no solo reduce la cantidad de BPDU necesarias para comunicar información del árbol de expansión para cada VLAN, sino que también garantiza la compatibilidad con RSTP y, de hecho, también con el STP clásico. MSTP hace esto codificando una región adicional de información después de la BPDU RSTP estándar, así como una cantidad de mensajes MSTI (de 0 a 64 instancias, aunque en la práctica muchos puentes admiten menos). Cada uno de estos mensajes de configuración MSTI transmite la información del árbol de expansión para cada instancia. A cada instancia se le puede asignar una cantidad de VLAN configuradas y las tramas asignadas a estas VLAN operan en esta instancia del árbol de expansión siempre que estén dentro de la región MST. Para evitar transmitir toda su VLAN al mapeo de árbol de expansión en cada BPDU, los puentes codifican un resumen MD5 de su VLAN a la tabla de instancias en la BPDU MSTP. Luego, otros puentes MSTP utilizan este resumen, junto con otros valores configurados administrativamente, para determinar si el puente vecino está en la misma región MST que él.
MSTP es totalmente compatible con los puentes RSTP en el sentido de que un puente RSTP puede interpretar una BPDU MSTP como una BPDU RSTP. Esto no solo permite la compatibilidad con puentes RSTP sin cambios de configuración, sino que también hace que cualquier puente RSTP fuera de una región MSTP vea la región como un único puente RSTP, independientemente del número de puentes MSTP dentro de la propia región. Para facilitar aún más esta visión de una región MSTP como un único puente RSTP, el protocolo MSTP utiliza una variable conocida como saltos restantes como contador de tiempo de vida en lugar del temporizador de antigüedad del mensaje utilizado por RSTP. El tiempo de antigüedad del mensaje solo se incrementa una vez cuando la información del árbol de expansión ingresa a una región MST y, por lo tanto, los puentes RSTP verán una región como solo un salto en el árbol de expansión. Los puertos en el borde de una región MSTP conectados a un puente RSTP o STP o a un punto final se conocen como puertos límite. Al igual que en RSTP, estos puertos se pueden configurar como puertos perimetrales para facilitar cambios rápidos en el estado de reenvío cuando se conectan a puntos finales.
IEEE 802.1aq, también conocido como Shortest Path Bridging (SPB), permite que los enlaces redundantes entre conmutadores estén activos a través de múltiples rutas de igual costo y proporciona topologías de capa 2 mucho más grandes, una convergencia más rápida y mejora el uso de las topologías de malla a través de una mayor ancho de banda entre todos los dispositivos al permitir que el tráfico se cargue compartido en todas las rutas en una red de malla. [29] [30] SPB consolida múltiples funcionalidades existentes, incluido el protocolo de árbol de expansión (STP), el protocolo de árbol de expansión múltiple (MSTP), el protocolo de árbol de expansión rápido (RSTP), la agregación de enlaces y el protocolo de registro de MAC múltiple (MMRP) en uno solo. protocolo de estado del enlace. [31]
El ID del puente (BID) es un campo dentro de un paquete BPDU. Tiene ocho bytes de longitud. Los primeros dos bytes son la prioridad del puente, un entero sin signo de 0 a 65.535. Los últimos seis bytes son una dirección MAC proporcionada por el puente. Antes de IEEE 802.1D-2004, los dos primeros bytes daban una prioridad de puente de 16 bits. Desde IEEE 802.1D-2004, los primeros cuatro bits son una prioridad configurable y los últimos doce bits llevan la extensión de ID del sistema de puente. En el caso de MST, la extensión de ID del sistema puente lleva el número de instancia de MSTP . Algunos proveedores configuran la extensión de ID del sistema de puente para que lleve una ID de VLAN que permita un árbol de expansión diferente por VLAN, como el PVST de Cisco .
El árbol de expansión es un protocolo más antiguo con un tiempo de convergencia más largo. El uso o implementación inadecuados pueden contribuir a interrupciones en la red. Bloquear enlaces es un enfoque burdo para lograr una alta disponibilidad y evitar bucles. Las redes modernas pueden hacer uso de todos los enlaces conectados mediante el uso de protocolos que inhiben, controlan o suprimen el comportamiento natural de los bucles de topología lógica o física.
Los protocolos más nuevos y robustos incluyen el protocolo TRILL (Transparent Interconnection of Lots of Links), también creado por Perlman, [32] y Shortest Path Bridging del IEEE.
Configurar conexiones entre equipos de red como enlaces IP de capa 3 y confiar en el enrutamiento IP para mayor resiliencia y evitar bucles es una alternativa popular.
Las técnicas de virtualización de conmutadores, como Cisco Virtual Switching System y Virtual PortChannel y HP Intelligent Resilient Framework, combinan varios conmutadores en una única entidad lógica. Un grupo de agregación de enlaces de múltiples chasis de este tipo funciona como un puerto troncal normal , solo que se distribuye a través de múltiples conmutadores. Por el contrario, las tecnologías de partición compartimentan un único chasis físico en múltiples entidades lógicas.
En el borde de la red, la detección de bucles está configurada para evitar bucles accidentales por parte de los usuarios. [ Se necesita más explicación ]
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link){{cite journal}}
: Citar diario requiere |journal=
( ayuda )dado que el protocolo de árbol de expansión (STP) original se eliminó de la revisión de 2004 de IEEE Std 802.1D, se requiere una implementación de RSTP para cualquier reclamo de conformidad para un implementación de IEEE Std 802.1Q-2003 que hace referencia a la revisión actual de IEEE Std 802.1D
El puente de ruta más corto reemplazará al árbol de expansión en la estructura Ethernet.