生成树协议STP(Spanning Tree Protocol)

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

技术提出起因

在这里插入图片描述
交换机主要靠MAC地址表转发数据,网络刚开始没有MAC地址表的时候,会从接口上学习MAC地址
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
当网络的交换机多起来,做了冗余后就会出现环路、出现广播风暴和MAC地址表震荡;交换机性能会因此急速下降,并会导致业务中断。

在以太网中,二层网络的环路会带来广播风暴,MAC地址表震荡,重复数据帧等问题,为解决交换网络中的环路问题,提出了STP。
STP的主要作用:

  • 消除环路:通过阻断冗余链路来消除网络中可能存在的环路。
  • 链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。
    在这里插入图片描述

STP中定义了三种端口角色:指定端口,根端口和预备端口。

  • 指定端口:指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
  • 根端口:非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
  • 预备端口:如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。
    如上图所示:
    假设SWA为根桥,那么网络中的其他交换机则为非根桥
    由于上方指定端口的定义则SWA根桥交换机连接其他非根桥交换机的口都为指定端口
    那么非根桥SW连接 根桥SW的直连端口就为根端口;
    那么剩下的两个非根交换机相连的两个口只能是一个指定端口另一个就是预备端口了
    这个根端口是选举出来的,谁NB哪个口就是根端口。

根桥选举

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图中所示为STP的端口状态迁移机制,运行STP协议的设备上端口状态有5种:

  • Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
  • Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
  • Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
  • Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。
  • Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

执行display stp brief命令查看STP信息
执行display stp interface命令查看端口的STP状态

目前的生成树协议有STP、MSTP、RSTP、PVST

STP (Spanning Tree Protocol):

  • 最初的生成树协议,设计用于防止二层网络中的环路。
  • 收敛速度较慢,因为它的计时器较长(如Forward Delay默认为15秒)。
  • 不适用于大型复杂网络,因为所有VLAN共享同一棵生成树。

RSTP (Rapid Spanning Tree Protocol):

  • STP的改进版,显著提高了收敛速度。
  • 引入了快速收敛机制,如边缘端口、快速转发等。
  • 更适合需要快速恢复的网络环境。

MSTP (Multiple Spanning Tree Protocol):

  • 允许创建多个生成树实例,每个实例可以对应一组VLAN。
  • 提供了VLAN间负载均衡的能力,同时保持了RSTP的快速收敛特性。
  • 适用于需要更精细VLAN管理和负载分担的复杂网络环境。

PVST/PVST+ (Per-VLAN Spanning Tree/Per-VLAN Spanning Tree Plus):

  • 思科私有协议,为每个VLAN创建一个独立的STP实例。
  • 能够在每个VLAN级别上避免环路,提供良好的隔离性。
  • 收敛速度较RSTP慢,但提供了高度的灵活性和故障隔离能力。
  • 需要更多的CPU和内存资源,因为每个VLAN都需要维护一个生成树实例。

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

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

相关文章

Spring Cloud Alibaba-09-Seata分布式事务

Lison <dreamlison163.com>, v1.0.0, 2024.5.03 Spring Cloud Alibaba-09-Seata分布式事务 文章目录 Spring Cloud Alibaba-09-Seata分布式事务分布式事务基础事务本地事务分布式事务分布式事务的场景 分布式事务的解决方案全局事务可靠消息服务最大努力通知TCC事务 Se…

PDF高效编辑器革新:一键智能转换PDF至HTML,轻松开启文件处理全新时代!

信息爆炸的时代&#xff0c;PDF文件因其跨平台、不易修改的特性&#xff0c;成为了商务、教育、出版等领域不可或缺的文件格式。然而&#xff0c;PDF文件的固定性也带来了诸多不便&#xff0c;特别是在需要对其内容进行编辑或格式转换时。这时&#xff0c;一款高效、易用的PDF编…

【CSDN不太方便,以后学习在有道】

【有道云笔记】程序员学习规划

基于Springboot + vue实现的文化民俗网站

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

宝塔 nginx 配置负载均衡 upstream

