Fast Converge

  • Port Fast
    • Global: spanning-tree portfast default
    • Interface: spannint-tree portfast

Secure the STP

  • Root Guard
    • spanning-tree guard root
    • 防止新接入的Switch称为Root Bridge
    • 如果在配置了 root guard 的端口上,收到了superior BPDU, root guard 会把这个端口置为 root-inconsistent STP 状态,等效于 err-disable ,不会有流量转发
  • BPDU Guard
    • 在配置了BPDU Guard的端口上,收到BPDU,端口就会被置为 err-disable 。—— 例如:在本该使用PC的端口上使用了Switch
    • Global :
      • 只在Portfast 状态端口生效
    • Interface
      • 不管是不是Portfast,不管是不是 access/trunk ,都生效
    • 进入 err-disable 后有2种恢复
      • 手动 shut no shut
      • errdiable recovery cause bpdugurad
      • 修改默认的恢复时间 : errdisable recovery interval XX sec
  • Root Guard vs BPDU Guard
    • BPDU Guard —— 一旦收到,就进入 err-disable
    • Root Guard —— 收到Superior BPDU,才会进入
  • BPDU Filter
    • 很危险,很容易导致环路,不适用于生产环境
    • 只有处于portfast 状态的端口才生效,
    • Global
      • spannint-tree portfast budufilter default
      • 不过滤 incoming BPDU,但是过滤大部分的 outgoing (只有最开始的可以发出去)
      • 如果在配置Global BPDU Filter的端口上收到BPDU,会disable 掉自己的Portfast 和 BPDU Filter,然后正常参与 生成树计算(因为意识到对面是交换机)
    • Interface
      • spannint-tree bpdufilter enable
      • 过滤掉全部的incoming 和 outgoing ,相当于关闭了生成树计算
    • 不发送BPDU就意味着不参与STP
  • Port Security

Loop Prevention

  • Loop Guard
    • 为什么在防环的协议里还有防环工具—— STP是物理链路防环,还需要逻辑链路防环
    • 开启了 Loop Guard的端口上,从Block 向 Forward转换时,不会去到 Forward,而是到 loop inconsistent 的状态
    • 需要在 non-designated 端口上开启
  • UDLD —— unidirectional link detection protocol
    • 交换机发送UDLD数据包,包括端口ID,对面收到后加上自己的,再发回来。然后发送者检查UDLD种有没有自己的ID,如果有,证明链路是通的
    • 2种模式
      • aggressive : 检测到UDLD 超时,就进入 err-disable
      • normal : 检测到UDLD 超时,不进入 err-disable,取决于生成树状态?
  • Loop Guard vs UDLD
    • Loop Guard 是 Per-Vlan 的,而UDLD 是Per-Port 物理端口