您现在的位置是:首页 >技术交流 >HCIA-10.生成树 STP 1/2网站首页技术交流

HCIA-10.生成树 STP 1/2

清风吹雨泡泡 2025-02-20 00:01:02
简介HCIA-10.生成树 STP 1/2

1STP生成树的技术背景

在网络拓扑组建过程中,二层网络使用交换机组网。而交换机的工作机制(泛洪)会导致多台设备连接组网,产生环路问题。

如果出现了环路,会导致“广播风暴、MAC地址漂移”等问题。

二层网络没有类似于IP、TTL的防环机制,环路问题将无休止进行。

生成树是二层网络的破坏协议。

实验,关闭生成树功能后一个ARP报文会导致二层交换机间的广播风暴吗?

[Huawei]stp disable #关闭生成树功能

[Huawei]stp enable  #开启生成树功能

2STP生成树的基本概念和工作原理

2.1STP的基本概念:桥IDBID

在STP中,每一台交换机都有一个标示符,叫做桥ID(Bridge ID),也成为交换机ID。

根桥的BID也称为RID;

非根桥的BID就是BID。

它由16位的优先级和48位的MAC地址组成:桥优先级(Bridge Priority)16 bit  +   桥MAC地址 48bit;

2.1.1、桥优先级16bit是可以配置的

因为其后12bit为固定值全0,所以只能调整前4bit:

A1取值范围是 0 ~ 65535,默认值是 32768;

A2可以修改但是其值必须为4096的倍数:

A2.1、为什么必须是4096的倍数?

思路1:优先级中后12bit被锁死为0,只有前4个bit可用,所以只能用4096的倍数。

思路2:将优先级16bit转为2进制,得出 0000 0000 0000 0000 。其中:

后12个bit不能变化,0000 0000 0000 0000

前4个bit一但发生变化,如 0001 0000 0000 0000,转换为10进制就是 2^13=8,192 = 4096 * 2。就是说,二进制下默认从2^12被固定(2^12=4,096 ),只能从2^13开始变化,所以一定是4096的倍数。

思路3:那么按照这个逻辑,默认值2^15=32,768,即 0100 0000 0000 0000。

A3、关于优先级16bit --- 2字节的算法解读

[Huawei]stp priority ?  #系统优先级值配置,默认为32768

  INTEGER<0-61440>  Bridge priority, in steps of 4096

2.2.2、桥ID比较

优先级高的设备(数值越小越优先)会被选为根桥,如果优先级相同则比较MAC地址(数值越小越优先)。

2.2STP的基本概念:根桥

就是根交换机,它是:

A1生成树运行的重要设备;

A2在一个系统的生成树中,只存在一个根桥;

A3桥ID最小的设备会被选举为根桥。

2.3STP的基本概念:Cost(开销)

每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。

该cost值和接口带宽呈反比的关系,接口带宽越大,则Cost值越小。

Cost还与接口的速率、工作模式有关(默认的工作模式为Dot1T)

交换机千兆接口默认的开销值为20000;

交换机百兆接口默认的开销值为200000。

[Huawei]dis stp interface GigabitEthernet 0/0/2  #查看接口STP的相关信息

用户也可以根据需要通过命令调整接口的Cost。

方法1:修改计算标准

如果改变了计算标准,则每一台相关设备都要修改,统一标准。

[Huawei]stp pathcost-standard ?  #修改STP开销计算标准

  dot1d-1998  IEEE 802.1D-1998

  dot1t       IEEE 802.1T

  legacy      Legacy

方法2:直接设置开销

[Huawei]int gi 0/0/2

[Huawei-GigabitEthernet0/0/2]stp cost 150  #修改STP开销值

2.4STP的基本概念:RPC

根路径开销,每一个非根桥设备,都要计算到达根桥的路径开销

计算的路径开销是叠加的,一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。

根桥的路径开销为0。

2.5、STP的基本概念:Port ID(PID / 端口ID

每一个运行了STP的接口都会存在一个PID:

A1ID由两部分构成的:端口优先级(4bit) + 端口编号(12bit);

A2端口优先级会借用端口编号的高4位bit,所以优先级值的取值是16的倍数,其取值范围是0~240。

A2.1解释如下,ID构成是这样的:

端口优先级      端口编号(GE0/0/0)

    0000              0000 0000 0000

A2.2优先级借高位后是这样的:

端口优先级      端口编号(GE0/0/0)

0000 0000                  0000 0000

其中,被借走的4个高位为0不变,所以优先级的步长是从2^4=16 开始的,最大的范围是从2^5到2^8+2^7+2^6+2^5,32~240

[Huawei-GigabitEthernet0/0/2]stp port priority ?

  INTEGER<0-240>  Port priority, in steps of 16

A3端口优先级值在计算时,按照端口优先级8bit,接口编号8bit来分割计算。

通过抓包,得到GE 0/0/2口的优先级值为8002:

其二进制转码为:

                   优先级     端口编号  

二进制:1000 0000 | 0000 0010

十进制:128            | 2              

[Huawei-GigabitEthernet0/0/2]dis stp interface GigabitEthernet 0/0/2

查到其优先级如下:

业务接口编号规则:

业务接口的编号规则如下

设备采用“槽位号/子卡号/接口序号”的编号规则来定义业务接口,

槽位号:表示单板所在的槽位号。

子卡号:表示单板支持的子卡号,目前单板暂不支持子卡,统一取值为0。

接口序号:表示单板上各接口的编排顺序号。

GigabitEthernet 0/0/1中的:

槽位号/交换机板块/接口号

    0   /        0       /    1

2.6、STP的基本概念:BPDU

BPDU(Bridge Protocol Data Unit,网桥协议数据单元)。

STP协议工作的协议报文分为两类:

A1、配置BPDU:STP正常工作交互的报文。

        TC 配置 BPDU;

        TCA 配置 BPDU。

A2、TCN BPDU:STP故障情况下交互的报文。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。