抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >


STP

STP

STP: 生成树协议,在以太网中,通过阻塞部分链路形成树状结构,从而消除网络中的环路结构,当主链路发生故障时,被阻塞的链路可以自行恢复转发状态,从而保证网络中链路的可靠性.

STP 的作用

消除环路:通过阻断多余的链路来消除网络中可能存在的环路.

备份链路:当活动链路出现故障时,激活备份链路,代替活动链路继续进行数据转发.

以太网环路产生的影响

  1. 广播风暴:广播帧在以太网中通过泛洪的方式进行数据转发,所以一旦出现环路,则广播帧会在环路中无限都是进行传递,如果 PC 不断发送广播帧,最终可能导致网络数据帧的阻塞,导致网络瘫痪,网络中充斥着重复的广播帧.
  2. MAC 地址表的漂移:当产生环路时,MAC 地址表不断的学习和刷新以及删除 MAC 地址表项.
  3. 主机收到重复的数据帧.

STP 专有名词

根桥: ROOT, 是 STP 协议中的逻辑根设备,是 STP 的逻辑中心.

BID: 桥 ID, 描述交换机设备的参数,由优先级和 MAC 地址两个部分组成 (16+48), 在比较时先比较优先级,当优先级相同时比较 MAC 地址,越小越优.

桥优先级范围:0-65535, 步长 4096, 缺省值 32768, 最大值 61440.

STP 的开销:

dot1d: 1-65535

dot1t: 1-200000000

legacy: 1-200000

RPC: 根路径开销,非根交换机到达根的路径开销总和 (从根到该交换机的入方向接口开销总和)

PID: 端口 ID, 是由端口优先级和端口编号构成 (8+8). 端口优先级取值范围 0-255, 必须是 16 的倍数,缺省值为 128.

STP 计算

  1. 选举根桥,比较桥优先级,数值越小越优,如果优先级相同,比较 MAC 地址,MAC 地址越小越优.

  2. 在所有非根交换机上选举根端口,根端口只存在于非根交换机,每个非根交换机只有一个根端口.

    • 1. 比较该设备每个端口到达根桥的 RPC, 开销越小越优.
    • 2.RPC 一致时,则比较上游设备的 BID,BID 越小越优.
    • 3. 上游 BID 一致时,则比较上游设备的 PID, 越小越优.
    • 4. 上游设备 PID 一致时,则比较本设备的 PID, 越小越优.
  3. 指定桥:本网段内到达根桥的最优设备。每个链路内,选举指定桥,指定桥最优端口为指定端口.

    • 1. 比较链路内的交换机到达根桥的根路径开销,开销数值越小的交换机成为指定桥.
    • 2. 如果开销一致,则比较 BID 大小,越小越优,指定端口一定在指定桥上.
    • 3. 如果指定桥在该链路有多个端口到达根桥,则比较 PID,PID 数值小的成为指定端口.
  4. 所剩的非根非指定端口被阻塞,阻塞端口不为用户转发数据,并成为 STP 中的备份链路.

STP计算

STP计算-p

STP 计时器

Hello Time: STP 协议连续发送 BPDU 报文的间隔,默认 2s.

Max Age: 最大寿命,交换机接收 BPDU 的最大间隔,超过 Max Age 还没有接收到 BPDU, 则认为链路失效。默认值 20s.

Message Age: BPDU 每经过一个交换机就 + 1, 当超过最大值时则 BPDU 失效,默认值 20.

STP 的端口状态

1. 禁用状态: disable, 当端口处于禁用或没有正常运行 STP 时. STP 的初始状态,该状态下,接口既不收发 BPDU 也不为用户转发数据.

2. 阻塞状态: blocking, 是端口阻塞的最终状态,交换机在该状态下接收 BPDU, 但不发送 BPDU, 不为用户转发数据,也不会学习 MAC 地址.

3. 监听状态: listening, 是一个过渡状态,在该状态下交换机会收发 BPDU, 通过 BPDU 的交互最终确定端口角色该状态不会学习 MAC 地址,也不为用户转发数据.

等待转发延迟计时器 (15s), 超时进入到 learning 状态.

4. 学习状态: learning, 是一个过渡状态,在该状态下交换机可以收发 BPDU, 可以学习 MAC 地址,为用户转发数据做准备,但不能发送用户数据.

等待转发延迟计时器 (15s), 超时进入到 forwarding 状态.

5. 转发状态: forwarding, 是根端口和指定端口的最终状态,在该状态下可以收发 BPDU, 学习 MAC 地址,收发用户数据.

状态收 BPDU 发 BPDU 收用户数据发用户数据学习 MAC 地址
禁用状态 xxxxx
阻塞状态 vxxxx
监听状态 vvxxx
学习状态 vvvxv
转发状态 vvvvv

Shell

[SW1]stp enable // 开启 stp
[SW1]stp disable // 关闭 stp
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ALTE DISCARDING NONE
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE

[SW1]stp root ?
primary Primary root switch // 根桥 优先级变0
secondary Secondary root switch // 备份根桥 优先级变4096

[SW1]stp priority ? // 修改优先级
INTEGER<0-61440> Bridge priority, in steps of 4096

[SW1]stp pathcost-standard ? // 修改开销计算方式 整个网络都需要修改
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy

[SW1-GigabitEthernet0/0/1]stp cost ? // 修改开销
INTEGER<1-200000000> Port path cost

[SW1-GigabitEthernet0/0/1]stp port priority ? // 修改接口优先级
INTEGER<0-240> Port priority, in steps of 16

PVI

PVI: 协议版本标识符.

0: STP, 标准 STP, 基于 802.1D, 所有 STP 的基础。所有的 VLAN 共用一个 STP 拓扑,收敛速度慢 (30-50s).

2:RSTP, 快速 STP, 基于 802.1W, 在标准 STP 的基础上增加了部分快速收敛机制.

3:MSTP, 多实例 STP, 基于 802.1S, 在 RSTP 的基础上增加了多实例的配置,可以实现多 VLAN 的 STP 不同的拓扑,并且单独计算生成树.

推荐阅读
交换网络基础 交换网络基础 以太网帧结构 以太网帧结构 以太网链路聚合 以太网链路聚合 实现VLAN间通信 实现VLAN间通信 VRRP VRRP OSPF基础 OSPF基础

留言区

Are You A Robot?