四、华为交换机 STP

        生成树协议(STP)的核心目的是在存在冗余链路的网络中,构建一个无环的拓扑结构,从而防止网络环路带来的广播风暴等问题

  • 一、STP 原理

    • 选举根桥:网络中的每台交换机都会有一个唯一的桥 ID(BID),由桥优先级(默认 32768)和交换机 MAC 地址组成。具有最低桥 ID 的交换机会被选举为根桥,根桥是生成树拓扑的中心。
    • 确定根端口:在非根桥交换机上,每个交换机需要确定一个根端口。根端口是距离根桥最近的端口,衡量距离的指标是路径开销(Path Cost)。路径开销与端口带宽相关,带宽越高,路径开销越低。如果有多条路径开销相同的链路,则会比较发送方的桥 ID 以及端口 ID,选择最优的作为根端口。
    • 确定指定端口:每个网段都需要确定一个指定端口。指定端口负责向本网段转发来自根桥的流量。在每个网段中,比较连接到该网段的各个交换机端口的路径开销。具有最低路径开销的端口成为该网段的指定端口。如果多个端口的路径开销相同,则比较这些端口所在交换机的桥 ID,桥 ID 较低的交换机端口成为指定端口。
    • 阻塞非指定端口:除了根端口和指定端口之外,其他端口将被阻塞(Blocked)。被阻塞的端口不会转发用户流量,但会继续接收和处理 STP 协议报文,以便能够感知网络拓扑的变化。通过阻塞非指定端口,STP 协议有效地防止了网络环路的产生,确保了网络的稳定性和可靠性。
  • 二、STP 状态

    • 禁用(Disabled):端口处于非工作状态,不参与 STP 运算,也不转发任何数据帧。该状态通常是由于管理员手动关闭端口,或者端口出现硬件故障等原因导致。
    • 阻塞(Blocking):端口不转发用户数据帧,但会接收并处理 STP 协议报文,用于监听网络拓扑的变化。在网络初始化阶段或者拓扑结构发生变化后,部分端口会暂时处于阻塞状态,以防止网络环路的产生。
    • 监听(Listening):端口开始参与 STP 运算,不再处于阻塞状态,但仍然不转发用户数据帧。在这个阶段,端口会发送和接收 STP 协议报文,以确定其在生成树拓扑中的角色(根端口、指定端口或非指定端口)。
    • 学习(Learning):端口仍然不转发用户数据帧,但开始学习网络中 MAC 地址的分布情况,并将学到的 MAC 地址信息记录在端口的 MAC 地址表中。通过学习阶段,端口能够逐步建立起准确的 MAC 地址表,为后续的数据转发做好准备。
    • 转发(Forwarding):端口正常转发用户数据帧,同时也继续参与 STP 运算,接收和处理 STP 协议报文,以确保网络拓扑结构发生变化时能够及时做出响应,重新调整端口的状态和角色,维持网络的稳定性和无环性。
  • 三、STP 主要参数

    • 桥优先级(Bridge Priority):取值范围通常是 0 - 65535,默认值为 32768。桥优先级用于在选举根桥时确定交换机的优先级。具有较低桥优先级的交换机更有可能被选举为根桥。如果多个交换机的桥优先级相同,则会比较它们的 MAC 地址,MAC 地址较小的交换机将成为根桥。
    • 路径开销(Path Cost):路径开销是衡量一个端口到根桥距离的指标。它与端口的带宽密切相关,一般来说,带宽越高,路径开销越低。不同标准定义的路径开销计算方法略有不同。在选举根端口时,非根桥交换机上的每个端口都会计算其到根桥的路径开销,具有最低路径开销的端口将成为根端口。如果有多条路径开销相同的链路,则会进一步比较发送方的桥 ID 以及端口 ID,以确定最优的根端口。在确定指定端口时,也会比较连接到同一网段的各个交换机端口的路径开销,具有最低路径开销的端口将成为该网段的指定端口。
    • 端口优先级(Port Priority):取值范围一般是 0 - 255,默认值为 128。端口优先级用于在路径开销相同的情况下,进一步确定根端口和指定端口。在选举根端口时,如果多个端口到根桥的路径开销相同,则会比较这些端口的端口优先级。具有较高端口优先级(即端口优先级数值较小)的端口更有可能被选举为根端口。如果端口优先级也相同,则会比较端口的编号,端口编号较小的端口将成为根端口。在确定指定端口时,当连接到同一网段的多个交换机端口路径开销相同时,也会依据端口优先级来进行抉择,规则与根端口选举时类似。
    • Hello 时间(Hello Time)默认值为 2 秒。Hello 时间是指根桥交换机每隔多长时间向网络中的其他交换机发送一次 Hello 报文。Hello 报文包含了根桥的桥 ID、路径开销等重要的 STP 信息。通过周期性地发送 Hello 报文,根桥能够向网络中的其他交换机宣告自己的存在,并确保整个网络的 STP 拓扑信息保持同步。其他交换机在接收到 Hello 报文后,会根据报文中的信息来更新自己的 STP 状态和拓扑信息。如果某个交换机在连续多个 Hello 时间间隔内都没有收到来自根桥的 Hello 报文,那么它会认为网络拓扑结构可能发生了变化,进而触发 STP 的重新计算过程,以确保网络能够重新收敛到一个无环的拓扑结构。
    • 转发延迟(Forward Delay)默认值为 15 秒。转发延迟是指端口从阻塞状态或监听状态转换到转发状态所需要等待的时间。在网络初始化阶段或者拓扑结构发生变化后,STP 协议需要重新计算网络拓扑,以确定各个端口的角色和状态。在这个过程中,部分端口可能需要从阻塞状态或监听状态转换到转发状态。为了防止网络中出现临时的环路,STP 协议引入了转发延迟机制。当端口需要从阻塞状态或监听状态转换到转发状态时,它不会立即开始转发用户数据帧,而是需要等待一段转发延迟时间。在这段时间内,端口仍然处于监听或学习状态,继续接收和处理 STP 协议报文,同时学习网络中的 MAC 地址分布情况。只有在等待完转发延迟时间后,端口才会正式转换到转发状态,开始正常转发用户数据帧。这样可以确保在网络拓扑重新收敛的过程中,不会因为端口状态的快速变化而导致网络中出现临时的环路,从而保证了网络的稳定性和可靠性。
    • 最大老化时间(Max Age)默认值为 20 秒。最大老化时间是指交换机端口保存的 STP 拓扑信息的最长有效时间。在网络正常运行过程中,交换机通过接收来自根桥的 Hello 报文来更新自己的 STP 拓扑信息。Hello 报文包含了根桥的桥 ID、路径开销等重要信息,交换机根据这些信息来确定自己在网络拓扑中的位置和角色。然而,如果某个交换机在连续多个 Hello 时间间隔内都没有收到来自根桥的 Hello 报文,那么它会认为网络拓扑结构可能发生了变化。此时,交换机并不会立即触发 STP 的重新计算过程,而是会等待一段时间,这个时间就是最大老化时间。在最大老化时间内,交换机仍然会使用之前保存的 STP 拓扑信息来转发数据帧。如果在最大老化时间结束之前,交换机又收到了来自根桥的 Hello 报文,那么它会认为网络拓扑结构没有发生变化,继续使用之前保存的 STP 拓扑信息。然而,如果在最大老化时间结束时,交换机仍然没有收到来自根桥的 Hello 报文,那么它会认为网络拓扑结构已经发生了变化,进而触发 STP 的重新计算过程。在重新计算过程中,交换机会根据新收到的 STP 信息来重新确定自己在网络拓扑中的位置和角色,同时更新各个端口的状态,以确保网络能够重新收敛到一个无环的拓扑结构。最大老化时间的设置在网络拓扑结构变化时起到了缓冲作用,避免了因为短暂的 Hello 报文丢失而频繁触发 STP 的重新计算过程,从而提高了网络的稳定性和可靠性。
  • 四、华为交换机 STP 使用方式

    • 开启和关闭 STP

      • 华为交换机默认情况下,STP 是开启的。如果网络规模较小且不存在环路风险,或者出于特殊网络优化需求,可以选择关闭 STP。在系统视图下,使用命令 “stp disable” 即可关闭 STP 。若之后需要重新开启 STP,在系统视图下使用命令 “stp enable”。

                

  • 配置 STP 模式

    • 华为交换机支持多种 STP 模式,如 STP(Spanning Tree Protocol)、RSTP(Rapid Spanning Tree Protocol)和 MSTP(Multiple Spanning Tree Protocol)。不同的模式在收敛速度、功能特性等方面有所差异。RSTP 相比 STP 收敛速度更快,能够在网络拓扑发生变化时更快地恢复网络连通性。MSTP 则在 RSTP 的基础上,进一步支持将多个 VLAN 映射到同一个生成树实例中,从而实现更灵活的网络拓扑管理和负载均衡。可以根据网络的实际需求和规模来选择合适的 STP 模式。在系统视图下,使用命令 “stp mode {stp | rstp | mstp}” 来配置 STP 模式。例如,要将交换机的 STP 模式配置为 RSTP,可以在系统视图下输入命令 “stp mode rstp”。
  • 设置桥优先级

    • 通过调整交换机的桥优先级,可以影响根桥的选举结果,从而优化网络拓扑结构。在系统视图下,使用命令 “stp priority priority - value” 来设置桥优先级。其中,priority - value 为桥优先级的取值,范围是 0 - 65535,并且必须是 4096 的倍数。例如,要将交换机的桥优先级设置为 8192,可以在系统视图下输入命令 “stp priority 8192”。这样设置后,在进行根桥选举时,如果其他交换机的桥优先级默认值 32768 或者更高,那么这台交换机将更有可能被选举为根桥。通过合理设置桥优先级,可以确保网络中的根桥选择符合网络规划和优化的需求,从而提高网络的稳定性和性能。

                                ​​​​​​​        

  • 配置端口路径开销和优先级

    • 端口路径开销和优先级对于根端口和指定端口的选举至关重要。在某些情况下,默认的路径开销和端口优先级可能无法满足网络优化的需求,这时就需要手动配置这些参数。
  • 可以使用命令 “stp cost cost - value” 来配置端口的路径开销。其中,cost - value 为路径开销的取值,取值范围根据不同的标准有所不同。例如,在 IEEE 802.1D - 1998 标准中,10Mbps 端口的默认路径开销为 100,100Mbps 端口的默认路径开销为 19,1Gbps 端口的默认路径开销为 4 等。

  • 使用命令 “stp port - priority priority - value” 来配置端口的优先级。其中,priority - value 为端口优先级的取值,范围是 0 - 255,默认值为 128。在根端口和指定端口的选举过程中,当路径开销相同时,端口优先级将成为决定端口角色的关键因素。具有较高端口优先级(即端口优先级数值较小)的端口更有可能被选举为根端口或指定端口。

