STP原理与配置
l为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。
二层交换网络:交换机之间通过多条链路互连时,虽然能提高网络可靠性,但也会带来环路问题(形成广播风暴)
![](https://img-blog.csdnimg.cn/img_convert/ab03a5c4767a92bb02abe3299b7f43b2.png)
环路产生的问题
1、广播风暴
2、多帧复制
3、MAC地址表紊乱
STP作用
STP通过阻塞端口来消除环路,并能够实现链路备份的目的(逻辑阻塞端口)
STP实现阻塞端口
![](https://img-blog.csdnimg.cn/img_convert/c5aad0ce128d7e2ade45e080d9ef9a76.png)
根网桥选举
![](https://img-blog.csdnimg.cn/img_convert/54cf0926b34325c4acae45b75d56dc57.png)
缺省值=默认值
根端口选举
![](https://img-blog.csdnimg.cn/img_convert/3d3e0bd8e0494e8d801951d75d5146b8.png)
端口ID
![](https://img-blog.csdnimg.cn/img_convert/4a17c67f51c7787d311581914d62fb03.png)
指定端口选举
![](https://img-blog.csdnimg.cn/img_convert/899f27aa2351855046e850bead117b5c.png)
STP阻塞端口选举规则
1.选择根网桥(Root Bridge);
1>网桥ID最小为根网桥。
网桥ID由优先级及MAC地址组成
查看网桥ID中的MAC地址:
[Huawei]dis int vlan 1
查看vlan 1默认网桥ID:
[Huawei]dis stp instance 0
2.选择根端口(Root Ports);
每个非根网桥上存在一个根端口,因此需要在每个非根网桥上选择一个根端口
1>根网桥路径到该非根网桥端口成本最低,从根网桥到达非根网桥的每个端口的开销,开销最小的端口为该非根网桥的根端口;ID根路径成本:网桥到根网桥的路径上所有链路的成本之和;
2>比该网桥对端网桥的网桥ID大小;
3>比该网桥对端网桥的端口ID大小;
3.选择指定端口(Designated Ports)。
为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口
***根网桥上的端口都是指定端口
1>某网段到根网桥的路径成本最小。
2>端口所在交换机的网桥ID最小
3>该网桥对端网桥端口ID最小(即端口优先级和端口编号,先比优先级,默认为128)
选择根网桥
网桥ID最小:选择根网桥的依据是网桥ID的大小。在选择根网桥的时候,比较的方法是看哪台交换机的网桥ID的值最小,优先级小的被选择为根网桥;在优先级相同的情况下,MAC地址小的为根网桥。
网桥ID:是一个8Byte的字段,前面2Byte的十进制数称为网桥优先级,后6Byte是网桥的MAC地址。
网桥优先级:用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认值是32768。
网桥的MAC地址:交换机自身的MAC地址,可以使用命令dis int vlan 1查看。
选择根端口
选出了根网桥之后,网络中的每台交换机必须和根网桥建立关联,因此STP将开始选择根端口。每个非根网桥上存在一个根端口,因此需要在每个非根网桥上选择一个根端口。选择根端口的依据有三个:
到根路径成本最低的端口:路径成本是两个网桥间的路径上所有链路的成本之和,根路径成本也就是一个网桥到达根网桥的中间所有链路的路径成本之和,路径成本用来代表一条链路带宽的大小,一条链路的带宽越大,它的传输数据的成本也就越低。(10Mb/s=100,100Mb/s=19,1000Mb/s=4,10000Mb/s=2成本)
最小的直连发送方网桥ID:BPDU帧是从根网桥发向根端口的,则当端口的根路径成本相同时,以收到发来BPDU直连的网桥ID最小(端口的对端端口,即本地端口)为根端口。
最小的发送方端口ID:当直连发送方网桥ID大小相同时,也就是说有几个位于同一交换机上的端口时,比较最小的发送方端口ID。端口ID是一个二字节的STP参数,由一个字节的端口优先级和一个字节的端口编号组成。端口优先级是一个可配置的STP参数,在基于IOS的交换机上,端口优先级的十进制取值范围是0-240,默认值是128。端口编号是用于列举各个端口的数字标识符。
说明:端口编号不是端口号,但是端口号低的端口,端口编号值(端口 ID)也较小。
![](https://img-blog.csdnimg.cn/img_convert/b5a0ea7f2ca81c9995b80e66e82492b1.png)
华为交换机默认开销算法为802.1T
stp mode {mstp|stp|rstp}
[SWA]stp priority 4096
以上命令表示网桥ID优先级设置为4096,而其他网桥的网桥ID默认为32768,因此该交换机为根网桥
范围为0-61440
第二种设置根网桥的方法:
在根网桥中输入以下命令:
[Huawei]stp root primary
在非根网桥上输入以下命令:
[Huawei]stp root secondary
[Huawei]dis interface Ethernet brief
[SWA]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
默认情况下,华为交换机使用的是dot1T,默认cost值为200000
Port Cost(Dot1T ) :Config=auto / Active=200000
[SWA]interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1]stp cost 2000
[S1]display stp brie
查看端口STP信息:
[Huawei]dis stp int e0/0/1
修改端口ID优先级:
[Huawei-Ethernet0/0/1]stp port priority 16
范围是0-240,为16的步长,16/32/48/96等。
在选举指定端口时,接口到root的路径开销为:该接口所在交换机去往ROOT交换机的接口的开销值,如果中途有多台交换机,
那么多台交换机的出口的接口cost值都将被统计。
STP、MSTP、RSTP的区别
STP、MSTp、RSTP本质和作用基本相同,有些许区别
![](https://img-blog.csdnimg.cn/img_convert/b00bfbb9a1df028217c8d550d2ccc969.png)