生成树协议

相关命令

  • show version:查看设备基础信息,本实验中用来查看设备的 MAC 地址
  • show spanning-tree:查看生成树状态
  • spanning-tree vlan 1 priority 4096:修改桥优先级
  • spanning-tree vlan 1 root primary/secondary:自动指定主根桥或备份根桥
  • spanning-tree vlan 1 port-priority 112:修改端口优先级

实验一:根桥选举(基于 MAC 地址)

实验目标

验证当所有交换机的 STP 优先级均为默认值(32768)时,根桥选举依据 MAC 地址,数值最小的交换机会被选举为根桥。

实验拓扑

实验步骤

  1. 确保三台交换机的 STP 优先级均为默认值。
  2. 等待 STP 协议完成网络收敛。
  3. 在各交换机上执行 show spanning-tree 命令。
  4. 记录并对比 Bridge ID 和 Root ID 中的 MAC 地址。

预期结果

Root ID 中显示的 MAC 地址为三台交换机中数值最小的一个。

实验二:根桥选举(基于优先级)

实验目标

验证 STP 根桥选举依据桥优先级,数值越小越优先。

实验拓扑

实验步骤

  1. 选择一台当前非根桥的交换机。
  2. 在该交换机上执行命令 spanning-tree vlan 1 priority 4096 ,将其桥优先级修改为 4096。
  3. 等待网络收敛。

预期结果

  • 修改了优先级的交换机会被选举为新的根桥。

  • 在其他交换机上使用 show spanning-tree 命令查看,Root ID 地址应更新为新根桥的地址。

技术要点

  1. STP优先级的取值规则:在Cisco设备中,可配置的桥优先级必须是4096的倍数,其有效取值范围为0到61440。该取值范围可在CLI中通过 spanning-tree vlan 1 priority ? 命令进行查看和确认。
  2. Cisco优先级计算方式:交换机在运行STP时,其最终的桥优先级由用户配置的优先级加上VLAN ID(即扩展系统ID)共同构成。这一设计使得交换机可以为不同的VLAN设置不同的STP桥优先级,从而在每个VLAN内独立构建和优化生成树实例。

实验三:主根桥与备份根桥的配置

实验目标

通过快捷命令配置主根桥与备份根桥,掌握其优先级计算方式及高可用性机制。

实验拓扑

实验步骤

  1. 在一台交换机上执行 spanning-tree vlan 1 root primary ,将其配置为 VLAN 1 的主根桥。
  2. 在另一台交换机上执行 spanning-tree vlan 1 root secondary ,将其配置为 VLAN 1 的备份根桥。
  3. 在配置了主/备份根桥的交换机上执行 show spanning-tree vlan 1 命令,验证配置及端口角色。

预期结果

  • 主根桥的桥优先级自动调整为 24576(32768 – 4096 – 4096)。

  • 备份根桥的桥优先级自动调整为 28672(32768 – 4096)。

  • 主根桥拥有最高选举优先级,备份根桥为次优候选。当主根桥故障时,备份根桥会快速接手成为新根桥。

实验四:根端口选举(基于 RPC)

实验目标

验证根端口选举规则,根路径开销(RPC)最小的端口被选为根端口。

实验拓扑

实验步骤

  1. 使用百兆网线连接 SW1 F0/1 与 SW2 F0/1。
  2. 使用千兆网线连接 SW1 G0/1 与 SW2 G0/1。
  3. 在 SW1 上执行 spanning-tree vlan 1 root primary 将其设为 VLAN 1 的根桥
  4. 在 SW2 上执行 show spanning-tree ,查看其 F0/1 和 G0/1 端口的角色、端口开销和根路径开销。

预期结果

  • 在 IEEE 802.1D 标准下,百兆链路(F0/1)端口开销为19,千兆链路(G0/1)端口开销为4。

  • 对于 SW2,通过 G0/1 到根桥(SW1)的根路径开销为4,通过 F0/1 的根路径开销为19。

  • 由于 4 < 19,SW2 的 G0/1 端口因根路径开销更小而被选举为根端口。

实验五:根端口选举(基于对端 BID)

实验目标

验证当根路径开销相等时,连接对端设备桥ID(BID)较小的端口被选为根端口。

实验拓扑

实验步骤

  1. 所有链路使用 FastEthernet 接口(默认开销 19),确保根路径开销相等。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为主根桥。
  3. 在 SW2 上执行 spanning-tree vlan 1 root secondary ,设为备份根桥。
  4. 在 SW4 上执行 show spanning-tree ,观察其 F0/1 和 F0/2 端口的角色、开销和根路径开销。

预期结果

  • SW4 到根桥的两条路径(经由 SW2 和 SW3)的根路径开销相同。

  • SW2 的桥ID(BID)小于 SW3 的桥ID。

  • SW4 上连接对端 BID 较小的 SW2 的端口(F0/2)被选举为根端口。

实验六:根端口选举(基于对端 PID)

实验目标

验证在根路径开销和对端桥ID(BID)均相同的情况下,连接对端端口ID(PID)较小的端口被选为根端口。

实验拓扑