STP 故障排除与维护

        在网络运行过程中,可能会出现各种与 STP 相关的故障,影响网络的正常运行。需要定期检查交换机的 STP 状态和配置信息,确保 STP 功能正常运行。使用命令 “display stp” 可以查看交换机的 STP 全局状态信息,包括当前交换机的角色(根桥、非根桥)、根桥的桥 ID、Hello 时间、转发延迟、最大老化时间等重要参数。通过查看这些信息,可以了解交换机当前的 STP 运行状态是否正常,以及各项参数的设置是否符合网络规划和优化的需求。

使用命令 “display stp brief” 可以查看交换机各个端口的 STP 简要状态信息,包括端口编号、端口角色(根端口、指定端口、非指定端口)、端口状态(转发、阻塞、监听、学习等)、路径开销、端口优先级等重要信息。

五、实验:

[LSW1]stp enable       开启STP[LSW1]stp mode stp       设置生成树的模式为STP[LSW1]stp priority 4096        设置优先级为 4096      越小越优         必须是4096的倍数[LSW2]stp enable            开启STP[LSW2]stp mode stp              设置生成树的模式为STP[LSW2]stp priority 8192          设置优先级为 8192      越小越优         必须是4096的倍数[LSW3]stp enable                  开启STP[LSW3]stp mode stp                    设置生成树的模式为STP[LSW4]stp enable                   开启STP[LSW4]stp mode stp                  设置生成树的模式为STP

