一、简介:
生成树协议是以太网中的破环协议,运行该协议的设备通过彼此交互信息来发现网络中的环路,并有选择地对某些端口进行阻塞,最终将环形网络修剪成无环路的树形网络,达到破除环路的目的。另外,如果当前活动的链路发生故障,生成树协议还可以激活冗余备份链路,恢复网络连通性。
二、STP的功能:
1、防环(stp的主要功能,破除二层之间的环路)
2、冗余(主链路发生故障后可根据自身算法自动切换到备份链路)
3、最优路径(与cost成反对,计算出最优的转发路径)
注:stp、rstp均属于公共生成树协议无法实现负载分担,如一定要实现负载分担能力,需配合eth-trunk技术共同使用。
三、STP协议的要求:
1、在同一网络中只能存在一个根交换机(root),可以同时存在多个备份根交换机,主根故障后选取mac地址最小的备根升为主根。
2、根交换机的端口默认为DP端口,非根交换机选择一个端口RP端口
3、每段链路存在一个DP端口(通过BPDU报文选取产生)
4、既不是RP也不是DP的端口将被阻塞
四、STP协议角色:
1、交换机角色:
(1)根交换机
(2)备份根交换机
(3)非根交换机
2、端口角色:
DP端口:(收发数据,发送BPDU报文)
1)对于单台设备而言:指定桥向本机转发配置消息的端口
2)对于局域网而言:指定桥向本网段转发配置消息的端口
RP端口:(收发数据,发送BPDU报文)
根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据。在一个运行STP/RSTP协议的设备上根端口有且只有一个,根桥上没有根端口
阻塞端口:(不转发数据,接受BPDU报文)
五、BPDU报文解析:
1、简介:生成树拓扑计算是基于设备之间交互BPDU报文实现的,BPDU报文中携带了生成树拓扑计算需要的信息。BPDU报文被封装在以太网数据帧中
2、分类:
- 配置BPDU(Configuration BPDU):STP用来进行生成树计算和维护生成树拓扑的报文。
- RST BPDU:RSTP用来进行生成树计算和维护生成树拓扑的报文。
- MST BPDU:MSTP用来进行生成树计算和维护生成树拓扑的报文。
- TCN BPDU(Topology Change Notification BPDU):网络拓扑发生变化时用来通知相关设备的报文。
3、STP依据BPDU选举过程:
RID
RPC
BID
PID
本地PID
从上到下依次比较
选举时先选举链路的DP端口,在根据收到存下的BPDU报文在本设备内比较选取RP端口,最后既不是DP也不是RP的端口为阻塞端口。
六、STP端口状态及端口变化图例
disable-------没有插线
blocking-----端口阻塞状态
listening-----侦听、STP选举但是不转发数据
|
forwarding delay-----15秒 转发延迟
|
lenrning-----学习,学习mac地址表,构建mac地址,但是不转发数据
|
forwarding delay-----15秒 转发延迟
|
forwarding----转发,继续学习mac地址,转发数据
端口之间up/down需要30秒才能恢复
pc与端口之间up/down需要50秒恢复通信