一、STP概念

什么是生成树协议

  • 防止交换机冗余链路产生环路,避免广播风暴
  • 逻辑上阻塞某个接口,形成树形网络

二、STP的工作原理

  • 选择根网桥(交换机)

    1. 比较网桥ID,网桥ID较小的为根交换机

      1. 网桥ID(网桥的优先级 加上 网桥的MAC地址)
        1. 网桥优先级,默认是32768,可以由管理员进行修改(更改时注意需要设置为4096的倍数)
    2. 根网桥上的端口是不可能被阻塞的

  • 选择根接口(非根网桥上)

    • 根路径成本最少
    • 直连网桥ID最小
    • 端口ID最小(默认是128)
      • 与根网桥上端口ID小的端口直连的端口必定连通
  • 选择指定端口

    • 根网桥上的所有端口都是指定端口
    • 在每个网段上选择一个指定端口
    • 非根网桥上选指定端口
      • 根路径成本最少
      • 网桥ID最小
      • 端口ID最小(默认是128)
  • 没有被选中的端口就是阻塞端口

三、实验

(注:一切默认)

DP:指定接口

RP:根接口

  1. 因为网桥优先级都为默认的32768,所以MAC地址最小的交换机1为根网桥

  2. 因为根网桥上的端口都是指定端口,所以交换机1上的两个端口都是指定端口

    1. 交换机0和交换机2的f0/2接口的 根路径成本 相同
    2. 因为交换机2的网桥ID小,所以交换机2的f0/2接口为指定端口
  3. 因为交换机0和交换机2的f0/1接口的根路径成本最少,所以交换机0和交换机2的f0/1接口为根接口

  4. 剩下交换机0的f0/2接口没有被选中,为阻塞接口

四、STP其他概念

1、STP的收敛

  • 收敛(整个网络达到一致的情况)
  • 交换机端口的五种状态
    • 禁用(down):交换机接口没有连线
    • 阻塞(blk):不能发送数据,也不会进行mac地址的学习,只会去侦听网络的BPDU(拓扑变更通告)
    • 侦听:可以收发BPDU,但不会进行mac地址的学习
    • 学习:可以收发BPDU,可以进行mac地址的学习,不会转发数据
    • 转发:正常转发业务数据
  • 计时器
    • hello时间:发送BPDU的时间间隔
    • 转发延时:从侦听到学习的时间
    • 最大老化时间:

五、配置

交换机上有vlan的划分,当划分了广播域,就阻挡了广播,所以不同的vlan具有不同的STP

首先得先关闭路由功能(GNS3)

no ip routing

1、单生成树(交换机上只有一个vlan)

  • 设置SW2的网桥优先级为4096

    en
    conf t
    spanning-tree vlan 1 priority 4096
    
  • 指定SW3的f0/1接口为阻塞

    • 设置SW1的网桥优先级为8192

      en
      conf t
      spanning-tree vlan 1 priority 8192
      

2、多生成树(交换机上有多个vlan)

交换机0配置:

en
conf t
vlan 10
vlan 20
exit
int f0/3
sw acc vlan 10
int f0/4
sw acc vlan 20
int range f0/1-2
sw mo tr

交换机1配置:

en
conf t
vlan 10
vlan 20
exit
int f0/3
sw acc vlan 10
exit
int range f0/1-2
sw mo tr

交换机2配置:

en
conf t
vlan 10
vlan 20
exit
int f0/3
sw acc vlan 20
exit
int range int f0/1-2
sw mo tr

令交换机1为vlan 10的根网桥

spanning-tree vlan 10 priority 4096

令交换机2为vlan 20的根网桥

spanning-tree vlan 20 priority 4096

因为交换机0的网桥ID大,所以两个接口分别是vlan10和vlan20的阻塞端口。

如果想强行指定端口阻塞,可以通过控制其另一个端口的速率来解决(实际不用)

speed 10

3、其他配置

  • 直接指定根网桥

    en
    conf t
    spanning-tree vlan 1 root priority
    
  • 修改端口的成本(端口成本由带宽来决定)

    en
    conf t
    spanning-tree vlan 1 cost 19
    
  • 修改端口的优先级(修改为2的次数)

    en
    conf t
    spanning-tree vlan 1 port-priority 64
    
posted on   大咸鱼8125  阅读(828)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型



点击右上角即可分享
微信分享提示