超详细的--STP理论

前言

为了提高网络可靠性,交换网络中通常会使用冗余链路,然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树STP(Spanning Tree Protocol ) 可以在提高可靠性的同时又能避免环路带来的各种问题。

二层网络设计需求和问题:

  • 为了提高可靠性,交换机之间会通过多条链路相连,从而避免单点故障

    在这里插入图片描述

  • 但同时会带来一些灾难性的环路问题

环路问题:

广播风暴

在这里插入图片描述

在这里插入图片描述

MAC地址表产生震荡

在这里插入图片描述

在这里插入图片描述

在广播风暴的同时,MAC地址表也一直在变换,

如下图的信息提示,MAC地址对应的接口发生了震荡,从2口变到了1口。

在这里插入图片描述

STP

STP: Spanning Tree Protocol, 生成树协议,提供两大功能:

  • 消除环路:通过阻断冗余链路来消除网络中可能存在的环路,就可以消除刚刚上面碰到的问题
  • 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。

在这里插入图片描述

STP 操作

:通过构造一棵树来消除网络中的环路。( STP发明于80年代,那时候的网桥就是现在的交换机)

在这里插入图片描述

STP选举

STP选举是以各自发送BPDU数据包中的字段来相互比较来决定谁是根桥

在这里插入图片描述

BPDU:Bridge Protocol Data Unit – 桥协议数据单元(STP工作协议)
  • 使用组播: 01-80-C2-00-00-00 ( 可以记忆一下,面试小细节)

  • BPDU包含桥ID,路径开销,端口ID,计时器等参数。

BPDU类型:
  • 配置BPDU:

    • 选举根交换机以及确定每个交换机端口的角色和状态
    • 在初始化过程中,每个桥都主动发送配置BPDU。
    • 在网络拓扑稳定以后,只有根桥主动发送BPDU,其它交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
    • 发送周期为Hello time
    • 老化时间为MAX-Age

    ensp 默认开启 MSTP

在这里插入图片描述

  • 拓扑变更通告BPDU-TCN BPDU
    • 下游交换机感知到拓扑发生变化时向上游发送的拓扑变换通知

在这里插入图片描述

Topology Change 拓扑变化

BPDU字段详解

