STP(Spanning Tree Protocol)生成树协议简介

一、产生背景

为了提高网络可靠性,交换网络中通常会使用冗余链路,然而,冗余链路会给交换网络带来环路风险,并且导致形成环路风暴、导致MAC地址表震荡、多帧复制等不稳定等问题,进而影响到用户的通信质量。

STP可以在提高可靠性的同时又避免环路带来的各种问题。

二、STP的作用

防止交换环路(消除环路)和链路备份。

三、STP的工作原理

通过STP的算法,来阻塞特定的接口,来实现冗余无环路网段。

四、STP的计算方法

1.选出整个网络中的根桥(桥指交换机)。

选择根桥的方式:通过优先级+MAC地址比较进行选择,越小越优先。也有称通过BID选择。

BID=优先级+MAC。优先级的范围:0-65535 默认值:32768

我们通过命令:dis stp

可以查到以下内容:

图中红框中的BID相同,则说明该交换机为根桥。

2.在每个非根桥上选取一个根端口(有且只有一个)。

简单的选择标准:默认情况下,到达根桥最近的端口,就是根端口。

详细的选择标准:

1).依据该端口的根路径开销。

2).依据对端的BID(桥ID)(越小越优先)

3).依据对端的PID (端口+接口号)

4).依据本段的PID

下表中,是链路速度与开销的对应表:

链路速度

开销

10Gbit/s

2

1Gbit/s

4

100Mbit/s

19

10Mbit/s

100

3.在每个段的链路中,选择一个指定端口。(每个段指两台设备之间的链路,直连的这条线)

默认情况下:根桥上的端口,都是指定端口。

1).依据该端口的根路径开销。

2).依据对端的BID(桥ID)(越小越优先)

3).依据对端的PID (端口+接口号)

4).依据本段的PID

4.剩下的就是阻塞端口,也叫非指定端口或预备端口。

五、STP根桥修改

我们知道了交换机STP选取各个角色的方式,我们就可以修改根桥。

stp priority 0 (步长为4096,或者说更改优先级都是4096的倍数) 修改优先级

stp root primary :直接指定根桥

stp root secondary :设置备份根桥。

六、端口的状态

STP的角色不同,对应端口的状态也不相同,端口的状态如下:

1.未启用的状态

默认的情况下,所有的端口都参与生成树规则。不论是对端接的是交换机还是主机。

2.阻塞状态:预备端口,非指定端口状态

端口处于该状态下,是不会转发数据帧的,也不会学习MAC地址表,会接受和处理BPDU报文,但是不会向外发送BPDU。  关注BPDU的目的是为了随时启用备用端口。

3.侦听状态:

不会转发数据帧,也不会学习MAC地址表,会接受并发送BPDU报文。会维持15s,在维持15s的过程中,会通过BPDU确定出根桥,确定端口角色。确定端口角色后,非指定端口角色的状态,就会回到阻塞状态。

其他端口,就会直接进入到下一个状态,学习状态。

4.学习状态

不会转发数据帧,会学习MAC地址表,接收并发送BPDU。这个过程会维持15s。15s之后,根端口和指定端口就会进入到转发状态。

5.转发状态

正常转发数据帧,学习MAC地址表,接受并发送BPDU。最终,根端口和指定端口就会停留在转发状态。

 

BPDU:即桥协议数据单元,是交换机专门针对生成树协议的数据包。

七、三种配置实验

1.边缘端口的配置

目的:为了减少接口收敛时间,建议将接PC的接口都配置为边缘端口。

配置命令:

interface e0/0/3 :进入对应端口

stp edged-port enable :开启边缘端口

2.STP根保护功能

开启后,如果检测到有设备抢占自身的根桥,则会断开对应接口。

interface e0/0/3 :进入对应端口

stp root-protection :开启根保护功能

3.STP BPDU防护

STP根保护不能限制用户接交换机,所以我们通常采用STP BPDU防护。

该防护可以检测到用户接入的是交换机还是PC,如果检测到接入的是交换机,则会断开相应端口。

(注:需要先配置边缘端口。)

error-down auto-recovery cause bpdu-protection interval 30:自动恢复机制,每30秒检测一次,若检测到接入的是PC,则会恢复通讯。

猜你喜欢

转载自blog.csdn.net/weixin_47931795/article/details/107672990