Administrator
Administrator
Published on 2024-06-26 / 52 Visits
0
0

STP生成树协议

STP(Spanning TreeProtocol)802.1D是一种二层管理协议,该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可能以一定的方法实现路径冗余,适用于所有厂商的网络设备。

各版本生成树协议兼容性:

名称 全称 兼容性 IEEE 状态 特征
STP 生成树协议 Spanning TreeProtocol 无 IEEE 802.1D 公有 基于端口
RSTP 快速生成树协议 Rapid Spanning Tree Protocol STP IEEE 802.1W 公有 基于端口
PVST VLAN生成树 Per VLAN Spanning Tree 无 Cisco私有LSP中继协议 Cisco私有 基于vlan
PVST+ VLAN生成树+ Per VLAN Spanning Tree+ 兼容RSTP、不兼容MSTP 基于IEEE 802.1W Cisco私有 基于vlan
MSTP 多生成树协议 Multiple Spanning Tree Protocol STP、RSTP、不兼容PVST、PVST+ IEEE 802.1S 公有 基于实例
  • Bridge ID(BID)

网桥ID,用于选举根网桥。BID=StpBridgePriority优先级(默认32768,取值范围0-65535)+48bit的网桥MAC地址。

  • Port ID(PID)

端口ID,用于各种端口的选举。PID=StpPortPriority优先级(默认128,取值范围0-255)+Cost(路径开销)。

  • Root ID(RID)

根桥的桥ID就叫RID。

  • Edged Port

边缘端口,RSTP之后新增端口类型,允许从阻塞状态(20s)直接进入转发状态,边缘端口的UP/DOWN不会触发拓扑改变,且不会被PA协商阻塞。

端口类型

端口角色 英文名称 所在位置 解释
禁用端口 Disable Port 非根网桥、根网桥 生成树中不起作用的端口。
根端口 Root Port(RP) 非根网桥 非根交换机上距离根交换机最近的端口,根端口会将数据传送给根桥用于传输,是交换机端口去往跟桥的最佳路径,每个非根设备上有且只能有一个根端口。
替代端口 Alternative Port 非根网桥 备份根端口,优先级仅次于根端口的被选举为替代端口,工作在稳定拓扑中为Drop状态。(除STP外都有)
指定端口 Design Port(DP) 非根网桥、根网桥 根网桥下所有端口均为指定端口;非根网桥来说每一网段均有一个指定端口,用于和根网桥收发该网段数据使用,每个端口同时只可能属于一种状态下。
备份端口 Backup Port 非根网桥 备份指定端口,优先级仅次于根端口的被选举为备份端口,工作在稳定拓扑中为Drop状态。(除STP外都有)
阻塞端口 Block Port(BP) 非根网桥 不转发数据,被阻塞了的端口,只侦听BPDU报文。

端口状态

端口角色 英文名称 所在位置 解释
禁用 Disabled 非根网桥、根网桥 不收发任何报文。(端口未被启用)
阻塞 Blocking 非根网桥、根网桥 不接收或者转发数据,接收但不发送BPDU,不进行地址学习。(端口启用后会立即进入阻塞状态,如果老化时间内未收到BPDU,则进入侦听状态,默认老化时间20s,调节范围:6-40s)
侦听 Listening 非根网桥、根网桥 不接收或者转发数据,接收并发送BPDU,不进行地址学习。(用于确定根,根端口和指定端口默认时间15s,调节范围4-30s)
学习 Learning 非根网桥、根网桥 不接收或者转发数据,接收并发送BPDU,开始进行地址学习。(用于学习MAC地址,为转发状态做准备,并防止因侦听状态下突然发生的拓扑变更造成的环路、断路问题默认时间15s)
转发 Forwarding 非根网桥、根网桥 接收或者转发数据,接收并发送BPDU,进行地址学习。(正常工作状态)

端口状态流机

2550553665

  1. 端口初始化或使能,进入阻塞状态。
  2. 老化时间到进入监听状态(20s)。
  3. 端口的临时状态停留时间到,进入下一状态(学习状态或转发状态),端口被选举为根端口或指定端口(15s)。
  4. 端口不再是根端口、指定端口或指定状态,进入阻塞状态。
  5. 端口被禁用或链路失效。

1、链路启动Disabled->2、阻塞Blocking(最大老化时间20s)->3、侦听Listening(转发延迟15s)->4、学习Learning(15s)->5、转发Forwarding

生成树算法SPA(Spanning TreeAlgorithm):(依此步骤依次进行)

一、选举根网桥

1、priority值小的交换机优先。
2、mac地址小的交换机优先。

每台网络中的交换机启动后都会认为自己是根桥,会在BPDU中写入自己的BID,然后向外泛洪。
当交换机收到其他比自己优先级高的BID后,他会把正在发送的BPDU中的Root BID替换为优先级较高的Root BID,再向外发送。
当所有交换机都比较完BID后,优先级最高的会被选举为根桥。如果有新交换机接入进来,也会在网络中进行通告,并可能引发拓扑变更,造成网络中断。

二、选举根端口

1、cost值小的端口优先。
2、BID的priority值小的交换机优先。
3、BID的mac值小的交换机优先。
4、发送者BID相同,比较发送者PID。
5、发送者PID相同,比较接受者的PID。

三、选举指定端口

1、cost值小的优先。
2、BID值小的优先。
3、PID值小的优先。

四、阻塞端口

端口选举完成后会阻塞除根端口和指定端口外的其他所有端口

1、每个网络中只有一个根网桥。
2、每个非根网桥只有一个根端口。
3、每个网段只能有一个指定端口。
4、根网桥无根端口。
5、根网桥端口全为指定端口。

STP拓扑变更流程

  1. 发生拓扑变更的交换机先由根端口向根桥发送TCN BPDU(BPDU报文中TYPE字段=0x80)。
  2. 中间交换机在收到了变更交换机发送上来的TCN BPDU后,会继续向自己的上一级交换机发送TCN BPDU,并且回送一个TCA
    BPDU(FLAG字段中TCA位为1的配置BPDU)的确认信息给变更交换机。
  3. 根桥接收到TCN后意识到了拓扑变化,会向所有网桥发送TC BPDU(BPDU FLAG字段中TC位为1持续时间为Forward
    Delay Time + Max Age,默认35s)。
  4. 交换机们收到根桥发出来的TC
    BPDU后,会将自己的MAC地址表的老化时间由缺省的300s减少为15s(用于加快MAC地址学习速度),直到一段时间内不再收到根桥的TC
    BPDU为止。

STP链路开销(Path Cost)值:

链路速度 新版 旧版
10Gbps 2 1
1Gbps 4 1
100Mbps 19 10
10Mbps 100 100

Comment