1、查看stp状态

2、stp端口角色

3、修改转发时延

[LSW1]stp timer forward-delay 2000         <400-3000>        转发时延修改为20秒[LSW1]stp timer hello 300        <100-1000>     #stp计时值修改默认时间为3秒[LSW1]stp timer max-age 3000      <600-4000>    #stp计时值修改默认保存BPDU时间为30秒

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch——Elasticsearch索引管理实战

摘要 本文主要介绍了 Elasticsearch 中索引与索引模板的实战操作。首先讲解了索引管理&#xff0c;包括禁止自动创建索引、索引的格式、创建索引示例、修改索引示例、打开/关闭索引示例、删除索引、查看索引以及 Kibana 管理索引等内容。接着阐述了索引模板管理&#xff0c;涉…

Linux C\C++编程-文件位置指针与读写文件数据块

【图书推荐】《Linux C与C一线开发实践&#xff08;第2版&#xff09;》_linux c与c一线开发实践pdf-CSDN博客 《Linux C与C一线开发实践&#xff08;第2版&#xff09;&#xff08;Linux技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 Linu…

4.JoranConfigurator解析logbak.xml

文章目录 一、前言二、源码解析GenericXMLConfiguratorlogback.xml解析通过SaxEvent构建节点model解析model节点DefaultProcessor解析model 三、总结 一、前言 上一篇介绍了logback模块解析logback.mxl文件的入口, 我们可以手动指定logback.xml文件的位置, 也可以使用其它的名…