字段中重要且用于根桥选举的4个字段:

  • 桥ID: BID - Bridge ID

    • 用于在STP中唯一标识一个交换机,由两部分组成:
      • 桥优先级:高16位
      • 桥MAC地址:低48位

    在这里插入图片描述

  • 端口ID : PID - port ID

    • 用于在STP中唯一标识一个交换机上的端口,由两部分组成:

      • 端口优先级:高8位
      • 端口编号:低8位

      在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 路径开销:Path Cost

    • 路径开销用于衡量桥与桥之间路径的优劣,越低越好
    • STP中每条链路都具有开销值

    两个标准下的开销值:(802.1D-1998 标准是 98年的标准,所以它的开销是较小的,随着技术的跟进,带宽逐渐增大,所以 标准 也会与时俱进的

    在这里插入图片描述

    • 根路径开销:Root Path Cost
      • 确定到达根桥的最短路径,并生成无环树状网络
      • 到根桥的路径上所有的路径开销之和
      • 在这里插入图片描述

在这里插入图片描述

STP中端口的角色

  • 根端口:去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据。在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。

    根端口保证了交换机与根桥之间工作路径的唯一性和最优性。

  • 指定端口:

    向下行网桥转发BPDU的端口。

    根桥上的所有端口均为指定端口。

  • 阻塞端口:非根端口和非指定端口的其余端口被会进行逻辑上的阻塞,只能接受根桥发送来的STP协议数据帧。

STP选举过程

根桥选举
  • 每一台交换机启动STP后,都认为自己是根桥

  • BID 最小的成为根桥(先比较优先级,再比较MAC)

在这里插入图片描述

根端口选举
  • 是在一个非根交换机上选根端口 注意是 在一个(它自己)!!!!!

  • 非根交换机在选择根端口时分别根据该端口

    • 根路径开销 | 比
    • 对端BID | 较
    • 对端PID | 方
    • 本端PID V 向

以刚刚的拓扑为例:我们已经知道LSW3是根桥,先根据规则来判断选举出哪些口是根端口。

在这里插入图片描述

  1. 根桥上(LSW3) 上的端口都为指定端口

  2. 先看LSW1 , 交换机上有两个口,一个是G0/0/1,一个是G0/0/2,在它们之中选出根端口

  3. 首先比较它们端口的根路径:

    在这里插入图片描述

在这里插入图片描述

  1. 同理算出LSW2的G0/0/3口 也为根端口,验证查看

    在这里插入图片描述

指定端口选举
  • 非根交换机在选择指定端口时分别根据该端口的

    • 根路径开销 | 比较

    • 本端BID | 方

    • 本端PID V 向

在这里插入图片描述

  1. 指定端口的责任是向下行路由器发送BPDU
  2. 现在要从LSW2和LSW1中的G0/0/2 、G0/0/1 选出 指定端口
  3. 查看这两个口的根路径开销都为20000,

在这里插入图片描述

  1. 往下,比较 本端BID

在这里插入图片描述

  1. 验证

    在这里插入图片描述

预备端口

未被选举为根端口或指定端口的端口为预备端口,将会被阻塞

在这里插入图片描述

所以根据规则,LSW1的G0/0/1就为预备端口并给予堵塞。

在这里插入图片描述

STP 端口状态 & 计时器

STP 端口状态

在这里插入图片描述

  • disabled port: 端口没有接线

  • blocking: 阻塞

  • Listening: 监听

在这里插入图片描述

STP的计时器

在这里插入图片描述

Max Age :

  • 最长未接受BPDU时间
  • 所连的交换机不能超过20台。

所以不建议在二层网络中连续的接多个交换机,一是不利于STP协议的计算降低效率,二是大于20台时,非根桥会丢弃BPDU

在这里插入图片描述

在这里插入图片描述

链路中根桥会一直发送BPDU,如果被阻塞端口的交换机超过 Max Age 时间没有收到,则会认为自己就是根桥,端口就不会被堵塞了,然后如下图改变状态。(这也是刚开始启动交换机时,各个端口的状态变化

15s 监听 – > 15s 学习 – > 转发

在这里插入图片描述

STP拓扑变化

根桥故障

在这里插入图片描述

交换机出现故障时,当前二层网络下的设备恢复网络一共需要50 S 。

直连链路故障

在这里插入图片描述

我们测试一下:

  1. 查看LSW3的端口

在这里插入图片描述

  1. 关闭 G0/0/1 口, 查看 状态变化。

    在这里插入图片描述

​ 时间是 STP 的缺点之一

非直连链路故障

在这里插入图片描述

同样测试一下;

  1. 开始时

在这里插入图片描述

  1. 关闭LSW2的g0/0/1的端口后

在这里插入图片描述

  1. 根据Message的大小(经过一台交换机加1) 证明 BUPD是从LSW3那边发过来的

    在这里插入图片描述

拓扑改变导致MAC地址表错误

拓扑如下:

在这里插入图片描述

STP正常运行,PC1 ping PC2 通过ARP询问MAC地址后正常通信,LSW1也记下了所对应的MAC地址。

在这里插入图片描述

在这里插入图片描述

–> 所以有了 TCN

在这里插入图片描述

  • 检测到拓扑改变的交换机通过根端口向根桥发送TCN,上游交换机收到TCN后回应TCA,让后下游交换机停止发送TCN,再通过根端口发送TCN直到根桥收到,根桥通过制定端口发送TC通知所有下游交换机把MAC地址表记录老化时间从300s变为15s

如:

在这里插入图片描述

关掉后:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这条命令是用来配置 STP(Spanning Tree Protocol)的区域参数的。在一个网络中,可能会有多个交换机,而这些交换机之间通过链路相连,形成一个拓扑结构。为了避免在拓扑结构中出现环路,STP会通过计算出一棵生成树来决定哪些链路应该被关闭,从而保证网络的正常运行。 STP支持将交换机划分为不同的区域,每个区域内部的交换机都是相互可达的,但是不同区域之间的交换机则必须通过一个根交换机才能进行通信。使用这条命令可以配置交换机所属的STP区域。具体用法可以参考设备的操作手册。 ### 回答2: [core-sw-1]stp region-configuration是华为交换机的一个命令,用于配置STP(Spanning Tree Protocol)的区域配置。 在STP协议中,网络中存在多个交换机,这些交换机通过链路互联起来,形成一个广域网。为了避免广播风暴和回路产生的问题,需要使用STP协议来建立一个拓扑树,通过选举根交换机、选择优先路径等机制来实现网络的冗余和环路消除。 通过执行[core-sw-1]stp region-configuration命令,可以进行STP区域配置。区域配置包括以下几个方面: 1. 配置区域名称:可以为STP区域指定一个名称,以便于管理员识别和管理。 2. 配置区域优先级:根交换机STP网络的核心,具有最高优先级。通过配置区域优先级,可以指定某个交换机作为根交换机。 3. 配置区域类型:STP协议支持多种类型,如STP(标准STP)、RSTP(快速STP)和MSTP(多实例STP)等。通过配置区域类型,可以选择适合网络环境的协议类型。 总的来说,[core-sw-1]stp region-configuration命令提供了对STP区域的配置选项,可以根据不同的需求进行灵活的配置,以达到网络冗余和环路消除的目的。 ### 回答3: [core-sw-1]stp region-configuration是一个命令,用于配置交换机STP(Spanning Tree Protocol)的区域配置。 STP是用于防止环路形成并提供冗余路径的通信协议。 STP的区域配置指的是在一个网络中配置具有相同STP区域ID的交换机,以确保它们之间可以相互通信,从而构建一个稳定的拓扑结构。 在使用[core-sw-1]stp region-configuration命令时,可以提供以下参数来配置STP的区域配置: 1. region-name:指定STP区域的名称。可以使用任何文本字符串作为区域名称,以便识别特定的STP区域。 2. region-mode:指定STP的区域模式。可以选择以下模式之一:normal(正常模式)、pruning(修剪模式)或tc-protection(TC保护模式)。 - 正常模式:在正常模式下,交换机将发送和接收STP BPDU(Bridge Protocol Data Units),并按照拓扑结构计算最优路径。 - 修剪模式:在修剪模式下,交换机将将不相关的端口阻断,以便减少网络流量,提高性能。 - TC保护模式:在TC保护模式下,交换机将优先考虑侦听到的BPDU,并阻断可能产生环路的端口。 配置STP的区域配置可以帮助网络管理员优化网络拓扑,并提供冗余路径以提高网络的可靠性和性能。使用合适的区域名称和区域模式,可以根据实际情况对网络进行灵活的配置和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值