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

技术文档

Technical documentation

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

CCNP培训RS路由交换课程-STP生成树理论选路步骤和实验演示

发布日期:2023-06-07 浏览次数:1979 来源:赵顺杰

CCNP培训RS路由交换课程-STP生成树理论选路步骤和实验演示


WOLFLAB官方微信:17316362402,关注【WOLF-LAB】了解思科认证EI CCNP培训课程!

WOLFLAB网络技术实验室1.jpg

思科认证EI CCNP培训-STP生成树选路的步骤:

1. 网络当中选举根桥 Root Bridge

根桥:监控和检测网络当中生成树的情况

网络当中选举根桥之后,只有根桥会主动的发送BPDU,每2s发送一次

所有的非根桥设备,不会主动发送BPDU,只会中继根桥发送过来的BPDU

1. 每个非根桥上选举一个根端口 Root Port

根端口:距离根桥开销最小的接口

1. 每一段链路选举指定端口 Designated Port

1. 非根端口,非指定端口,置为Block状态

BPDU消息当中较为重要的条目:

1. Root ID

2. COST

3. Bridge ID 由 优先级(优先级 + VLAN ID) 和 MAC地址组成

4. Port ID

根桥的选举:

1. Root ID

  先比较优先级,优先级小的成为根桥 默认情况下,设备的优先级=32768

  如果优先级相同,MAC地址小的会成为根桥

 Bridge ID的组成 分为 2byte优先级 + 6byteMAC地址

 4bit 的优先级 + 12bit vlan ID 

 1000 000000000001 

 1 乘以 2 15 + 1乘以 2 0 

 0000 000000000001 1 (0 + 1) 

 0001 000000000001 4097 (4096 + 1)

 0010 000000000001 8193 (8192 + 1)

 0011 000000000001 12289 (8192 + 4096 + 1)

通过更改优先级,更改根桥的选举

spanning-tree vlan 1 priority (4096的倍数)

spanning-tree vlan 1 root primary

spanning-tree vlan 1 root secondary

1. 当此时的根桥优先级大于等于32768时,敲了root primary 命令行,自动降低优先级到24576

1. 当此时的根桥优先级小于28672的时候,敲了root primary 命令行

本设备的mac地址小于当前根桥的mac地址 降低优先级跟当前根桥一致,通过mac地址比较选举成为根桥

本设备的mac地址大于当前根桥的mac地址 降低自己的优先级,比当前根桥再低一级

2. 当此时的根桥优先级等于4096的时候,敲了root primary 命令行

报错,root primary命令行无法使得设备的优先级降低为0

例外,本设备的mac地址小于当前根桥的mac地址时,不会报错,会降低优先级到4096


拓补图:

图片1(12).png

思科认证EI CCNP培训-实验一 : 

SW1的Mac-address: 000a.b8ac.3880

SW2的Mac-address: 0019.2fe9.5e80

SW3的Mac-address: 001b.2b22.c700

设备之间形成trunk之后,SW1将会成为根桥,因为所有设备的优先级默认都是32768,而SW1的MAC地址最小

SW2(config)#spanning-tree vlan 1 priority 24576 //更改SW2的优先级

SW2(config)show spanning-tree //查看生成树结果

SW2的优先级最低,它成为了根桥


思科认证EI CCNP培训-实验二:

将所有设备的优先级恢复原样

SW2(config)#spanning-tree vlan 1 root primary //SW2会自动降低优先级为24576去抢根桥

SW3(config)#spanning-tree vlan 1 root Secondary //SW3会自动降低优先级到28672成为备选根桥

配置secondary的好处在于当根桥down掉之后 备用根桥由于优先级比其它人高而成为下一个根桥


思科认证EI CCNP培训-实验三:

将所有设备恢复原样

SW1(config)#spanning-tree vlan 1 priority 24576 //手动设置SW1的优先级为24576

SW2(config)#spanning-tree vlan 1 root primary //使得SW2抢根桥