nginx 主配置文件加入 upstream myapp1 {server 192.168.124.101:5051;server 192.168.124.102:5052;server 192.168.124.111:5050;}站点配置文件中加入 location / {proxy_pass http://myapp1;}80端口映射到外网域名配置方法 加入红框中的代码 upstream myapp3 {server 192.16…

protobufjs 配置踩坑记录

本文主要是小程序使用PB协议&#xff0c;以下时博主遇到的问题以及解决办法。 1、安装protobufjs npm install --save protobufjs 注意&#xff1a;我之前也使用过 npm install -g protobufjs去安装&#xff0c;但是出现以下的问题&#xff0c;关键是我使用sudo 清除相关文件…

WebSocket --学习笔记

一、概述 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 想象一下平时我们使用的聊天软件&#xff0c;当你发送一条信息后…

STL:vector

文章目录 标准库中的vectorvector的构造vector的迭代器vector的容量vector的元素访问data vector的修改 vector和string的迭代器失效问题resize、reserve、insert、push_back、assigneraseg 和 vs 的区别string解决迭代器失效的方法 标准库中的vector vector是表示可变大小数组…

elasticsearch运维_分享两个自己整理的比较好用的elasticsearch脚本

今天分享两个自己编写整理的比较好用的脚本,我平时也经常在elasticsearch生产环境使用。 后面将会不定期给大家分享自己在生产运维中整理的好的脚本和命令给大家分享。 #!/bin/bash# 定义 Elasticsearch 地址、端口、用户名和密码 ES_HOST="192.168.xxx.xxx" ES_P…

深度学习设计模式之装饰器模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 装饰器模式属于结构型模式&#xff0c;又叫包装设计模式&#xff0c;动态的将责任添加到对象上。 一、介绍 装饰器模式又叫包装设计模式&#xff0c;为现有的类的一个…

STL中list的模拟实现

目录 list模拟实现 list节点 list的push_back()函数 list的迭代器操作&#xff08;非const&#xff09; list的迭代器操作&#xff08;const&#xff09; list迭代器const 非const优化 list的insert()函数 list的erase()函数 list的pop_back() push_front() pop_front(…

M3/M4 Ultra Mac Pro:你需要知道的一切

本文翻译自&#xff1a;M3/M4 Ultra Mac Pro: Everything you need to know (By Roman Loyola2024年5月15日 ) https://www.macworld.com/article/2320613/m3-m4-ultra-mac-pro-everything-you-need-to-know.html 文章目录 Mac Pro M3/M4&#xff1a;发布日期Mac Pro M3/M4&…

代码随想录|Day34|贪心算法 part03|● 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

1005.K次取反后最大化的数组和 class Solution: def largestSumAfterKNegations(self, nums: List[int], k: int) -> int: nums.sort() for i in range(len(nums)): if nums[i] < 0 and k > 0: nums[i] -nums[i] k - 1 if k % 2 1: nums.sort() nums[0] *…

C语言网页编程:深度探索与实践挑战

C语言网页编程&#xff1a;深度探索与实践挑战 在编程的广阔领域中&#xff0c;C语言以其高效、稳定和接近底层的特性著称。然而&#xff0c;当提及C语言与网页编程的结合时&#xff0c;许多人可能会感到困惑。毕竟&#xff0c;C语言通常被视为系统级编程的利器&#xff0c;而…

Expression #1 of SELECT list is not in GROUP BY clause and

mybatis-plus mysql8.0 group 1055 - Expression #1 报错信息 "mybatis-plus mysql8.0 group 1055 - Expression #1" 指的是在使用MyBatis-Plus操作MySQL数据库时遇到了错误。这个错误通常是由于MySQL 8.0版本的SQL模式中引入了ONLY_FULL_GROUP_BY&#xff0c;这个规…

JAVA:使用ServerSocket实现多线程的服务器功能

目录 一、服务端 二、Task任务类。 三、客户端请求 一、服务端 创建数据源&#xff0c;并实现ServerSocket&#xff0c;当有连接进来时&#xff0c;创建Task任务类&#xff0c;交由线程池处理&#xff0c;主程序在s.accept();继续等待新的连接&#xff08;这个等待是阻塞制的…

手写一个vue2的diff案例

一、Vue为什么需要采用虚拟DOM&#xff1f; 虚拟 DOM 在 Vue 中起到了优化性能、提供跨平台兼容性 以及简化开发流程的作⽤。 虚拟 DOM 可以减少直接操作实际 DOM 的次数。虚拟 DOM 是⼀个抽象层&#xff0c;将实际 DOM 抽象为⼀个跨平台 的表示形式。使得vue 可以在不同的平…

yangwebrtc x86_64环境搭建

版本&#xff1a;5.0.099 sudo apt-get install libxext-dev sudo apt-get install x11proto-xext-dev sudo apt-get install libxi-dev sudo apt install libasound2-dev sudo apt install libgl1-mesa-dev sudo apt-get install libxtst-dev 用qt打开以下两个项目的.pro met…

WPF快速学习入门(8.视觉树和逻辑树)

WPF视觉树和逻辑树学习教程 WPF&#xff08;Windows Presentation Foundation&#xff09;是一种用于构建桌面应用程序的UI框架。在WPF中&#xff0c;有两种重要的树结构&#xff1a;视觉树和逻辑树。本文将介绍这两种树结构的概念、用途以及如何在实际项目中使用它们。 1. 视…

探索UWB模块的多功能应用——UWB技术赋能智慧生活

超宽带&#xff08;Ultra-Wideband, UWB&#xff09;技术&#xff0c;凭借其高精度、低功耗和强抗干扰能力&#xff0c;正在成为智能家居领域的一项关键技术。UWB模块的应用不仅提高了智能家居设备的性能&#xff0c;还为家庭安全、设备管理和用户体验带来了显著的改善。 UWB模…