leetcode刷题记录(七十八)——105. 从前序与中序遍历序列构造二叉树

&#xff08;一&#xff09;问题描述 105. 从前序与中序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09;105. 从前序与中序遍历序列构造二叉树 - 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一…

包文件分析器 Webpack Bundle Analyzer

webpack-bundle-analyzer 是一个非常有用的工具&#xff0c;用于可视化和分析 Webpack 打包生成的文件。这使得开发者能够更好地理解应用的依赖关系、包的大小&#xff0c;以及优化打包的机会。以下是关于 webpack-bundle-analyzer 的详细介绍&#xff0c;包括它的安装、使用以…

【PowerQuery专栏】PowerQuery提取XML数据

XML数据和Json 数据类型都是比较典型的层次数据类型,XML的数据格式非常的对称。所有的数据均是由标签对组成,图为典型的XML文件类型的数据。 在PowerQuery中进行XML数据类型解析采用的是Xml.Document 函数来进行文件内容的解析,Xml.Document 目前有三个可用参数。 参数1为数…

1.21学习记录

misc 2023isctf 你说爱我尊嘟假嘟 这题有点脑洞&#xff0c;需要把你说爱我换成Ook.将尊嘟换为Ook&#xff01;假嘟换成Ook&#xff1f;&#xff08;根据语气进行猜测吧&#xff09;用在线工具解密最后用base64解密即可 2023isctf 杰伦可是流量明星 解压后是一个MP3文件&am…

如何将自己本地项目开源到github上?

环境&#xff1a; LLMB项目 问题描述&#xff1a; 如何将自己本地项目开源到github上&#xff1f; 解决方案&#xff1a; 步骤 1: 准备本地项目 确保项目整洁 确认所有的文件都在合适的位置&#xff0c;并且项目的 README.md 文件已经完善。检查是否有敏感信息&#xff0…

【MySQL】数据库基础知识

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;【MySQL】数据库基础知识 发布时间&#xff1a;2025.1.21 隶属专栏&#xff1a;MySQL 目录 什么是数据库为什么要有数据库数据库的概念 主流数据库mysql的安装mysql登录使用一下mysql显示数据库内容创建一个数据库创…

使用插件SlideVerify实现滑块验证

作者gitee地址&#xff1a;https://gitee.com/monoplasty/vue-monoplasty-slide-verify 使用步骤&#xff1a; 1、安装插件 npm install --save vue-monoplasty-slide-verify 2、在main.js中进行配置 import SlideVerify from vue-monoplasty-slide-verify; Vue.use(SlideV…

