STP技术
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
什么是STP技术?
STP(Spanning Tree Protocol)作为生成树协议的缩写形式存在,在计算机网络中被用于构建树状拓扑结构以避免冗余链路导致的环路问题。其主要功能是通过避免冗余链路形成环路来实现网络的有效通信。然而某些特定因素可能导致生成树协议失效故障排除往往具有较高的难度这取决于网络的设计方案。生成树协议适配性广泛并适用于各类厂商的网络设备但在具体配置策略和功能实现强度上有所不同尽管具体实现细节不同但其基本原理和应用效果是相同的
链路冗余,冗余拓扑,它能保证网络的健壮性,避免单点故障。
但也会形成环路,而导致一些问题,所有会有STP技术。

冗余拓扑主要遇到的问题:

通过所有接口广播信息的Sw1节点,在接收到这一消息后会立即响应,并持续不断地传播下去。当这一消息被接收时,节点数量将迅速增加到指数级数。
应对这个问题必须采取重启设备这一措施,在环网拓扑结构下,LLDP广播数据包将持续存在,并且其数量不断增加
===================================================================================================

多帧复制:在链路上消耗带宽,成倍消耗资源。
===================================================================================================

CAM表抖动:
前提:交换机的接口能够支持多个MAC地址,在每个MAC地址上只能连接一个接口
当交换机内部发生环路时,同一个MAC地址不断录入到各个端口上;这会导致CAM地址数据库频繁波动;从而造成通信链路中断.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
所以在通信过程中要冗余(物理),但是还要从二层上无环路(逻辑)。
需要我们使用自动化的形式来实现。--- >这个技术就叫STP
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是我总结出来的一个关于STP技术相关知识的思维导图:

总结不是很到位,如果有错误的地方,路过大神请指正
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
STP选举角色分配:

生成树协议的BPDU
•交换设备间定期地传递桥接协议数据单元(Bridge Protocol Data Unit ,BPDU),以执行STP功能
–每2秒发送一次的二层报文
–组播发送,组播地址为:01-80-C2-00-00-00






===================================================================================================
选举根网桥
- 桥ID的修改方法:
在交换机桥接模式下,默认采用桥接ID计算方式(包含16位优先级字段与48位MAC地址字段),并选择较小的桥接ID值作为路径选择依据;当桥接ID的16位优先级字段值相同时,默认情况下将该字段设置为32768;如果用户有特殊需求,则可以根据实际网络环境配置相应的参数。
修改桥优先级方法1:stp root primary/secondary ———— 将优先级直接改成0
**修改桥优先级方法2:stp priority <0-61440> ———— 将优先级改成比默认值小的 **
默认值 32768 16进制的MAC地址
**** 优先级是4096的整倍数
===================================================================================================
选举根端口:
•修改根端口:
修改根端口的cost值
[Huawei-GigabitEthernet0/0/1]stp cost ? INTEGER<1-200000000> Port path cost
端口的PID修改方法
[Huawei-GigabitEthernet0/0/1]stp port priority ? INTEGER<0-240> Port priority, in steps of 16
[Huawei-GigabitEthernet0/0/1] STP端口优先级? INTEGER<0-240> Port priorities configured in increments of 16
===================================================================================================
STP的端口状态:
•阻塞状态(Blocking)
–不能接收或者传输数据,不能把MAC地址加入地址表,只能接收BPDU
•监听状态(Listening)
–无法接收或传递数据,并且其MAC地址不能被包含在地址表中;然而,则允许接收和发送BPDU
•学习状态(Learning)
–不能传输数据,但可以发送和接收BPDU,也可以学习MAC地址
•转发状态(Forwarding)
–能够发送和接收数据、学习MAC地址、发送和接收BPDU

=================================================================================================
STP计时器:

==================================================================================================
STP拓扑变更



拓扑变更机制:


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
STP的特性:
STP Featuer(特性)
1. PORT FAST

[Switch] interface interface-ID
[Switch-GigabitEthernet0/0/1]stp edged-port enable //配置边缘端口
注意:边缘端口收到BPDU后,会参与STP计算 ,导致二层网络动荡

[Switch] stp bpdu-protection //收到bpdu报文会自动 shutdown
**边缘端口down掉之后,两种恢复方式:
****---**手动恢复
[Switch]interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1]undo shutdown
---自动恢复:会自动执行undo shutdown
[Switch] error condition triggers auto-recovery for BPDU protection after 30 seconds //每30秒自动恢复
验证命令:
display stp //验证整个交换机全局是否开启BPDU保护,默认是disable ;
呈现STP接口的状态信息 //确认STP接口是否已启用边缘端口特性和BPDU保护功能;

全局配置[Switch]stp bpdu-filter default
a)启用了portfast的接口将激活bpdufilter特性
b)上述接口在link up后瞬间会发送BPDU(a few),此后不在发送任何BPDU
c)该接口在接收到BPDU后立刻失去portfast及bpdufilter属性,并成为普通的spanning-tree接口
接口配置[Switch-GigabitEthernet0/0/1]stp bpdu-filter enable
d)该接口将不会发送BPDU,也忽略接收到的BPDU
Enabling BPDU filtering on an interface is equivalent to disabling spanning tree on it, and will result in spanning-tree loops.
在接口上进行配置并非一定需要具备portfast特性;可以选择单独完成配置任务。值得注意的是配合使用portfast特性更为推荐




