Protocolo STP Spanning Tree Protocol
El standard de STP es 802.1d , pero Rapid Spanning Tree Protocol (RSTP) le substituyó más adelante con estándar 802.1w
STP Spanning Tree Protocol o Árbol de Expansión es un protocolo que se usa en los switches para evitar bucles en las conexiones y en la difusión de mensajes a través de los trunks y por VLAN.
Al crear redundancia en las conexiones para obtener una alta disponibilidad, creamos bucles que podrían afectar a la red al crearse bucles. Los bucles se detectan porque los switches reciben las mismas BPDU’s o actualizaciones de los switches por diferentes interfaces.
STP organiza la red de forma jerárquica quitando privilegios de envío y recepción de tramas a ciertos puertos para omitir los bucles.
STP trabaja de forma distribuida en todos los switches de la red enviando cada uno de ellos sus actualizaciones mediante BPDU (Bridge Protocol Data Units).
- BPDU Bridge Protocol Data Units (BPDUs) son tramas que contienen información del protocolo Spanning tree (STP). Los switches mandan BPDUs usando una única dirección MAC de su puerto como mac de origen y una dirección de multicast como MAC de destino (01:80:C2:00:00:00) .
- BPDU 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.
- Switch raiz: Mediante el algoritmo STA, se busca un switch con unas características determinadas, que lo promocionará como root. Los atributos que definen la prioridad de un switch vienen en un intercambio de datos BPDU, donde un campo llamado BID contiene el identificador del switch, su MAC y otro valor. El que tiene un valor BID menor, es el switch raiz. Si el BID es igual en los swtiches cercanos, es la menor MAC la que define el switch raiz.
- Puerto raiz: (Root Port o RP) Tras hallar el switch raiz, los otros switches buscan cual es el mejor camino para llegar al switch raiz identificando los mejores puertos segun su velocidad. Mediante el comando spanning-tree cost valor se puede definir una prioridad particular.
- Puerto designado: (Designated Port o DP)es el puerto que esta al otro lado de un puerto raíz. Los puertos del switch raíz son puertos designados
- Puerto alternativo o de respaldo: son los puertos candidatos a ser deshabilitado en la envía de datos para evitar los bucles. En RSTP si el root port principal falla, este se convierte en root port.
- Backup port: Es el puerto paralelo al root port en el mismo switch. Si el root port falla, este se convierte en root port. Mientras esta en modo backup port, esta también en discarding state.
- Puertos deshabilitados: un puerto deshabilitado es un puerto de switch que está desactivado.
- Per-VLAN Spanning Tree (PVST) tiene un STP para cada VLAN mediante protocolo ISL. El propietario de este protocolo es CISCO.
- Bridge ID : Es el identificado del SWITCH. Es un campo de 8 bytes, que se divide en dos partes. La primera parte es un campo Prioridad puente de 2-byte (que puede ser configurado), mientras que la segunda parte es la dirección MAC de 6 bytes del interruptor. Mientras que la prioridad de puente es configurable, la dirección MAC es única entre todos los interruptores y la suma de estos dos asegura una identificación única del puente.
- Link cost en STP: Es un valor asociado a la velocidad del enlace
- Path cost en RSTP: Es un valor que representa la velocidad en atravesar todos los elementos hasta el root switch.
- STP Convergence entre estado de puerrtos: Es el tiempo predefinido de 50 segundos en finalizar la convergencia pasando de un estado a otro de los puertos.
Estados de los puertos
Blocking State
Los puertos de conmutación entrarán en un estado de bloqueo en el momento del proceso de elección, cuando un switch recibe una BPDU en un puerto que indica una mejor ruta al Root Switch (Root Bridge), y si un puerto no es un Root Port o un Puerto designado.
Un puerto en el estado de bloqueo no participa en el reenvío de frames y también descarta los frames del segmento de red conectado. Durante el estado de bloqueo, el puerto sólo está escuchando y procesando BPDU en sus interfaces. Después de 20 segundos, el puerto del conmutador cambia del estado de bloqueo al estado de escucha.
Listening State
Después de bloquear el estado, un puerto raíz o un puerto designado se moverá a un estado de escucha. Todos los demás puertos permanecerán en un estado bloqueado. Durante el estado de escucha, el puerto descarta las tramas recibidas del segmento de red conectado y también descarta las tramas conmutadas desde otro puerto para el reenvío.
En este estado, el puerto recibe BPDU del segmento de red y los dirige al módulo de sistema de conmutación para su procesamiento. Después de 15 segundos, el puerto del conmutador pasa del estado de escucha al estado de aprendizaje.
Learning State
Un puerto cambia a estado de aprendizaje después de escuchar el estado. Durante el estado de aprendizaje, el puerto está escuchando y procesando BPDUs.
En el estado de escucha, el puerto comienza a procesar tramas de usuario y comienza a actualizar la tabla de direcciones MAC. Pero las tramas de usuario no se reenvían al destino. Después de 15 segundos, el puerto del conmutador se mueve del estado de aprendizaje al estado de reenvío.
Forwarding State
Un puerto en el estado de reenvío remite cuadros a través del segmento de red adjunto. En un estado de reenvío, el puerto procesará BPDUs, actualizará su tabla de direcciones MAC con los cuadros que recibe y reenviará el tráfico de usuarios a través del puerto.
Estado de reenvío es el estado normal. Los mensajes de datos y configuración se pasan a través del puerto, cuando se encuentra en estado de reenvío.
Disabled State
Un puerto en el estado deshabilitado no participa en el reenvío de tramas o la operación de STP porque un puerto en el estado deshabilitado se considera no operativo.
Deshabilitar STP en un Switch Catalyst
Por defecto, el protocolo de Spannig Tree corre en todos los puertos de un switch. La función de STP no puede ser deshabilitada por puerto en el switch. A pesar de que no es recomendado, STP puede deshabilitarse por VLAN o de forma global en el switch.
Utilizando el siguiente comando, se deshabilitará STP en la VLAN indicada.
switch(config)#no spanning-tree vlan vlan/id,
Modificar prioridad STP en un Switch Catalyst
switch(config)# spanning-tree vlan 5 priority 16384
Mostrar información STP del switch
Switch#show spanning-tree detail VLAN0001 is executing the ieee compatible Spanning Tree Protocol Bridge Identifier has priority of 32768, sysid 1, 0006.2AD9.2348 Configured hello time 2, max age 20, forward delay 15 Current root has priority 32769 Root port is 26 (GigabitEthernet0/2), cost of root path is 4 Topology change flag not set, detected flag not set Number of topology changes 0 last change occurred 00:00:00 ago from FastEthernet0/1 Times: hold 1, topology change 35, notification 2 hello 2, max age 20, forward delay 15 Timers: hello 0, topology change 0, notification 0, aging 300 Port 1 (FastEthernet0/1) of VLAN0001 is designated forwarding Port path cost 19, Port priority 128, Port Identifier 128.1 Designated root has priority 128, address 00D0.5870.6D1A Designated bridge has priority 32769, address 0001.C73A.A7BD Designated port id is 128.1, designated path cost 19 Timers: message age 16, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default Port 2 (FastEthernet0/2) of VLAN0001 is alternate blocking Port path cost 19, Port priority 128, Port Identifier 128.2 Designated root has priority 128, address 00D0.5870.6D1A Designated bridge has priority 32769, address 0001.C73A.A7BD Timers: message age 16, forward delay 0, hold 0
show spanning-tree summary
Switch#sh spanning-tree summary Switch is in pvst mode Root bridge for: Extended system ID is enabled Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is disabled EtherChannel misconfig guard is disabled UplinkFast is disabled BackboneFast is disabled Configured Pathcost method used is short Name Blocking Listening Learning Forwarding STP Active --------------------- -------- --------- -------- ---------- ---------- VLAN0001 1 0 0 3 4 ---------------------- -------- --------- -------- ---------- ---------- 6 vlans 1 0 0 3 4
Otra manera de modificar la prioridad es mediante el siguiente comando:
spanning-tree vlan 200 root primary
Supongamos 2 switches con vlan 200 donde SW1 es root y SW2 designado.
SW1#show spanning-tree vlan 200 VLAN200 is executing the ieee compatible Spanning Tree protocol Bridge Identifier has priority 32768, address c201.2a40.0001 Configured hello time 2, max age 20, forward delay 15 We are the root of the spanning tree (...)
SW2#sh spanning-tree vlan 200 VLAN200 is executing the ieee compatible Spanning Tree protocol Bridge Identifier has priority 16384, address c202.0c6c.0003 Configured hello time 2, max age 20, forward delay 15 Current root has priority 8192, address c201.2a40.0001 Root port is 44 (FastEthernet1/3), cost of root path is 19 (...)
Ejecutamos el siguiente comando en SW2 porque queremos que sea root para esa VLAN200
SW2(config)#spanning-tree vlan 200 root primary VLAN 200 bridge priority set to 8191 VLAN 200 bridge max aging time unchanged at 20 VLAN 200 bridge hello time unchanged at 2 VLAN 200 bridge forward delay unchanged at 15
El resultado es el siguiente:
SW1#show spanning-tree vlan 200 VLAN200 is executing the ieee compatible Spanning Tree protocol Bridge Identifier has priority 8192, address c201.2a40.0001 Configured hello time 2, max age 20, forward delay 15 Current root has priority 8191, address c202.0c6c.0003 Root port is 44 (FastEthernet1/3), cost of root path is 19 SW2#sh spanning-tree vlan 200 VLAN200 is executing the ieee compatible Spanning Tree protocol Bridge Identifier has priority 8191, address c202.0c6c.0003 Configured hello time 2, max age 20, forward delay 15 We are the root of the spanning tree
Si tuviéramos un tercer switch al cual quisiéramos como opción alternativa a root, lo hacemos con el siguiente comando
SW3(config)#spanning-tree vlan 200 root secondary VLAN 200 bridge priority set to 16384 VLAN 200 bridge max aging time unchanged at 20 VLAN 200 bridge hello time unchanged at 2 VLAN 200 bridge forward delay unchanged at 15
Ahora el Switch root es el SW2, el SW3 prioridad 42 yel SW1 tiene prioridad 44 .
Fuentes:
http://ecovi.uagro.mx/ccna3/course/module2/index.html#2.1.2.1
Fuente Bridge ID:
Imagen de comparativa STP y RSTP:
https://cciethebeginning.wordpress.com/2008/11/20/differences-between-stp-and-rstp/
Fuente estado de los puertos:
http://www.omnisecu.com/cisco-certified-network-associate-ccna/spanning-tree-port-states.php
Fuente BPDU:
https://es.wikipedia.org/wiki/Bridge_Protocol_Data_Units
Fuente BPDU Guard:
https://supportforums.cisco.com/es/document/111171
AUTOR: David Perez Martorell davidperezmartorell@gmail.com
—
Nota: Si te sirvió lo que postié, te pido 2 segundos para contestar las encuestas que figuran abajo.
Gracias!