原理概述
1:STP 是用来避免数据链路层(二层)环路的协议。使用 BPDU (网桥协议数据单元,可以认为是报文)传递网络信息计算出一 个无环的树状网络结构,并阻塞特定端口。在网络出现故障的时候,STP 能快速发现链路故 障,并尽快的找出另外一条路径用来进行数据传输。 交换机上运行的 STP 通过 BPDU 信息的交互,选举根交换机,然后每台非根交换机选 择用来与根交换机通信的根端口,之后每个网段选择用来转发数据至根交换机的指定端口, 最后剩余端口则被阻塞。
2:选根桥(根据优先级和MAC地址进行比较,谁小谁优,默认优先级为32768);选根端口;选指定端口;阻塞剩余端口。
BPDU 选举四点
1:根桥ID(生成树运算第一步就是通过比较每台交换机的交换机 ID 选举根交换机,交换机 ID 由 交换机优先级和 MAC 地址组成。首先比较交换机优先级,数值最低的为根交换机,如果优 先级一样,则比较 MAC 地址,同样数值最低的选举为根交换机。)
2:RPC(根路径开销 root path cost)
3:发送者桥ID
4:发送端口ID
现在将 S1 配置为主根交换机,S2 为备份根交换机,将 S1 的优先级改为 0,S2 的优先 级改为 4096。
[S1]stp priority 0
[S2]stp priority 4096
查看 S2 和 S3 的 STP 状态
Hello Time 定时器:Hello Time 为周期发送 BPDU 来维护生成树的稳定的时间,默认为 2 秒。
Max Age 定时器:BPDU 的最大生存时间,默认为 20 秒。
Forward Delay 定时器:此延迟时间为 Forward Delay 定时器的时间,默认为 15 秒。STP 采用了一种端口状态迁移机制,新选出的根端 口和指定端口要经过 2 倍的 Forward Delay 延时后才能进入转发状态,这个延时保证了新的 配置消息传遍整个网络。
使用命令 ping x.x.x.x -t 持续发送 ICMP 报文,进行连通性测试。当主链路down之后,备份链路会从该链路收到来自根桥的BPDU,经过最短转发时间30s 后,转发数据,在 S1 上修改 STP 的 Forwad Delay 时间为 2000 厘秒,默认为 1500 厘秒。注意,只有在 根交换机上进行该配置才会生效。
[S1]stp timer forward-delay 2000
STP角色
根端口(root port)指定端口(designation port)阻塞端口(blocking port)
STP端口状态
disable (未使能) blocking(阻塞)listening (监听 )learing (学习) forwarding(转发)