WOLF-LAB沃尔夫网络实验室中国网络精英的发源地!
24小时咨询热线:173-1636-2402

技术文档

Technical documentation

您当前位置: 首页 > 技术文档 > 详情

HCIE Datacom技术学习-生成树协议STP选路

发布日期:2022-06-09 浏览次数:1657 来源:崔志鹏

HCIE Datacom技术学习-生成树协议STP选路

关注WOLFLAB网络实验室,HCIE Datacom学习资料联系网站客服获取,

IA级别的介绍:三台设备的优先级如下

图片 1.png

选路的过程

①在整个网络中选择一个根桥(选择一个参考点)

1)首先比较优先级,默认32768,越小越优先;

2)比较基mac地址,越小越优先;

②非根桥选择一个根端口RP  规则:距离根桥最近的就是根端口

③每一段选择一个指定端口   规则:距离根桥最近的

③即不是根端口,也不是指定端口,阻塞掉;

根据上述的选路过程:

1、三台交换机首先比较优先级SW2是根桥;

2、SW1和SW3都是非根桥,非根桥需要选择一个根端口,SW1的1号口是RP,SW3的3号口是RP,是距离根桥最近的接口;

3、每一段选择一个DP,SW1和SW2之间SW2的1号口是DP,SW2和SW3之间SW2的3号口是DP,SW1和SW3之间SW1的2号口是DP,因为SW1的优先级小;

4、此时SW3的2号口既不是RP也不是DP就被阻塞掉了,也就是AP;

图片 1.png

IP级别的介绍:

问题一:对于这三台交换机来讲,他们是怎么知道彼此的优先级的?

就是根据BPDU

 

问题二:什么是BPDU?

BPDU=桥的协议单元;

 

问题三:BPDU有什么用?

运行STP的交换机就是通过交互彼此BPDU参数,来确定根桥、RP、DP等角色的;

 

问题四:BPDU到底携带了哪些参数信息?

Frame 3: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface -, id 0

IEEE 802.3 Ethernet                   //BPDU也是采用802.3的封装格式

Logical-Link Control

Spanning Tree Protocol

    Protocol Identifier: Spanning Tree Protocol (0x0000)

    Protocol Version Identifier: Spanning Tree (0)

    BPDU Type: Configuration (0x00)

    BPDU flags: 0x00

        0... .... = Topology Change Acknowledgment: No

        .... ...0 = Topology Change: No

    Root Identifier: 32768 / 0 / 4c:1f:cc:a4:52:35

        Root Bridge Priority: 32768

        Root Bridge System ID Extension: 0

        Root Bridge System ID: HuaweiTe_a4:52:35 (4c:1f:cc:a4:52:35)

    Root Path Cost: 0

    Bridge Identifier: 32768 / 0 / 4c:1f:cc:a4:52:35

        Bridge Priority: 32768

        Bridge System ID Extension: 0

        Bridge System ID: HuaweiTe_a4:52:35 (4c:1f:cc:a4:52:35)

    Port identifier: 0x8003

    Message Age: 0

    Max Age: 20

    Hello Time: 2

    Forward Delay: 15

 

问题五:STP就是通过比较BPDU中的RID、RPC、BID、PID来确定根桥、RP、DP等角色的,那么RID、RPC、BID、PID到底是什么?

①BID:STP规定,每一台运行了STP的交换机都需要通过BID来标识自己,相当于OSPF的router id;

BID=自身STP的优先级+自身的MAC地址;(中间那个0不用管,来表示VLAN的,只有基于实例的生成树会用的到)

怎么去看自身的优先级和自身的MAC地址呢?

通过命令DIS STP BRIED来查看

32768.4c1f-cca4-5235

PRI:默认是32768,取值范围0-61440,配置时必须取值为4096的倍数;

为什么必须取值为4096的倍数?

因为PRI+VLAN ID总共占16 bit,VLAN ID占12 bit,所以优先级必须得是2^12倍;

 

②RID:就是根桥的BID

③RPC:根路径开销,就是去往根桥的路径开销,默认是20000;

④PID=接口的PRI+接口号

接口的优先级默认128,可以配置的范围0-240,必须得是16的倍数;

为社么必须是16的倍数?

因为PID,前8bit表示优先级,后8bit表示端口号,优先级的后4bit是保留的;

 

因为有了BPDU的概念,现在对根桥、RP、DP做出如下定义:

①根桥:发送最好BPDU的交换机;

②RP:非根桥上接收最好BPDU的接口;

③DP:一段链路发送最好BPDU的端口;

④AP(被阻塞的接口):既不是RP也不是DP该接口就被阻塞;

 

问题六:最好BPDU的判断和选举机制?

①比较RID,越小越优;

②RID相同,比较RPC,越小越优;

③RPC相同,比较BID,越小越优;

④BID相同,比较收到的PID,越小越优;

⑤如果收到的PID相同,比较自身的PID,越小越优;(特殊场景有HUB的情况下才会比较到第五条)

 

工作原理:

