一、实验目的
(1)了解生成树协议的作用;
(2)熟悉生成树协议的配置。
二、应用环境
采用生成树协议可以避免环路。
生成树协议的根本目的是将一个存在物理环路的交换网络变成一个没有环路的逻辑树形网络。IEEE802.ID协议通过在交换机上运行一套复杂的算法STA(spanning-tree algorithm), 使冗余端口置于"阻断状态",使得接入网络的计算机在与其他计算机通讯时,只有一条链路生效,而当这个链路出现故障无法使用时,IEEE802.1d协议会重新计算网络链路,将处于"阻断状态"的端口重新打开,从而既保障了网络正常运转,又保证了冗于能力。
三、实验设备
- DCS二层交换机2台
- PC机2台
- 直通网线4-8根
四、实验拓扑

五、实验要求
IP地址设置:
|------|--------------|---------------|
| 设备 | IP | Mask |
| 交换机A | 10.1.157.100 | 255.255.255.0 |
| 交换机B | 10.1.157.101 | 255.255.255.0 |
| PC1 | 10.1.157.113 | 255.255.255.0 |
| PC2 | 10.1.157.114 | 255.255.255.0 |
网线连接:
|-------------|--------------|
| 交换机A e0/0/1 | 交换机B e0/0/3 |
| 交换机A e0/0/2 | 交换机B e0/0/4 |
| PC1 | 交换机A e0/0/24 |
| PC2 | 交换机B e0/0/23 |
如果生成树成功,则PC1无论何时均可以ping 通PC2
六、实验步骤
第一步:正确连接网线,恢复出厂设置之后,做初始配置。(可选配置)
恢复出厂设置

配置交换机 A 的 IP 地址:

结果:

交换机 B 的 IP 地址配置:

结果:

pc1 配置:

结果:

pc2 配置:

第二步:"PC1 ping PC2-t"观察现象
- ping 不通;
- 所有连接网线的端口的绿灯很频繁的闪烁,表明该端口收发数据量很大,已经在交换机内部形成广播风暴

第三步:在两台交换机中都使用启用生成树协议
switchA (config)#spanning-tree mode stp
MSTPis starting now, please wait........
MSTPis enabled successfully
switchA(Config)#

switchB (Config) #spanning-tree mode stp
MSTPis starting now, please wait.......
MSTPis enabled successfully
switchB(Config)#

验证配置:

switchA#show spanning-tree
--MSTP Bridge Config Info--
Standard :IEEE802.s
Bridge MAC: 00:03:0f:00:5d:50
Bridge Times: Max Age 20,Hello Time 2,Forward Delay 15
Force Version: 3
########################Instance 0###########################
Self Bridge Id : 32768 - 00:03:0f:00:5d:50
Root Id : this switch
Ext.RootPathCost : 0
Region Root Id : this switch
Int.RootPathCost: 0
Root PortID : 0
Current port list in Instance 0:
Ethernet0/0/2 Ethernet0/0/2(Total 2)
PortName ID xtRPC IntRPC State Role DsgBridge DsgPort
-------------- ------------ ---------- ------------- ---------------------
Ethernet0/0/1 128.001 0 0 FWD DSGN 32768.0003f005d50 128.001
Ethernet0/0/2128.002 0 0FWD DSGN 32768.0003f005d50 128.002
switchA#

switchB#show spanning-tree
--MSTP Bridge Config Info--
Standard :IEEE802.1s
Bridge MAC: 00:03:0f:01:ec:0a
Bridge Times: Max Age 20,Hello Time 2,Forward Delay 15
Force Version: 3
########################Instance 0############################
Self Bridge Id : 32768 - 00:03:0f:01:ec:0a
Root Id : 32768.00:03:0f:00:5d:50
Ext.RootPathCost : 200000
Region Root Id : this switch
Int.RootPathCost: 0
Root PortID : 128.4
Current port list in Instance 0:
Ethernet0/0/3 Ethernet0/0/4(Total 2)
PortName ID ExtRPC IntRPC tate Role DsgBridge DsgPort
-------------- ------------ ---------- ------------- ---------------------
Ethernet0/0/3 128.003 0 0 BLK ALTR 32768.00030f005d50 128.002
Ethernet0/0/4 128.004 0 0FWD ROOT 32768.00030f005d50 128.001
switchB#
从show中可以看出,交换机A是根交换机,交换机B的4端口是根端口
第四步:继续使用"PC1 ping PC2-t"观察现象
- 拔掉交换机B端口4的网线,观察现象,使用show spanning-tree查看生成树状态,写在下方:

再插上交换机B端口4的网线,观察现象,写在下方:

七、注意事项和排错
在交换机未启动生成树之前尽量不要使两台设备之间形成环路,因为一旦形成环路,交换机性能将遭受很大影响,很可能影响后续设备是否能够写入设备。
八、课后练习
- 使用4根网线连接两台交换机,观察端口的选择,观察备分线路启用时候的debug信息
- 使用"spanning-tree mode mstp"来进行上面的实验,体验备份分链路启用和断开所需要的时间长短
九、后言
生成树协议(Spanning Tree Protocol,STP)的主要作用是在网络中防止环路(loop)的产生,并确保网络中的数据包能够按照一条确定的路径传输,而不会陷入无限循环。
具体来说,生成树协议实现以下几个作用:
环路消除:
在一个具有冗余链路的网络拓扑中,可能会形成环路,导致数据包在网络中无限循环,造成网络拥堵甚至崩溃。生成树协议通过选举出一条主干路径,关闭其他的冗余路径,从而消除环路。
冗余路径备份:
虽然生成树协议会关闭冗余路径以消除环路,但它同时会保留这些路径作为备份。一旦主干路径中的某个链路失败,生成树协议会自动选择一条备份路径来维持网络的连通性,实现快速的网络恢复。
自动网络拓扑调整:
当网络中的拓扑结构发生变化时(如添加或移除了一个链路或交换机),生成树协议能够自动感知并调整生成树,以适应新的网络拓扑,保持网络的稳定性和高可用性。
提高网络效率:
生成树协议通过关闭冗余路径,避免了数据包的重复传输,从而提高了网络的整体效率和性能。
总的来说,生成树协议在网络中起着至关重要的作用,可以确保网络的稳定运行,防止环路产生,提高网络的可用性和性能