生成树协议STP和快速生成树协议RSTP:
生成树协议的由来:由于网络中会存在单点故障而导致网络无法访问,系统瘫痪,因此在网络中提供冗余链路即引入备份链路来解决单点故障问题,但是------这样做的好处是:减少单点故障,增加网络可靠性;缺点是:产生交换环路,会导致广播风暴、多帧复制、MAC地址表抖动。因此生成树协议是为了提供冗余链路,解决环路问题(作用)。
生成树协议的原理:使冗余端口置于“阻塞状态”;网络中的计算机在通信时,只有一条链路生效;当原本的链路出现故障时,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠。
实验目的:使网络在有冗余链路的情况下避免环路的产生,避免广播风暴等
实验拓扑:
配置过程:(此实验需要先配置再连线,只能在真实机上做)
生成树协议STP:
1.开启生成树协议:(A和B同)
switchA#configure terminal 进入全局配置模式
switchA(config)#spanning-tree 开启生成树协议
2.设置生成树模式:(A和B同)
switchA(config)#spanning-treemode stp !设置生成树模式为STP(802.1D)
验证测试:验证生成树协议模式为802.1D
3.验证生成树协议已经开启:(A和B同)
switchA#showspanning-tree !显示交换机生成树的状态
switchA#showspanning-tree interface fastEthernet 0/1 !显示交换机接口fastethernet0/1的状态
switchA#showspanning-tree interface fastEthernet 0/2 !显示交换机接口fastethernet0/2的状态
4.测试结果:
C:\Users\pdsu>ping -t192.168.10.1
正在 Ping192.168.10.1 具有 32 字节的数据:
请求超时。
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.10.1的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=3ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
请求超时。 -------------------此处是当拔掉没有阻塞端口的链路的结果
请求超时。
请求超时。
请求超时。
来自192.168.10.2 的回复: 无法访问目标主机。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
192.168.10.1 的 Ping 统计信息:
数据包: 已发送 = 53,已接收 = 37,丢失 = 16 (30% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 1ms,最长 = 3ms,平均 = 1ms
快速生成树协议RSTP:
设置为RSTP模式:
SwitchB#configureTerminal
Enter configurationcommands, one per line. End with CNTL/Z.
SwitchB(config)#spanning-tree
2017-09-2619:02:56 @5-CONFIG:Configured fromoutband
SwitchB(config)#spanning-treemode rstp
2017-09-2619:03:05 @5-CONFIG:Configured fromoutband
显示结果:
SwitchB#showspanning-tree
SwitchB#showspanning-tree interface fastEthernet 0/1
SwitchB#showspanning-tree interface fastEthernet 0/2
测试结果:
C:\Users\pdsu>ping -t192.168.10.1
正在 Ping192.168.10.1 具有 32 字节的数据:
来自192.168.10.1 的回复: 字节=32 时间=3ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
请求超时。 -------------------此处是当拔掉没有阻塞端口的链路的结果
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
来自192.168.10.1 的回复: 字节=32 时间=1ms TTL=64
192.168.10.1 的 Ping 统计信息:
数据包: 已发送 = 37,已接收 = 36,丢失 = 1 (2% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 1ms,最长 = 3ms,平均 = 1ms
小结:从测试结果可以看出在当原来的链路出现故障时,快速生成树协议连接上网络的速度更快。
补充:
广播风暴:广播信息在网络中不停地转发,直至导致交换机出现超负荷运转,最终耗尽所有宽带资源、阻塞全网通信。
多帧复制:单播的数据帧被多次复制传送到目的站点
MAC地址表抖动:由于相同帧的拷贝在交换机的不同端口上被接收而引起的MAC地址表不稳定