Protocolo Spanning Tree en Redes LAN
Protocolo Spanning Tree en Redes LAN
Redes de Datos I
Redes LAN
A envía una trama de broadcast A SW1
SW1 anota a A en P1 y reenvía
P1 P2 P3
SW2 anota a A en P2 y reenvía
A
SW3 anota a A en P2 y reenvía P1
A
SW1 A
SW3 P3
A
P1 P2 P2 P2
A
A SW3
A
P1 SW2
A P2
P3 P1 P2 P3
SW2 A
A
P1 A
SW3 anota a A en P1 y reenvía
A
SW2 anota a A en P3 y reenvía
SW1 anota a A en P3 y reenvía B
SW1 anota a A en P2 y reenvía
2 Redes de datos I
Redes LAN
3 Redes de datos 1
Redes LAN
4 Redes de datos 1
Redes LAN
La solución es bloquear
todos los enlaces que
generen un lazo. Esos Enlaces activos
enlaces quedan como Enlaces bloqueados
respaldo.
5 Redes de datos 1
Spanning Tree Protocol, STP
6 Redes de datos 1
Spanning Tree Protocol, STP
7 Redes de datos 1
Spanning Tree Protocol, STP
8 Redes de datos 1
Spanning Tree Protocol, STP
RPC=4+4=8
9 Redes de datos 1
Spanning Tree Protocol, STP
10 Redes de datos 1
Spanning Tree Protocol, STP
11 Redes de datos 1
Spanning Tree Protocol, STP
Bridge ID
➢ Cada switch tiene un ID único (bridge ID) que lo identifica. Es un valor de 8 bytes
que consta de los siguientes campos:
➢ Prioridad de switch (2 bytes): prioridad de un switch en relación con todos los
demás. Puede tener un valor de 0 a 65.535 (32.768 o 0x8000 valor por
defecto).
➢ Dirección MAC (6 bytes).
➢ Cuando un switch se enciende por primera vez, tiene una visión estrecha de su
entorno y asume que es el propio puente raíz (root bridge).
➢ El proceso de elección del puente raíz se realiza intercambiando BPDUs. El switch
con prioridad más baja es elegido. Si hay empate, se elige el que posea la MAC más
baja.
12 Redes de datos 1
Spanning Tree Protocol, STP
Port ID
➢ Un switch habilitado para STP identifica los puertos mediante un identificador de
puerto (PID). Se utiliza un PID para seleccionar un puerto designado en un
escenario específico.
➢ Un PID consiste de dos bytes: los cuatro bits más a la izquierda designan la
prioridad del puerto y los 12 bits más a la derecha indican el número de puerto.
➢ En general la prioridad de puerto predeterminada es 128. Este valor se puede
modificar en la configuración del switch.
13 Redes de datos 1
Spanning Tree Protocol, STP
Reenvío de BPDU
Root Bridge . . .
BPDU
P8 P20 100 Mbps
Sender BID 32768 . AAAA.BBBB.0000
(PC=19)
Port ID 128 . 20
. . .
P3
AAAA.BBBB.0001 . . .
BPDU
1 Gbps Sender BID 32768 . AAAA.BBBB.0001
(PC=4)
AAAA.BBBB.0003 Port ID 128 . 14
P1
. . .
AAAA.BBBB.0002
15 Redes de datos 1
Spanning Tree Protocol, STP
Comparación de BPDUs
16 Redes de datos 1
Spanning Tree Protocol, STP
Comparación de BPDUs
Root
Bridge Root Bridge Port
RPC
BId Id Id
BID = 5
BID = 15 BID = 9
2 4
5,8,15,2 Costo = 19 Costo = 4 5,12,9,4
1 RP RP 8
7 3
SW-A SW-B
BID = 20 5,16,12,3 BID = 12
5,27,20,7
BPDU que El SW-B compara la BPDU recibida con la que él
genera el SW-A genera, y ve que la recibida es peor, por lo que la
descarta y pone el puerto como designado
17 Redes de datos 1
Spanning Tree Protocol, STP
Comparación de BPDUs
Root
Bridge Root Bridge Port
RPC
BId Id Id
BID = 5
BID = 15 BID = 9
2 4
5,8,15,2 Costo = 19 Costo = 4 5,12,9,4
1 RP RP 8
7 3
SW-A SW-B
BID = 20 5,16,12,3 BID = 12
5,27,20,7
El SW-A compara la BPDU recibida con la que BPDU que
él genera, y ve que la recibida es mejor, por genera el SW-B
lo que pone al puerto como no designado
18 Redes de datos 1
Spanning Tree Protocol, STP
➢Elección del RB
• Inicialmente todos los switches suponen que son Root Bridge, todos sus
puertos son Designated Ports y generan BPDUs con Root BID = Sender BID. Se
elige al que tenga menor Root BID
➢Elección del Root Port en los switches
• Se compara la BPDU recibida con la que generaría el puerto
• Menor Root Path Cost (camino óptimo hacia el Root Bridge)
• Menor Sender BID
• Menor Port ID
➢Elección de los Designated Ports
• Idem
Ejemplo STP-1
Bridge Id = 32768,00-00-00-00-00-01 Bridge Id = 32768,00-00-00-00-00-03
Root Id = 32768.00-00-00-00-00-01 Root Id = 32768.00-00-00-00-00-03
1 1
Bridge A Bridge B
2 2
Bridge C 1 2
Bridge Id = 32768,00-00-00-00-00-02
Root Id = 32768.00-00-00-00-00-02
Bridge C 1 2
Bridge Id = 32768,00-00-00-00-00-02
Root Id = 32768.00-00-00-00-00-02
Bridge Id = 32768,00-00-00-00-00-02
Root Id = 32768.00-00-00-00-00-02
A BPDU Root Id = 32768.00-00-00-00-00-01
El Bridge A se anuncia como root, enviando BPDU a Bridge B y C
22 Redes de datos 1
Spanning Tree Protocol, STP
Ejemplo STP-1: elección de roles de puertos
Bridge Id = 32768.00-00-00-00-00-01 Bridge Id = 32768.00-00-00-00-00-03
Root Id = 32768.00-00-00-00-00-01 Root Id = 32768.00-00-00-00-00-01
Root
Bridge 1 1
Bridge B
Bridge A 1 Gbps
2 C=4 2
Root Ports
100 Mbps 1 Gbps Designated Ports
C = 19 C=4 Non Designated Ports
Bridge C 1 2
Bridge Id = 32768.00-00-00-00-00-02
Root Id = 32768.00-00-00-00-00-01
Bridge C 1 2
Bridge Id = 32768.00-00-00-00-00-02
Root Id = 32768.00-00-00-00-00-01
Ejemplo STP-2
1 1
SW C 2 2 SW D
1 Gbps
C=4 Bridge Id = 32768.32-54-22-12-39-18
Bridge Id = 32768.00-01-00-33-AB-CD
25 Redes de datos 1
Spanning Tree Protocol, STP
26 Redes de datos 1
Spanning Tree Protocol, STP
Ejercicio: determinar el root bridge y los estados de los puertos de cada
switch, suponiendo que todos tienen la prioridad por default.
Core
0009.7CB7.86BD Root Ports
25 26 Designated Ports
Non Designated Ports
25 25 Root Bridge
Distr-1 2 C = 19 2 Distr-2
0060.3E90.E224 0001.C935.CA3D
1
26 26 1
C=4 C = 19
El puerto 3 compara
2
la BPDU recibida
26
25 1 con la que
Acceso-1 1 3 Acceso-2
00E0.8F65.9513
generaría él. Como
0060.5C6E.DB95 C = 19 la recibida es mejor,
Distr-2,4,Acceso-1,1 Distr-2,19,Acceso-2,3 bloquea el puerto
BPDU enviada BPDU generada
27 Redes de datos 1
Spanning Tree Protocol, STP
Ejercicio: modificar la red de forma que el switch de Core sea el root
bridge y volver a identificar los estados de todos los puertos.
Core
0009.7CB7.86BD Root Bridge Root Ports
25 26 Designated Ports
Non Designated Ports
25 25
Distr-1 2 C= 2 Distr-2
0060.3E90.E224 19 0001.C935.CA3D
1
26 26 1
C=4 C=
25 2 19
26 1
Acceso-1 1 3 Acceso-2
0060.5C6E.DB95 C = 19 00E0.8F65.9513
Todo el tráfico circula por el switch Distr-2. Si quiero balancearlo, puedo cambiar el costo
del puerto 25 del switch Acceso-1
28 Redes de datos 1
Spanning Tree Protocol, STP
29 Redes de datos 1
Spanning Tree Protocol, STP
31 Redes de datos 1
Spanning Tree Protocol, STP
32 Redes de datos 1
Spanning Tree Protocol, STP
➢ Max Age: Intervalo de tiempo que un switch almacena una BPDU antes de
descartarla. Si el puerto deja de recibir BPDUs, el switch asume que se debe
haber producido un cambio de topología después de que transcurrió el
tiempo máximo de caducidad, por lo que la BPDU está vencida. Valor
predeterminado: 20 segundos.
➢ Fwd Delay: determina cuánto tiempo debe pasar un puerto en los estados
de aprendizaje y escucha. Este período de demora garantiza que STP tendrá
➢ tiempo suficiente para detectar y eliminar los bucles. Valor predeterminado:
20 segundos.
33 Redes de datos 1
Spanning Tree Protocol, STP
34 Redes de datos 1
Spanning Tree Protocol, STP
35 Redes de datos 1
Spanning Tree Protocol, STP
36 Redes de datos 1
Spanning Tree Protocol, STP
SW1 SW2 ➢ El SW1 (puente raíz) envía BPDU a los dos switch.
AAAA.BBBB.0000 AAAA.BBBB.0001 ➢ Si el SW2 detecta que el puerto que conecta con
DP RP SW1 está caído, inmediatamente selecciona el puerto
que lo une con SW3 como el nuevo puerto raíz.
DP NDP Después de dos intervalos del temporizador de
RP retardo de reenvío (FWD Delay, 15 segundos
nuevo predeterminado) el puerto raíz pasa al estado de
estado reenvío.
➢ Si el SW2 no detecta que el puerto que conecta con
DP
RP SW1 está caído, pero sin embargo, no recibe las
BPDU por ese puerto, debe aguardar que expire el
temporizador Max Age (20s) para elegir el nuevo
puerto raíz y luego los dos intervalos del
AAAA.BBBB.0002
temporizador de retardo. En este caso, se necesitan
SW3
unos 50 segundos (50s) para recuperarse de la falla.
37 Redes de datos 1
Spanning Tree Protocol, STP
SW1 SW2 ➢ El SW1 (puente raíz) envía BPDU a los dos switch.
AAAA.BBBB.0000 AAAA.BBBB.0001 ➢ Si falla el enlace ente SW1 y SW3, éste último no
DP RP recibirá BPDUs ni tramas de datos.
➢ Cuando el SW3 detecta la falla, asume que es el
DP NDP nuevo root bridge de la red y comienza a enviar
DP
hacia el SW2 una nueva BPDU.
nuevo ➢ El SW2 recibe BPDUs tanto de SW1 como de SW3,
estado pero como la BPDU de SW3 es peor que la de SW1,
DP
las descarta.
RP ➢ Expirado el temporizador Max Age (20s), el SW2
RP considera la nueva BPDU que le envía SW3, y como
es inferior, cambia el estado del puerto de bloqueado
AAAA.BBBB.0002 a escuchando, y luego a aprendiendo.
SW3 ➢ En este caso, se necesitan unos 50 segundos (50s)
para recuperarse de la falla.
38 Redes de datos 1
Spanning Tree Protocol, STP
MAC Interfaz
DP NDP P3 AAAA.FFFF.0001
DP AAAA.FFFF.0001 P1 (Host A)
Host A
nuevo AAAA.FFFF.0002 P2 (Host B)
estado
40 Redes de datos 1
Spanning Tree Protocol, STP
➢ El STP tradicional (IEEE 802.1D) puede demorar algún tiempo en converger (entre
30 segundos y algunos minutos).
➢ En 1998 se estandarizó Rapid Spanning Tree Protocol (RSTP, IEEE 802.1w) que
reduce el tiempo de convergencia a 6 segundos máximo (3 x Hello time).
➢ Actualmente el STP estándar está declarado como obsoleto.
➢ Redefine los roles de los puertos y sus estados.
➢ A diferencia de STP, cada switch (independientemente si es el root bridge o no),
genera su propia BPDU a intervalos definidos por el Hello time.
42 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
43 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
El protocolo RSTP elimina dos estados de puerto definidos en el protocolo STP, lo que
reduce el número de estados de puerto a tres:
➢ Si el puerto no reenvía tráfico de usuario ni aprende direcciones MAC, se encuentra en
estado Discarding.
➢ Si el puerto no reenvía tráfico de usuario pero aprende direcciones MAC, se encuentra en
estado Learning.
➢ Si el puerto reenvía tráfico de usuario y aprende direcciones MAC, se encuentra en estado
Forwarding.
Estado del puerto STP Estado del Puerto RSTP Rol del puerto
Deshabilitado Descartar Puerto deshabilitado
Bloqueo Descartar Puerto alternativo o puerto de respaldo
Escuchando Descartar Puerto raíz o puerto designado
Aprendizaje Aprendizaje Puerto raíz o puerto designado
Reenviando Reenviando Puerto raíz o puerto designado
44 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
Edge Ports
Root Bridge
DP RP
45 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
Protección BPDU
Root Bridge
DP RP
46 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
00 Desconocido
El campo de Flags es de 1 byte 01 Alterno / Respaldo
10 Raíz
11 Designado
47 Redes de datos 1
Rapid Spanning Tree Protocol, RSTP
Negociación Proposal/Agreement
➢ Inicialmente, cada switch supone que es el puente raíz, asigna a sus
puertos el rol de designados, y los coloca en estado de descarte.
SW1 ➢ Los puertos designados generan una BPDU con el bit Proposal en 1.
P1 ➢ Si la BPDU recibida por P2 es superior a la que él genera, comienza
un proceso de sincronización.
3-Agreement 1-Proposal ➢ Para evitar lazos, el SW2 coloca los puertos designados, aguas
P2 abajo, en estado de descarte (los puertos alternos y los Edge, no
modifican su estado).
SW2
P3 P5
➢ El P2 envía una BPDU hacia el SW1, con el bit Agreement en 1, y el
AP P4 EP “role port” en puerto raíz.
DP ➢ Al recibir la BPDU, el P1 cambia el estado de descarte a reenvío.
2-Sin cambios 2-Sin cambios
2-Descarte
➢ La negociación continúa con los switch aguas abajo.
48 Redes de datos 1
Spanning Tree Protocol y VLAN
49 Redes de datos 1
Spanning Tree Protocol y VLAN
50 Redes de datos 1
Spanning Tree Protocol y VLAN
V10 V20
➢ Habilitando el STP, y con todos los parámetros
por default, las dos instancias de STP pondrán
SW-A BID = 32768.AAAA
el P2 del SW-A en estado de descarte.
P1 X P2 ➢ Todo el tráfico de las dos VLANs circulará por
X los puertos P1 de cada switch.
➢ Se pierde eficiencia al tener un enlace sin
P1 P2 utilizar.
SW-B BID = 32768.BBBB
V10 V20
51 Redes de datos 1
Spanning Tree Protocol y VLAN
V10 V20
➢ Se puede balancear el tráfico.
➢ Se modifican las prioridades de los puertos de
SW-A BID = 32768.AAAA modo que cada VLAN tenga un puerto
P1 X X P2 diferente en el rol de alterno.
➢ El tráfico de la VLAN10 circulará por los
puertos P1 y el tráfico de la VLAN20 por los
P1 P2 puertos P2.
SW-B BID = 32768.BBBB
V10 V20
52 Redes de datos 1
Multiple Spanning Tree Protocol, MSTP
➢ En una red grande los enlaces son generalmente trunks y el cantidad de VLANs
puede ser grande.
➢ El cálculo de cada STP por cada VLAN puede implicar un uso elevado de CPU.
➢ Suele pasar que el STP es el mismo para muchas VLANs, con lo cuál los cálculos
se realizarían de forma innecesaria.
➢ Si se utiliza el STP común (CST), en el que circulan todas las VLANs en los enlaces
trunk, tiene como inconveniente no poder balancear el tráfico y la posibilidad de
dejar una VLAN sin conexión.
➢ Para evitar esto surge el MST (Multiple Spanning Tree). Permite crear un número
reducido de instancias de STP y luego mapear en las diferentes VLANs en cada
instancia.
53 Redes de datos 1
Multiple Spanning Tree Protocol, MSTP
Instancia 1 DP X Instancia 2 DP
DP AP
X AP RP
RP DP
54 Redes de datos 1
Spanning Tree Protocol
IOS Cisco
Comandos básicos de configuración y monitoreo de STP:
switch# show spanning-tree
switch(config)# spanning-tree vlan y priority x
switch(config)# spanning-tree vlan y root priority
switch(config)# spanning-tree vlan y secondary priority
switch(config-if)# #spanning-tree port-priority x
switch(config-if)# #spanning-tree portfast
switch(config-if)# #spanning-tree bpduguard enable
switch(config-if)# #spanning-tree bpdufilter enable
55 Redes de datos 1