STP 生成树
作者:互联网
为了网络稳定,通常会有冗余链路。但冗余链路会导致环路、广播风暴和MAC表震荡。STP则可以在提高网络稳定性的同时解决这些问题。
生成树协议的原理:
每个广播域选择一个根桥(根交换机);
每个非根桥上选择一个根端口(RP,root port);发送最优的BPDU
在每各段(segment)上选择一个指定端口(DP,designated port);接收最优的BPDU
既不是根端口也不是指定端口的端口成为预备端口(AP,alternated port),处于阻塞状态,不转发任何报文。
BPDU——桥接协议数据单元
:
为了计算生成树,交换机之间需要交换信息和参数,这些信息和参数被封装在BPDU中。BPDU有两种类型:配置BPDU和TCN BPDU。
配置BPDU:包含了桥ID、路径开销、端口ID等参数。STP协议中,交换机通过发送配置BPDU来选举根桥,以及确定每各交换机端口的角色和状态。在初始化过程中,每个桥都发送配置BPDU;当网络拓扑稳定后只有根桥主动发送配置BPDU,其他桥只有收到上游的配置BPDU后,才发送自己的配置BPDU。
TCN BPDU(拓扑变更通告):下游交换机在网络拓扑发送变化时向上游发送的拓扑变化通知。
选举过程
STP
根桥选举:
每一个STP交换机启动后都会认为自己时根桥。STP正真的根桥通过比较根ID选举产生。每一个STP交换机都有一个桥ID。
桥ID=桥优先级+MAC地址
先比较桥优先级,优先级越小越优先。默认优先级是32768。如果优先级相同,再比较MAC地址,MAC地址越小越优先。
注意:根桥一定要放在核心设备或性能更好的设备上
SW1的配置
sys
//开启STP
[Huawei]stp enable
//选择STP模式。STP有三种模式STP、RSTP(快速STP)和MSTP(多进程STP)。华为交换机默认是MSTP
[Huawei]stp mode stp
//第一种方式,修改优先级。优先级必须是4096的倍数
[Huawei]stp priority 4096
//第二种方式,直接将某个交换机定义为根桥
[Huawei]stp root ?
primary Primary root switch
secondary Secondary root switch
//选项primary相当于设置优先级为0,选项secondary相当于把优先级设定为4096
[Huawei]stp root primary
//查看STP
[Huawei]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc65-78a6 #桥ID
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc65-78a6 / 0 #根桥与到根桥的链路消耗
CIST RegRoot/IRPC :0 .4c1f-cc65-78a6 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
CIST Root Type :Primary root
TC or TCN received :41
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:3m:10s
Number of TC :18
Last TC occurred :Ethernet0/0/1
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Protocol :Enabled
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=200000
Designated Bridge/Port :0.4c1f-cc65-78a6 / 128.1
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
根端口选举:
A. 最低的根桥ID;
B. 到达根桥的最低路径开销;路径开销是端口出方向到根桥的路径开销总和。非根桥交换机只能修改开销。
C. 如果路径开销相同,则选择最低的发送者网桥ID;
D. 若网桥ID相同,则选择最低的发送者端口ID。端口ID由端口优先级加端口序号组成。优先级越低越优先,优先级相同,接着比较端口序号,序号越低越优先。端口优先级默认128。根交换机只能修改端口优先级。端口优先级必须是16的倍数。
//华为交换机支持的路径开销方式
[Huawei]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
//修改路径开销方式
[Huawei]stp pathcost-standard dot1t
//修改非根桥上的端口路径开销值
[Huawei]int e0/0/1
[Huawei-Ethernet0/0/1]stp cost 200000000
//修改根桥上的端口优先级
[Huawei-Ethernet0/0/1]stp port priority 16
选举指定端口
指定端口选举也是先比较根路径开销值,累计根路径开销最小的端口就是指定端口。如果根路径开销相同,则比较端口所在的交换机的桥ID,桥ID最小则是指定端口。如果桥ID相同则比较端口ID,端口ID最小的就是指定端口。
STP端口状态
Fowarding——端口既转发用户流量也处理BPDU。只有根端口或指定端口才处于Fowarding状态。
Learning——端口会根据收到的用户流量建立MAC表,但不转发用户流量。过渡状态,增加Learning状态防止临时环路。Learning进入到Fowarding默认要15秒。
Listening——确定端口角色,选举出根桥、根端口、指定端口。过渡状态。Listening进入 到Learning默认要15秒。
Blocking——端口只处理BPDU,不转发用户流量。阻塞端口的最终状态。
Disabled——端口既不处理BPDU,也不转发用户流量。端口处于Down状态。
标签:BPDU,优先级,根桥,端口,生成,STP,ID 来源: https://blog.csdn.net/weixin_45952521/article/details/116072918