Anda di halaman 1dari 3

CCNP SWITCH 9: Protegiendo la topologa de Spanning-tree Protegiendo contra BPDUs inexperados

Root Guard Controla donde pueden encontrarse y conectarse los Root Bridge candidatos. Bsicamente un switch aprende el Bridge ID del Root Bridge actual. Si otro switch anuncia una BPDU superior o con mejor Bridge ID en un puerto donde est configurado Root Guard, el switch local no permite que el nuevo switch sea el Root Bridge. Mientras se sigan recibiendo BPDUs con mejor Bridge Id el puerto se mantendr en el estado root-inconsistent de STP. No se enva ni recibe datos en este estado solo escucha BPDUs. Cuando deja de recibir sus BPDUs entonces pasa por los estados de STP normales hasta el Forwarding. Root Guard designa que un puerto solo puede enviar o re-enviar BPDUs, pero no puede usarse para recibir BPDUs. Por lo que previene de que un puerto sea Root Port por donde normalmente se reciben BPDUs desde el Root Bridge. Para configurarlo se debe hacer en cada puerto con el siguiente comando:
Switch(config-if)# spanning-tree guard root

Para ver que puertos estn es estado root-inconsistent podemos usar este comando:
Switch# show spanning-tree inconsistentports

BPDU Guard Protege la integridad de los puertos que tiene activado PortFast. Si se recibe una BPDU en un puerto donde est configurado con BPDU Guard ese puerto se pone inmediatamente en estado errdisable. Si se deja de recibir las BPDUs el puerto sigue en el estado errdisable. The puerto se pone en shutdown y DEBE ser activado manualmente o automticamente usando una comando errdisable recovery. Podemos configurarlo de forma global que solo afectar a los puertos que estn con PortFast:
Switch(config)# spanning-tree portfast bpduguard default

Tambin se puede activar o desactivar (en caso de que est globalmente activado) en cada puerto con el comando:
Switch(config-if)# [no] spanning-tree bpduguard enable

Proteccin contra prdida repentina de BPDUs


Loop Guard

Mantiene la pista de la actividad de BPDUs en puertos nondesignated. Mientras se reciben BPDUs se permite que el puerto funcione normalmente, pero cuando se dejan de recibir las BPDUs, Loop Guard, pasa el puerto al estado de loop-inconsistent. El puerto sigue bloqueado en este punto para prevenir bucles y que siga como nondesignated. Cuando se vuelven a recibir BPDUs por el puerto, Loop Guard hace que el puerto pase por los estados de STP hasta que quede en Forwarding. Por defecto Loop Guard est desactivado en todos los puertos y lo podemos activar globalmente con el siguiente comando:
Switch(config)# spanning-tree loopguard default

Y para activarlo o desactivarlo en un puerto concreto podemos usar el comando:


Switch(config-if)# [no] spanning-tree guard loop

Aunque Loop Guard se activa en un puerto solo bloquea la Vlan por donde se dejan de recibir BPDU no el puerto completo. UDLD Unidirectional Link Detection (UDLD) monitoriza un puerto para ver si realmente es bidireccional. El switch enva una trama espacial de Capa 2 UDLD identificando su puerto a intervalos regulares que se puede configurar pero por defecto son 15 segundos. UDLD espera que el switch del otro extremo responda esas tramas por el mismo enlace con su propia identificacin aadida. Si la comunicacin se mantiene el enlace se considera bidireccional si no se considera unidireccional. Hay dos modos de operacin:

Modo Normal: cuando se detecta un enlace unidireccional el puerto continua normal y UDLD simplemente marca el puerto con estado indeterminado y genera un mensaje de syslog. Modo Agresivo: cuando se detecta un enlace unidireccional se envan mensajes UDLD cada segundo durante 8 segundos, si ninguno de esos mensajes se responden el puerto se pasa al estado errdisabled.

UDLD puede configurarse de forma global (aunque solo afecta a los puertos de fibra):
Switch(config)# udld {enable | aggressive | message time seconds}

Tambin podemos configurarlo por cada puerto:


Switch(config-if)# udld {enable | aggressive | disable}

Para modo normal usaremos enable y para modo agresivo aggressive. y podemos indicar el intervalo de los mensajes.

Usando el filtro de BPDUs para desactivar STP en un puerto.


Siempre se debe usar STP para evitar bucles, pero en ciertos casos se puede necesitar evitar el envo o proceso de BPDUs en uno o varios puertos para ello podemos usar el filtro de BPDUs que deshabilita el STP en dichos puertos. Por defecto, evidentemente, est desactivado este filtro, pero podemos activarlo globalmente que SOLO afectar a los puertos configurados como PortFast:
Switch(config)# spanning-tree portfast bpdufilter default

o activar o desactivar ciertos puertos concretos:


Switch(config-if)# spanning-tree bpdufilter {enable | disable}

Solucin de problemas con la proteccin de STP


Muestra un listado con los puertos que estn etiquetados en estado inconsistente:
Switch# show spanning-tree inconsistentports

Para ver informacin detallada de las razones del estado inconsistente de un puerto:
Switch# show spanning-tree interface type mod/num [detail]

Muestra los estados globales de BPDU Guard, BPDU filter y Loop Guard
Switch# show spanning-tree summary

Muestra el estado UDLD de uno o todos los puertos:


Switch# show udld [type mod/num]

Vuelve a habilitar los puertos que UDLD en modo agresivo puso en errdisable:
Switch# udld reset