Windows配置frp内网穿透实现远程连接

仅个人记录 本文仅介绍客户端的配置 1. 开始 frp分为服务端和客户端&#xff0c;为实现内网穿透需要同时配置服务端和客户端&#xff0c;并且版本保持一致&#xff0c;可以前往 frp github下载 本文使用 0.51.2 版本&#xff0c;从GitHub下载并解压&#xff0c;得到如下文件…

“大模型横扫千军”背后的大数据挖掘--浅谈MapReduce

文章目录 O 背景知识1 数据挖掘2 邦费罗尼原则3 TF.IDF4 哈希函数5 分布式文件系统 一、MapReduce基本介绍1. Map 任务2. 按键分组3. Reduce 任务4. 节点失效处理5.小测验&#xff1a;在一个大型语料库上有100个map任务和若干reduce任务&#xff1a; 二、基于MapReduce的基本运…

第17个项目:Python烟花秀

源码下载地址:https://download.csdn.net/download/mosquito_lover1/90295693 核心源码: import pygame import random import math from PIL import Image import io # 初始化pygame pygame.init() # 设置窗口 WIDTH = 800 HEIGHT = 600 screen = pygame.display.s…

JavaScript学习笔记(1)

html 完成了架子&#xff0c; css 做了美化&#xff0c;但是网页是死的&#xff0c;我们需要给他注入灵魂&#xff0c;所以接下来我们需要学习 JavaScript&#xff0c;这门语言会让我们的页面能够和用户进行交互。 一、引入方式 1.内部脚本 将 JS 代码定义在 HTML 页面中 Jav…

二十七、资源限制-LimitRange

LimitRange生产必备 在调度的时候 requests 比较重要,在运行时 limits 比较重要。 一、产生原因 生产中只有ResourceQuota是不够的 只配置ResourceQuotas的情况下,pod的yaml文件没有配置resources配置,都是0的话,就可以无限配置,永远达不到limit LimitRange做了什么 如…

docker部署的gitlab迁移

docker部署的gitlab迁移_docker gitlab 迁移-CSDN博客 gitlab-rake gitlab:backup:restore BACKUP 后面一路yes 生活中总是充满了各种选择&#xff0c;点餐纠结&#xff0c;出行选择&#xff0c;聚餐座位&#xff0c;团队投票结果不明&#xff0c;随机抽签一锤定音等等&#xf…

GS论文阅读--GeoTexDensifier

前言 本文是一个关于高斯致密化策略对高斯地图进行优化&#xff0c;他主要关注了几何结构和纹理信息。我最近对于高斯点的分布比较感兴趣&#xff0c;因为高斯点的分布决定了之后重建质量的好坏&#xff0c;初始化高斯很重要&#xff0c;但之后的维护需要致密化与修建策略&…

支持大功率输出高速频闪的图像处理用光源控制器

机器视觉系统中的光源控制器在确保图像质量、提高系统稳定性、降低能耗以及方便系统扩展和升级等方面发挥着重要作用。它可提供稳定光源&#xff0c;调节参数&#xff0c;另外具有操作便捷性。 下面我们来看Gardasoft的光源控制器&#xff0c;Gardasoft拥有作为图像处理用LED光…

Excel 技巧17 - 如何计算倒计时,以及数据条(★)

本文讲如何计算倒计时&#xff0c;以及加数据条。 1&#xff0c;如何计算倒计时 这里也要用公式 D3 - TODAY() 显示为下面这个样子的 然后右键该单元格&#xff0c;选 设置单元格格式 然后点 常规 这样就能显示出还书倒计时的日数了。 下拉适用到其他单元格。 2&#xff0c;…

springboot整合modbus实现通讯

springboot整合modbus4j实现tcp通讯 前言 本文基于springboot和modbus4j进行简单封装&#xff0c;达到开箱即用的目的&#xff0c;目前本方案仅实现了tcp通讯。代码会放在最后&#xff0c;按照使用方法操作后就可以直接使用 介绍 在使用本方案之前&#xff0c;有必要对modb…