STP协议详解

STP协议详解


前言

STP协议的运行原理是什么?如果没有STP协议,网络会出现什么问题呢?这是很多初学者所面临的问题,参考了网络上的一些文章和结合了自身的理解,下面我将通过理论和实验相结合的方式对STP协议进行详细解说,帮助大家理解一下。

一、STP协议的运行原理

STP协议的运行原理为通过在交换机之间周期性发送BPDU来发现网络上的环路并阻塞有关端口断开环路。而如果没有STP协议,将会造成网络环路,引起广播风暴,造成MAC地址表震荡。

二、STP协议中ROOT、RP、DP的选举规则

(1) 选根网桥ROOT:比较交换机的BID(由优先级+MAC地址组成),取ID小的。如果优先级相同,则比较MAC。
(2) 选举根接口RP:先比较到达根网桥所经过的所有交换机的出接口cost值的总和,取cost总和值小的为根端口。当cost总和相同时,则比较对端交换机的BID取值小的为根接口。当BID也相同时,则比较对端port id,取小的为根接口。
(3) 选举指定端口DP:比较链路两端的交换机到达根网桥所经过的所有交换机的出接口的cost值的总和,取小的为指定端口。如果cost值的总和相同,则比较该条链路两端的交换机BID,取BID小的上面的端口为指定端口。如果链路两端交换机BID相同,则比较对端接口的port id,取小的为指定端口。

三、端口状态disable、listening、learning、forwarding、blocking所代表的含义

Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。
Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

四、实验:生成树诊断

一.实验目的: 掌握交换机上生成树协议的诊断方法
二.实验要点
1.生成树协议的工作原理。
2.配置两个交换机之间的冗余主干道,对运行的生成树协议进行诊断。
三.实验设备: Cisco 交换机 CATALYST 2950 两台,控制台电缆一条,交叉双绞线若干。
四、实验环境
在这里插入图片描述
STP 诊断
五. 实验步骤
1.按上图连接交换机 SwitchA、SwitchB。
2.将交换机 SwitchA 和 SwitchB 的第 17、24 号端口设置成为主干道接口。
SwitchA(config)#int f0/17
SwitchA(config-if)#switchport mode trunk
3.用双绞线连接 SwitchA 和 SwitchB 的第 17 号端口。
4.用双绞线连接 SwitchA 和 SwitchB 的第 24 号端口。
5.在 SwitchA 和 SwitchB 上查看运行的生成树协议,并进行诊断。 SwitchA#show spanning-tree SwitchB#show spanning-tree
问题: STP 的根是: SwitchB
阻塞的端口是: SwitchA的第 24 号端口
6.断开处于转发状态的主干道接口,再次查看生成树协议的相关信息。 问题:阻塞的端口是否启用,端口状态经历几次变化?

是,由于运行的是MSTP,所以端口经历了一次变化,由阻塞状态直接进入转发状态。

1、STP 的工作原理

结合上述实验得出:
(1) 开启STP协议后,实验中的SwitchA 和 SwitchB都以自己为根桥,让所有的端口每隔2s发送一次BPDU报文。如果收到其它端口比自己更好的BPDU,则本地端口停止发送BPDU。
(2) 在此过程中开始选举ROOT,比较两者BID(由优先级+MAC地址组成),先比较两者优先级,得出两者优先级相同;再比较MAC地址,得出SwitchB MAC地址更小,所以选举出SwitchB为根交换机。
(3) 然后开始选举RP:先比较到达根网桥所经过的所有交换机的出接口cost值的总和,得出两端口cost总和相同;再比较对端交换机的BID,得出两端口BID的值相同;最后比较对端port id(由接口优先级和接口号组成),得出SwitchA 的第 17 号端口的port id更小,所以选举出SwitchA 的第 17 号端口为根端口。
(4) 然后开始选举DP,先比较链路两端的交换机到达根网桥所经过的所有交换机的出接口的cost值的总和,得出两端口的cost值总和相同;再比较该条链路两端的交换机BID,得出两端口交换机BID值相同;最后比较对端接口的port id,得出SwitchB的第 17 号端口port id更小,所以选举出SwitchB的第 17 号端口为指定端口。
(5) 最后将SwitchA的第 24 号端口至为AP,阻塞。

2、STP的作用

结合上述实验得出:
(1)消除环路:通过阻断冗余链路来消除网络中SwitchA 和 SwitchB连接造成的环路。
(2)链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。当SwitchA 的第 17 号端口出现故障后,可立刻激活SwitchA的第 24 号端口恢复连通性。

总结

以上所有仅是我通过对网络上文章中所讲述的观点并结合自身理解进行的归纳总结,分享给大家参考,叙述中还是有很多不足,请多多指教!

  • 16
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值