①各台交换机初始状态下为每一个端口计算出以自己为根的BPDU;

图片 1.png

②彼此交互各自的BPDU,就可以知道根桥为SW2,因为SW2收到的BPDU都不如自己;

③SW1和SW3也都知道自己是非根桥了,因为收到了更好的BPDU;

④根桥一旦选择出来,只有根桥会每隔2s周期性的发送BPDU,非根桥交换机收到根桥的交换机中继BPDU;

⑤中继BPDU:

RID不动、RPC改为到根桥的开销、BID改成自己、PID改成从自己接口发出BPDU接口的PID;

⑥SW1需要选择一个RP,从1号口收到的BPDU(RID:0 RPC:0 BID:0 PID:128.1),从2号口收到的BPDU(RID:0 RPC:20000 BID:32768 PID:128.2),此时SW1发现1号口收到的BPDU更优,1号口就是RP端口;

⑦SW3需要选择一个RP,从3号口收到的BPDU(RID:0 RPC:0 BID:0 PID:128.3)从2号口收到的BPDU(RID:0 RPC:20000 BID:4096 PID:128.2),此时SW3发现从3号口收到的BPDU更优,3号口就是RP了;

⑧每一段选择DP,SW2的1号口和3号口是DP;

⑨SW1和SW3之间也需要选举一个DP,SW1的G0/0/2接口发出的BPDU(RID:0 RPC:20000 BID:4096 PID:128.2),SW3的g0/0/2接口发出的BPDU(RID:0 RPC:20000 BID:32768 PID:128.2),此时SW1的g0/0/2接口发出的BPDU更优,SW1的2号口就被确定为DP;

⑩SW2的g0/0/2接口既不是RP也不是DP就被阻塞掉;

 

TOP稳定后:


BPDU

数据流量

DP

收、发

RP

收、发

BLK(AP)

不收不发

 

HCIE Datacom级别的介绍:

①各台交换机初始状态下为每一个端口计算出以自己为根的BPDU;

图片 1.png

②对于SW2来讲,SW2从两个口收到的BPDU都不如自己接口上以自己为根计算出来的优,此时SW2就认为自己是根桥;

交换机收到BPDU的处理原则:

如果收到的BPDU比自己接口的BPDU优就替换;

不如自己的优就丢弃;

③对于SW1来讲,从1号口收到的BPDU比自己的优就替换,从2号口收到的BPDU没有自己的优就丢弃;

1号口存储的BPDU:RID:0 RPC:0 BID:0 PID:128.1

2号口存储的BPDU:RID:4096 RPC:0 BID:4096 PID:128.2

此时SW1就知道自己是非根桥了,因为自己的1号口的BPDU是别人的BPDU,并不是以自己为根计算出来的了,SW1比较两个接口的BPDU,就暂时的将1号口定为RP;

④RP一旦确定,设备就是依据RP的BPDU为其他的端口计算出一个指定端口的BPDU,这种行为就是中继;

RID不动、RPC改为到根桥的开销、BID改成自己、PID改成从自己接口发出BPDU接口的PID

此时SW1为2号口计算出来的BPDU为 RID:0 RPC:20000 BID:4096 PID:128.2

如果计算出来的BPDU比自己接口上的优,就替换该接口的BPDU,并且周期性的向外发送,该端口就被确定为指定端口;

如果计算出来的BPDU没有自己接口上的优,该端口就会被确定为AP端口;

⑤对于SW3来讲,从2号口收到的BPDU和从3号口收到的BPDU都比自己的优就替换;

2号口存储的BPDU:RID:4096 RPC:0 BID:4096 PID:128.2

3号口存储的BPDU:RID:0 RPC:0 BID:0 PID:128.3

此时SW3肯定认为自己是非根桥,3号口暂时被确定为RP,RP一旦确定,设备就是依据RP的BPDU为其他的端口计算出一个指定端口的BPDU;

此时SW3为2号口计算的BPDU为 RID:0 RPC:20000 BID:32768 PID:128.2,计算出来的BPDU,比自己接口上的优,就将2号口上的BPDU进行替换,并周期性向外发送BPDU,SW3的2号口暂时就被确定为DP;

⑥现在SW1和SW3之间,一条链路上肯定不能有两个DP,也不能有两个端口发送的BPDU,此时就比较SW1从1号口发出来的BPDU,和从SW3的2号口发出来的BPDU;

SW1:RID:0 RPC:20000 BID:4096 PID:128.2

SW3:RID:0 RPC:20000 BID:32768 PID:128.2

发现SW1发出来的更优,SW3就将自己2号口的BPDU替换成 RID:0 RPC:20000 BID:4096 PID:128.2

⑦SW3比较这两个端口的BPDU,发现3号口仍然是RP,根据RP为2号口计算一个指定端口的BPDU,RID:0 RPC:20000 BID:32768 PID:128.2,发现计算出来的没有自己端口上的优,此时该端口就被确定为AP,被阻塞的端口;


HCIE Datacom学习课程循环开班,联系WOLFLAB预约免费试听!

返回目录
在线咨询