实验步骤

  1. 将 SW1 F0/1 连接至 SW2 F0/10,SW1 F0/2 连接至 SW2 F0/5。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为根桥。
  3. 在 SW2 上执行 show spanning-tree ,观察其 F0/10 和 F0/5 端口的角色、开销和根路径开销。

预期结果

  • 两条链路的根路径开销和对端(SW1)的桥ID相同。

  • 对端 SW1 上,端口 F0/1 的 PID 小于端口 F0/2 的 PID。

  • 因此,SW2 上连接对端 PID 更小的端口(F0/10)被选举为根端口。

实验七:根端口选举(基于本端 PID)

实验目标

验证在根路径开销、对端桥ID(BID)及对端端口ID(PID)均相同的极限情况下,本端端口ID(PID)较小的端口被选为根端口。

实验拓扑

实验步骤

  1. 通过 Hub 连接:SW1 F0/1 ↔︎ Hub F0, SW2 F0/1 ↔︎ Hub F1, SW2 F0/2 ↔︎ Hub F2。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为根桥。
  3. 在 SW2 上执行 show spanning-tree ,观察 F0/1 与 F0/2 端口的角色和端口ID。

预期结果

  • SW2 的 F0/1 和 F0/2 会收到完全相同的 BPDU(RPC、对端BID、对端PID均相同)。

  • SW2 的 F0/1 端口ID为 128.1, F0/2 端口ID为 128.2。

  • SW2 的 F0/1 端口因本端PID更小而成为根端口。

实验八:指定端口选举(基于 RPC)

实验目标

验证在同一网段内,根路径开销(RPC)较小的端口被选举为该网段的指定端口。

实验拓扑

实验步骤

  1. 按图连接交换机:SW1 F0/2 ↔︎ SW2 F0/1, SW2 F0/2 ↔︎ SW3 F0/1, SW3 G0/2 ↔︎ SW1 G0/1。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为根桥。
  3. 在 SW2 和 SW3 上执行 show spanning-tree ,记录端口开销及根路径开销。

预期结果

  • 在 SW2 Fa0/2 与 SW3 Fa0/1 的共享网段上,SW3 的根路径开销(4)小于 SW2 的根路径开销(19)。

  • 因此,SW3 的 F0/1 端口被选举为该网段的指定端口,进入转发状态。SW2 的 F0/2 端口进入阻塞状态。

实验九:指定端口选举(基于 BID)

实验目标

验证当根路径开销相等时,桥ID(BID)较小的端口被选举为指定端口。

实验拓扑

实验步骤

  1. 按图连接交换机:SW1 F0/2 ↔︎ SW2 F0/1, SW2 F0/2 ↔︎ SW3 F0/1, SW3 F0/2 ↔︎ SW1 F0/1。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为主根桥。
  3. 在 SW2 上执行 spanning-tree vlan 1 root secondary ,设为备份根桥。
  4. 在 SW2 和 SW3 上执行 show spanning-tree ,记录各端口状态及桥ID。

预期结果

  • SW2 与 SW3 之间网段的根路径开销相等。

  • SW2(备份根桥)的桥ID小于 SW3 的桥ID。

  • 因此,该网段中 SW2 的 F0/2 端口被选举为指定端口,进入转发状态。SW3 对应的 F0/1 端口进入阻塞状态。

实验十:指定端口选举(基于 PID)

实验目标

验证当根路径开销(RPC)和桥ID(BID)均相同时,端口ID(PID)更小的端口被选举为指定端口。

实验拓扑

实验步骤

  1. 连接设备:SW1 F0/3 ↔︎ SW2 F0/3,SW2 F0/1 ↔︎ Hub F1, SW2 F0/2 ↔︎ Hub F2。
  2. 在 SW1 上执行 spanning-tree vlan 1 root primary ,设为根桥。
  3. 在 SW2 上执行 show spanning-tree ,记录各端口开销、状态及端口ID。

预期结果

  • 对于连接 Hub 的两个网段,SW2计算出的RPC和BID相同。

  • 在SW2 上,F0/1 端口ID为 128.1, F0/2 端口ID为 128.2。

  • 由于 128.1 < 128.2,F0/1 被选举为该网段的指定端口,进入转发状态。F0/2 端口进入阻塞状态。

首先,特别感谢你能读到这里,每一份认真的阅读都是对内容创作的莫大鼓励。本文在撰写过程中,参考了多篇行业内公开的研究文献、专业分析及前辈创作者的分享成果。这些优质内容为文章观点的形成提供了重要启发与支撑,也让思考更加全面。不过因部分参考材料来自广泛的公开信息领域,未能逐一详尽标注具体出处,所以在此谨向所有致力于知识分享与行业研究的创作者,致以诚挚的感谢与敬意。

此外,若文中存在事实表述偏差、逻辑疏漏,或你对本文涉及的话题持有不同见解、希望补充相关案例与内容,欢迎通过评论区留言,或发送邮件至 puppy1599@outlook.com 与我交流。我始终相信,一篇有价值的文章从来不是单向的输出,而是通过开放讨论共同打磨的结果。期待和你一起完善对相关主题的认知,让内容的严谨性与参考价值进一步提升。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