• STP学习的第一篇


    1.STP的基本概念:根桥

    (1)STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。

    (2)根桥是一个STP交换网络中的“树根”。

    (3)STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。

    (4)在STP网络中,桥ID最小的设备会被选举为根桥。

    (5)在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

    2.STP的基本概念:Cost

    (1)每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。

    (2)接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。

    (3)接口带宽越大,则Cost值越小。

    (4)用户也可以根据需要通过命令调整接口的Cost

     3.STP的基本概念:RPC   根路径开销(Root Path Cost)  根路径开根路径开销(Root Path Cost)销(Root Path Cost

    (1)STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC

    (2)一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。

     4.STP的基本概念:Port ID

    (1)运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。

    (2)接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接口编号。

    (3)激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128。用户可以根据实际需要,通过命令修改该优先级。

    5.STP的基本概念:BPDU

    (1)BPDUSTP能够正常工作的根本。BPDUSTP的协议报文。

    (2)STP交换机之间会交互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。

    (3)BPDU分为两种类型:配置BPDUConfiguration BPDU)、TCN BPDUTopology Change Notification BPDU

    (4)配置BPDUSTP进行拓扑计算的关键;TCN BPDU只在网络拓扑发生变更时才会被触发。

    6.配置BPDU的比较原则

    STP按照如下顺序选择最优的配置BPDU

    1.最小的根桥ID。2.最小的RPC。3.最小的网桥ID。4.最小的接口ID。备注(第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。

    7.STP的计算过程 (在交换网络中选举一个根桥)

    (1)STP在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU。配置BPDU中包含交换机自己的桥ID

    (2)网络中拥有最小桥ID的交换机成为根桥。

    (3)在一个连续的STP交换网络中只会存在一个根桥。

    (4)根桥的角色是可抢占的。

    (5)为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交换机的桥优先级设置为最小值0

    7.STP的计算过程 (在每台非根桥上选举一个根接口)

    (1)每一台非根桥交换机都会在自己的接口中选举出一个接口。

    (2)非根桥交换机上有且只会有一个根接口。

    (3)当非根桥交换机有多个接口接入网络中时,根接口是其收到最优配置BPDU的接口。

    (4)可以形象地理解为,根接口是每台非根桥上“朝向”根桥的接口。

    7.STP的计算过程 (在每条链路上选举一个指定接口)

    (1)根接口选举出来后,非根桥会使用其在该接口上收到的最优BPDU进行计算,然后将计算得到的配置BPDU与除了根接口之外的其他所有接口所收到的配置BPDU进行比较:

    (2)如果前者更优,则该接口为指定接口;

    (3)如果后者更优,则该接口为非指定接口。

    一般情况下,根桥的所有接口都是指定接口。
    7.STP的计算过程 (非指定接口被阻塞
    (1) 一台交换机上,既不是根接口,又不是指定接口的接口被称为非指定接口。
    (2) STP 操作的最后一步是阻塞网络中的非指定接口。这一步完成后,网络中的二层环路就此消除。

    图中所示为 STP 的端口状态迁移机制,运行 STP 协议的设备上端口状态有 5 种:
    Forwarding :转发状态。端口既可转发用户流量也可转发 BPDU 报文,只有根端口或指定端口才能进入 Forwarding 状态。
    Learning :学习状态。端口可根据收到的用户流量构建 MAC 地址表,但不转发用户流量。增加 Learning 状态是为了防止临时环路。
    Listening :侦听状态。端口可以转发 BPDU 报文,但不能转发用户流量。
    Blocking :阻塞状态。端口仅仅能接收并处理 BPDU ,不能转发 BPDU ,也不能转发用户流量。此状态是预备端口的最终状态。
    Disabled :禁用状态。端口既不处理和转发 BPDU 报文,也不转发用户流量。
    案例 1 STP 的基础配置
    SW1 的配置如下:
    [czySW1]stp mode stp 
    [czySW1]stp enable 
    [czySW1]stp priority 0

    SW2的配置如下:

    [czySW2]stp mode stp  
    [czySW2]stp enable
    [czySW2]stp priority 4096

    SW3的配置如下:

    [czySW3]stp mode stp
    [czySW3]stp enable

    通过配置,将SW1指定为根桥,并使SW3e0/0/2接口被STP阻塞。

    在LSW3上查看stp接口状态摘要

    8.STP的不足

    (1)STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。

    (2)STP没有细致区分接口状态和接口角色,不利于初学者学习及部署。

    (3)网络协议的优劣往往取决于协议是否对各种情况加以细致区分。

              从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。

              从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。

              根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。

    (4)STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。

    (5)STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。

    9.RSTP通过接口角色的增补,简化了生成树协议的理解及部署

    10.总结

    1、选举根桥,根桥有且只有一个,除此之外都是非根桥;
    2、非根桥有且只有一个根端口(到达根桥最近cost);
    3、每段链路选举唯一 一个指定端口。
    4、既不是根端口也不是指定端口,则会被称为阻塞端口(逻辑关闭);
    选举规则:
    1、根桥选举:最小的BID,具体看下面;
    2、非根桥根端口选举:
          2.1 先比较RPC
          2.2 比较对端的BID
          2.3 比较对端的PID
          2.4 比较本端的PID
    3、指定端口:
          3.1 先比较RPC
          3.2 比较发送者的BID
          3.3 比较发送者的PID

  • 相关阅读:
    软件测试/测试开发 | AI大模型应用开发实训营来啦~ 大模型学习资料免费领
    nodejs的安装和全局配置(超详细哦)
    Mybatis--动态SQL
    JS 运行机制最全面的一次梳理
    小程序中如何使用自定义组件应用及搭建个人中心布局
    LeetCode 面试题 16.04. 井字游戏
    无代码开发更新数据入门教程
    Vbox虚拟机安装Androidx86
    logstash同步mysql数据到elasticsearch
    math 库中常用的数学运算和常量【GO 基础】
  • 原文地址:https://blog.csdn.net/weixin_52654869/article/details/138060394