SW2(config)show spanning-tree //发现SW2降低优先级比24576再低一级

由于SW2的MAC地址比SW1大,当要从SW1手上抢根桥的时候仅仅将优先级降低跟SW1一样无法将根桥抢到手,因此只能够降低优先级比根桥再低一级,才能将根桥抢到手.

实验四:

将所有设备恢复原样

SW2(config)#spanning-tree vlan 1 priority 24576 //手动设置SW2的优先级为24576

SW1(config)#spanning-tree vlan 1 root primary //使得SW1抢根桥

SW1(config)show spanning-tree //发现SW1降低优先级为24576

由于SW1的mac地址小于SW2,当需要从SW2手上抢根桥的时候,仅仅需要降低优先级跟根桥SW2一致即可通过MAC地址的比较将根桥抢到手中.

实验五:

将所有设备恢复原样

SW1(config)#spanning-tree vlan 1 priority 4096 //手动设置SW1的优先级为4096

SW2(config)#spanning-tree vlan 1 root primary //使得SW2抢根桥

发现报错了,由于SW2想要从SW1手里抢夺根桥,且发现自己的mac地址大于SW1,也就是说仅仅将优先级降低跟根桥一致的4096无法将根桥抢到手,需要降低优先级为0,而此命令行无法将优先级降低为0,因此报错.

实验六:

将所有设备恢复原样

SW1(config)#spanning-tree vlan 1 priority 4096 //手动设置SW2的优先级为4096

SW1(config)#spanning-tree vlan 1 root primary //使得SW1抢根桥

SW1(config)show spanning-tree //发现SW1降低优先级为4096

没报错,由于SW1要从SW2手中抢根桥,且发现自己的mac地址小于SW2,因此只需要降低自己的优先级与根桥SW2一致即可通过mac地址比较使自己成为根桥, 因此自己的优先级通过此命令行降低为了4096,并将根桥抢到手.


根端口的选举,通过从接口上接收到的BPDU消息比较选出

1. Root ID

2. COST (本端口去往根桥的开销,由收到的BPDU当中的cost值加上自己接口的cost值得出)

3. Bridge ID

4. Port ID 

指定端口的选举,通过链路上的BPDU消息比较选出

1. Root ID

2. COST

3. Bridge

4. Port ID

Port-ID

四位十六进制数组成

0X 8003

接口的优先级默认 128

分为前两个十六进制数 和 后两个十六进制数

前两个十六进制数表示优先级 仅前4bit有效 后两个十六进制数标识了端口ID

80 03

1000 0000 = 128 0000 0011

"开销"

按照链路的带宽来表示

10M 100

100M 19

1000M 4

10000M 2

拓补图:

图片1(13).png

思科认证EI CCNP培训-实验七:

将SW1的优先级降低到0,使得SW1成为根桥.

观察SW2上由STP生成树做出的选路.

SW2的视角上:

从F0/11接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 0 由于是SW1接口发送的BPDU,而SW1的F0/11接口距离根桥的距离是0,自己接口cost值为19,因此去往根桥的开销为0+19=19

Bridge ID = SW1 由于是SW1发送的BPDU,Bridge是它自己

Port ID = 128.13 由于是SW1的F0/11接口发送出来的BPDU,优先级默认128

从F0/12接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 0 由于是SW1接口发送的BPDU,而SW1的F0/12接口距离根桥的距离是0,自己接口cost值为19,因此去往根桥的开销为0+19=19

Bridge ID = SW1 由于是SW1发送的BPDU,Bridge是它自己

Port ID = 128.14 由于是SW1的F0/12接口发送出来的BPDU,优先级默认128

因此从F0/11接口收到的BPDU更优,因此SW2的F0/11接口成为了RP根端口,通过port-ID小来做出决定

 

SW3的视角上:

