STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于在网络中建立树形拓扑,消除网络中的二层环路,并且可以通过一定的方法实现路径冗余(不是一定可以实现路径冗余),实现冗余备份;同时避免因环路的存在而造成广播风暴的问题。
明白了STP大致是干什么的之后,现在来了解一下他的过程:
运行STP协议的交换机的端口总共有四种状态:
⑴阻塞BLK(20s)
⑵监听LIS(15s)
⑶学习LRN(15s)
⑷转发FWD
交换机通电后,该网络内的交换机即为阻塞状态,此阶段各交换机向外发送自己的BPDU(网桥协议数据单元Bridge Protocol Data Unit),并接收所收到的BPDU。通过分析BPDU数据来选举根桥交换机。
根桥交换机的选举原则:BID(bridge id)
BID中包含网桥优先级和桥MAC
选举时首先比较bridge priority(桥优先级),bridge priority 越小越优,默认为32768,优先级必须为4096的倍数。
如上图所示,优先级的数值为32768+vlan名(如:vlan 1,优先级即为32768+1)。
若设备的优先级相同,则比较桥MAC地址。桥MAC地址同桥优先级一样,越小越优。
根桥交换机选举完成后,各端口即进入监听状态。此阶段与阻塞状态的过程有些类似,但目的不同。此阶段各交换机的各个端口向外发送自己的BPDU,同时接收其他交换机的BPDU。通过分析BPDU的数据来选举根端口RP和指定端口DP。
- 选举根端口(RP)
在每个非根桥交换机上选举一个根端口。
选举规则为:
⑴到根网桥最低的路径开销
⑵发送BPDU的网桥ID较小
⑶端口ID较小的
路径开销cost值如下图所示:
端口ID由端口优先级与端口编号组成。默认的端口优先级为128。端口优先级根据对端交换机的端口优先级计算,越小越优。
当端口优先级相同时,则比较端口号(port-number),端口号越小越优,同样与对端交换机的端口进行比较。
- 选举指定端口(DR)
每个网段上选举一个指定端口。
选择顺序为:
⑴根路径成本较低
⑵发送BPDU的交换机的网桥ID值较小
⑶本端口的ID值较小。
另外,根网桥的接口皆为指定端口,因为根网桥上端口的根路径成本为0。
小结:生成树协议运行生成树算法(STA)。生成树算法很复杂,但是其过程可以归纳为以下3步:
(1)选举根网桥
(2)选举根端口
(3)选举指定端口
通过实验进行验证,实验拓扑图如下所示:
基本配置:
SW-1
SW-1(config)#vlan 10
SW-1(config-vlan)#vlan 20
SW-1(config-vlan)#exit
SW-1(config)#interface range g0/0-1
SW-1(config-if-range)#switchport trunk encapsulation dot1q
SW-1(config-if-range)#switchport mode trunk
SW-1(config-if-range)#exit
SW-1(config)#spanning-tree vlan 10 priority 4096
SW-1(