RSTP and RPVST+

  • 新增的概念
    • Edge Port 等同于 PortFast
    • Link Type
      • 端口物理状态是全双工 p2p
      • 半双工 shared

Port States and Roles

  • 状态
    • 标准STP 有5种状态
    • RSTP 只有3种状态
      • Forwarding
      • Learning
      • Discarding —— 对应 Listening,Blocking,Disabled
  • 角色
    • 标准:Root Port,Designed Port,Block Port
    • RSTP:
      • Root Port
      • Alternate Port:可以作为RP的备选,RP失效后替代RP
      • Backup Port:提供到同1个segment的 redundant connectivity,但是不提供保证

08 Rapid PVST - 图1

BPDU in RSTP

  • 802.1D中,只有Root Bridge 生成BPDU
  • 在 RSTP中,保留了对802.1D的兼容,同时起用了一些之前未使用的bits,同时将BPDU的版本标记为2,以和之前的做个区别
    • 每个交换机端口,都对外发送间隔2s 的Hello BPDU,
    • 当连续3个Hello BPDU没有被收到时,就会认为对方down掉,对端相关的信息Age out
    • 这意味着6s内就可以检测到变化,而不是802.1D的20s

RSTP/RPVST+ Fast Convergence

  • Sync Process 这个过程不依赖Timer,很复杂
    • 非 edge 端口,从 Discarding 状态启动
    • 选举出 Root Bridge
    • 选举出 Root Port(从邻居收到 Superior BPDU的端口)—— 到这步为止,标准STP 和 RSTP 都是一致的
    • 往下就在 RSTP 出现了变化 —— 每个非 Edge端口,交换机通过交换 proposal-agreement handshake 来决定每条链路的状态
      • 。。。。。。
      • Sync 完成后,发送Agreement通知Root Bridge,然后Root Bridge 和 本Bridge 之间的端口就立刻变为 Forwarding

RSTP/RPVST+ New Topology Change Mechanism

  • 在RSTP中,只有当非 edge 端口状态变为 Forwarding时才会触发TCN,这也意味着和802.1D相比,连接的丢失不会被认为 TC
  • 当1个Bridge 检测到TC时
    • 启动1个 值为2倍 Hello Timer的定时器,在所有非Edge端口上向外发送TC置位的BPDU
    • 清空发生变化的端口相关的全部MAC Table
  • 当其他Bridge 收到TC置位的BPDU时
    • 清空MAC Table中,除了收到TC置位BPDU端口之外其他端口相关的所有条目
    • 启动1个 值为2倍 Hello Timer的定时器,在所有Designated 和 Root 端口上向外发送TC置位的BPDU
  • 对比802.1D,需要发送TCN给到Root Bridge,然后由Root Bridge 对外发送TC置位的BPDU,其他交换机才会调整MAC Table的失效时间