从F0/13接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 0 由于是SW1接口发送的BPDU,而SW1的F0/13接口距离根桥的距离是0,自己接口cost值为19,因此去往根桥的开销为0+19=19

Bridge ID = SW1 由于是SW1发送的BPDU,Bridge是它自己

Port ID = 128.15 由于是SW1的F0/13接口发送出来的BPDU,优先级默认128

从F0/23接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 19 由于是SW2接口发送的BPDU,而SW2的F0/23接口距离根桥的距离是19,自己接口cost值为19,因此去往根桥的开销为0+19=38

Bridge ID = SW2 由于是SW2发送的BPDU,Bridge是它自己

Port ID = 128.25 由于是SW2的F0/23接口发送出来的BPDU,优先级默认128

因此从F0/13接口收到的BPDU更优,因此SW3的F0/13接口成为了RP根端口,通过COST值便做出决定

 

指定端口的选举是在某一段链路上进行的,它的初衷是在一段链路上选择出来一个负责发送BPDU的接口,因此是通过在链路上双方发出来的BPDU比较做出决定,而不是如同RP选举一样全是通过接收到的BPDU做出选择

DP的选举

根桥上的接口大部分情况下都能成为指定端口,是通过链路上的cost值比较出来的,因为根桥上的接口去往根桥的开销是0,因此它们有先天的外挂.会成为DP

我们观察SW2和SW3之间的链路

SW3从F0/23接口发出的BPDU

Root ID = SW1 由于根桥是SW1

COST = 19 由于是SW3接口发送的BPDU,而SW3的F0/23接口距离根桥的距离是19

Bridge ID = SW3 由于是SW3发送的BPDU,Bridge是它自己

Port ID = 128.25 由于是SW3的F0/23接口发送出来的BPDU,优先级默认128

SW2从F0/23接口发送出的BPDU

Root ID = SW1 由于根桥是SW1

COST = 19 由于是SW2接口发送的BPDU,而SW2的F0/23接口距离根桥的距离是19

Bridge ID = SW2 由于是SW2发送的BPDU,Bridge是它自己

Port ID = 128.25 由于是SW2的F0/23接口发送出来的BPDU,优先级默认128

最后,SW2的F0/23接口成为了这一段链路的指定端口DP,原因是SW2的BPDU在Bridge上战胜了SW3,因为SW2的MAC地址更小.

 

可以通过更改接口的优先级而左右SPT生成树的选路

思科认证EI CCNP培训-实验八:

SW1(config)#interface F0/12

SW1(config-if)#spanning-tree port-priority 0 //更改SW1 F0/2接口的优先级

SW2的视角上:

从F0/11接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 0 由于是SW1接口发送的BPDU,而SW1的F0/11接口距离根桥的距离是0,自己接口cost值为19,因此去往根桥的开销为0+19=19

Bridge ID = SW1 由于是SW1发送的BPDU,Bridge是它自己

Port ID = 128.13 由于是SW1的F0/11接口发送出来的BPDU,优先级默认128

从F0/12接口收到的BPDU

Root ID = SW1 由于根桥是SW1

COST = 0 由于是SW1接口发送的BPDU,而SW1的F0/12接口距离根桥的距离是0,自己接口cost值为19,因此去往根桥的开销为0+19=19

Bridge ID = SW1 由于是SW1发送的BPDU,Bridge是它自己

Port ID = 0.14 由于是SW1的F0/12接口发送出来的BPDU,更改优先级0,因此优先级更小

因此从F0/12接口收到的BPDU更优,因此SW2的F0/12接口成为了RP根端口,它们通过port-id做出决定

 

作业:根据以上学习的STP生成树选路原则,完成以下图中的STP生成树选路,并将结果图发送给老师的邮箱.

图片1(14).png

https://www.wolf-lab.com/

WOLFLAB官方微信:17316362402

WOLFLAB官方QQ:2569790740

关注WOLF-LAB实验室,了解EI CCNP培训课程!

返回目录
在线咨询