STP生成树
STP: spanning-tree protocol (生成树协议)
Spanning:持续;贯穿:包括
STP 技术背景:
1.交换机如果连接形成环路:STP会自动启用并且配置完成的
2.企业里面大家需要做生成树的优化
3.STP作用是:将形成环路的物理接口逻辑成关闭形成无环的结构
那么有环结构有什么影响
交换机与交换机会形成广播风暴,而且计算机会收到重复帧。
那么广播风暴有什么影响呢
1.占用线路的带宽
2.占用交换机的内存和CPU资源
这些问题都是什么造成的? 答案是:有环结构
所以形成环路的条件:
1. 交换机与交换机的物理线路需要连接成一个环路
2. 交换机上存在同一个vlan
3. 这个存在的vlan要能够 通过环路每一根线
其实生成树的原理与《数据结构》中的树型结构特点相似:
根节点、叶子节点与叶子节点没有环路
但是占用交换机内存和CPU运算资源。
STP特点:所有vlan都用一个生成树,节约交换机内存和CPU运算。没办法做到基于vlan的stp独立。
MSTP特点:可以指定某些vlan共用一个生成树。
Vlan1、2、3,启用一个stp。
Vlan4、5、6、7启用另一个STP。
那么如何找到交换机中的根交换机呢?
找根交换机:
1.肉眼观察法—欺骗眼睛
2.科学观察法—正确
Switch#Show spanning-tree
发现交换机上存在This bridge is the root
那么 这个交换机就是一个根交换机
或者查看mac地址
show version
得到:
Switch3:000B.BE60.BC 57
Switch2:00E0.B057.A8C7
Switch4: 00E0.A39A.D1D2
Mac地址比较:从左往右比,一列一列的比,最小的成为根交换机
比较完确定了根交换机以后
我们就可以手动修改交换机:
默认交换机有一个基本优先级:32678
Priority 32768 sys-id-ext 1(vlan 1)
所有针对vlan1 的所有交换机的优先级是32769,针对于vlan2 的所有交换机的优先级32770
(生成树的优先级越小越优先)
根交换机的配置:
Spanning-tree vlan 2 priority 0
怎么来寻找断的那一条链路:看生成的端口状态
Fwd:转发,一个端口处于转发状态那么这个接口可以正常转发用户的数据
Blk:阻塞,一个端口阻塞状态那么这个接口不能够正常转发用户的数据
假设Vlan 10 只能走左边这根线,所以断的线为交换机1右边的线,那么根交换机就是三层交换机0
所以在vlan 10 中,三层交换机0比三层交换机1的优先级低
所以我们把三层交换机0的优先级设为0
Switch(config)#Spanning-tree vlan 10 priority 0
同理:三层交换机0的代码为
Switch(config)#Spanning-tree vlan 10 priority 0
Switch(config)#Spanning-tree vlan 30 priority 0
三层交换机0的代码为:
Switch(config)#Spanning-tree vlan 20 priority 0
Switch(config)#Spanning-tree vlan 40 priority 0
最后比较优先级
由图可见在三层交换机0中和三层交换机1中:
vlan 20 BLK(阻塞)的是f0/2这条线
Vlan 40 BLK的是 f0/4这条线
Vlan 10 BLK的是 f0/4这条线
Vlan 30 BLK的是f0/2这条线
可以看出:
三层交换机0是vlan10 和vlan30 的根交换机
三层交换机1是vlan20 和vlan40 的根交换机
备根
Spanning-tree vlan 10 root secondary
主根
Spanning-tree vlan 10 root primary