3.10、以太网交换机的生成树协议 STP

news2024/11/6 9:32:49

1、如何提高以太网的可靠性?

若交换机 A 与交换机 B 之间的链路故障

image-20221202001452832


若交换机 A 与交换机 B 和 交换机 C 之间的链路都出现故障

则原来的以太网,变成了三个独立的较小的以太网,它们之间无法通行

image-20221202001608118


1.1、冗余链路提高可靠性

添加 冗 余 链 路 \color{red}冗余链路 可以提高以太网的可靠性

  • 例如:给交换机 BC 之间添加一条冗余链路后
    • 即使若交换机 A 与交换机 B 之间的链路出现故障,整个网络还是连通的

image-20221202002113040

1.2、网络环路问题

但是冗余链路也会带来负面效应-----形成 网 络 环 路 \color{red}网络环路

image-20221203220302001


1.2.1、广播风暴

广 播 风 暴 \color{red}广播风暴 广

  • 大量消耗网络资源,使得网络无法正常转发其他数据帧

假设主机 H1 发送一个广播帧(假设都知道了对方的 MAC 地址)

交换机 B 收到该帧后,将其从自己的其他所有接口转发出去

交换机 A 收到交换机 B 转发来的该帧后,将其从自己的其他所有接口转发出去

交换机 C 收到交换机 B 转发来的该帧后,将其从自己的其他所有接口转发出去

交换机 C 收到交换机 A 转发来的该帧后,将其从自己的其他所有接口转发出去

交换机 A 收到交换机 C 转发来的该帧后,将其从自己的其他所有接口转发出去

交换机 B 收到交换机 C 转发来的该帧后,将其从自己的其他所有接口转发出去

交换机 B 收到交换机 A 转发来的该帧后,将其从自己的其他所有接口转发出去

image-20221203220836648

显然,该广播帧将在各交换机之间反复转发,分别按顺时针和逆时针方向同时兜圈

这就是所谓的广播风暴


1.2.2、广重复广播帧

主 机 收 到 重 复 的 广 播 帧 \color{red}主机收到重复的广播帧 广

  • 大量消耗主机资源

1.2.3、帧交换表震荡

交 换 机 的 帧 交 换 表 震 荡 ( 漂 移 ) \color{red}交换机的帧交换表震荡(漂移)

当交换机 B 收到主机 H1 发送的广播帧后,进行登记工作

  • 将帧的源 MAC 地址 H1 和帧进入交换机 B 的接口号 1 1 1 登记到交换表中
  • 这条记录时正确的

image-20221203221743133

当交换机 B 再次收到交换机 C 转发来的该广播帧后,进行登记工作

  • 将帧的源 MAC 地址 H1 和帧进入交换机 B 的接口号 2 2 2(这条错误记录) 登记到交换表中

    并删除原先正确的记录

  • (源 MAC 地址还是主机 H1MAC 地址, B − > A − > C − > B B - > A - > C - > B B>A>C>B)

image-20221203222119423

当交换机 B 再次收到交换机 A 转发来的该广播帧后,进行登记工作

  • 将帧的源 MAC 地址 H1 和帧进入交换机 B 的接口号 3 3 3(这条错误记录) 登记到交换表中

    并删除原先错误的记录

  • (源 MAC 地址还是主机 H1MAC 地址, B − > A − > C − > A − > B B - > A - > C - > A -> B B>A>C>A>B)

image-20221203222448030


很显然,有关 MAC 地址 H1 的记录将在这两个错误记录之间反复震荡

2、生成树协议 STP

  • 以太网交换机使用 生 成 树 协 议 S T P \color{red}生成树协议STP STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又 避 免 网 络 环 路 带 来 的 各 种 问 题 \color{red}避免网络环路带来的各种问题
  • 不论交换机之间采用怎样的物理连接,交换机都能够 自 动 计 算 并 构 建 一 个 逻 辑 上 没 有 环 路 的 网 络 \color{red}自动计算并构建一个逻辑上没有环路的网络 ,其逻辑拓扑结构必须是树型的(无逻辑环路);

例如: 5 5 5 台交换机之间进行了冗余连接,冗余链路不止一条,网络环路不止一个

  • 简单起见(各交换机上连接的主机没有画出)
  • 绿色(交换机的接口状态为正常状态)
  • 橙色(交换机的接口状态为阻塞状态)
  • 红色(交换机的接口状态为故障状态)

如果各交换机的各接口都处于正常状态,则会存在多个网络环路

实际上,各交换机之间按照生成树协议中规定的生成树算法,交互一些参数后,就可以判断出自己应该阻塞自己的哪些接口。

image-20221203223402325

这样就形成了在逻辑上没有环路的网络

最终生成的树型逻辑拓扑要 确 保 连 通 整 个 网 络 \color{red}确保连通整个网络 ;


相关交换机检测到该故障后,重新计算生成树,决定将自己之前阻塞的接口恢复为正常状态

这样就会形成一个新的逻辑上没有环路的网络

image-20221203223749050

当首次连接交换机或网络 物 理 拓 扑 发 生 变 化 \color{red}物理拓扑发生变化 时(有可能是人为改变或故障),交换机都将进行 生 成 树 的 重 新 计 算 \color{red}生成树的重新计算


3、总结

  • 以太网交换机使用 生 成 树 协 议 S T P \color{red}生成树协议STP STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又 避 免 网 络 环 路 带 来 的 各 种 问 题 \color{red}避免网络环路带来的各种问题

  • 不论交换机之间采用怎样的物理连接,交换机都能够 自 动 计 算 并 构 建 一 个 逻 辑 上 没 有 环 路 的 网 络 \color{red}自动计算并构建一个逻辑上没有环路的网络 ,其逻辑拓扑结构必须是树型的(无逻辑环路);

  • 最终生成的树型逻辑拓扑要 确 保 连 通 整 个 网 络 \color{red}确保连通整个网络 ;

  • 当首次连接交换机或网络 物 理 拓 扑 发 生 变 化 \color{red}物理拓扑发生变化 时(有可能是人为改变或故障),交换机都将进行 生 成 树 的 重 新 计 算 \color{red}生成树的重新计算

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

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

相关文章

Sentinel源码解析-源码环境搭建

文章目录前言一、源码环境搭建1.从github上clone下来sentinel的源码仓库到本地:2. 这里我们想学习1.6版本的sentinel源码,所以切换git分支到release-1.63. 启动sentinel-dashboard:4. 登陆dashboard:5. 启动demo项目:6…

备忘录APP源码和设计报告

摘 要 【关键词】备忘录APP;SQLite数据库;Java语言;Android Studio,Activity,Intent,BaseAdapter 本项目是通过Android Studio开发的一款备忘录手机app,有欢迎页面,登录页面&#x…

MybatisPlus的CRUD接口

create、read、update、delete一、insert 1、插入操作 注意:数据库插入id值默认为:全局唯一id 2、主键策略 (1)ID_WORKER MyBatis-Plus默认的主键策略是:ID_WORKER 全局唯一ID (2)自增策略 要想…

git分支详解——记住这些指令能帮助你解决大部分git的分支问题

Github 之 分支 branch 操作之 查看分支/创建分支/切换分支/提交分支/删除分支/合并分支 等操作 一、简单介绍 二、查看分支 1、查看本地所有分支:git branch 2、查看远程有哪些分支:git branch -r 3、查看所有分支(本地和远程的)…

Egg 1. 快速开始 Quick Start 1.3 一步步 Step by Step 1.3.3 添加静态资源 1.3.4 添加渲染模板

Egg Egg 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Egg1. 快速开始 Quick Start1.3 一步步 Step by Step1.3.3 添加静态资源1.3.4 添加渲染模板1. 快速开始 Quick Start 1.3 一步步 Step by Step 1.3.3 添加静态资源 Egg 有一个名为stat…

【K8S系列】第十讲:kubectl 命令大全

目录 序言 1.基本介绍 1.1 命令格式介绍 2 基础命令 2.1 create 2.2 delete 2.2.1 根据yaml删除资源 2.2.1 根据名称删除资源 2.3 get 2.3.1查看pod列表 2.3.2 查看node 2.3.3 查看svc 2.3.4 查看all 2.3.5 查看ns 2.3.4 查看deploy 2.3 run 2.4 explain 2.…

基于PHP+MySQL珠宝销售网站的设计与开发

大多数时候珠宝是一种身份和高贵的象征,一个价值不菲的珠宝会给人一种高贵的感觉,同时珠光宝气也是人们非常喜欢的一种氛围,尤其是对女生来说,那种金光闪闪的东西总是会在无形中吸引她们的注意力,但是很多时候人们只能到商场或者专卖店购买珠宝,这种珠宝一方面鱼龙混杂,以次充好…

tinymce富文本编辑器的使用

tinymce富文本编辑器的使用 1、基本介绍 tinymce富文本官网:https://www.tiny.cloud/ 中文文档:http://tinymce.ax-z.cn/ tinymce-npm地址:https://www.npmjs.com/package/tinymce tinymce英文文档-示例地址:https://www.tin…

沟通管理风险管理采购管理@相关方管理

沟通管理目录概述需求:设计思路实现思路分析1.沟通管理绩效报告提供资源2.管理沟通3.监督沟通风险管理规划风险管理识别风险定性风险分析:定量分析风险规划风险应对实施分享应对监督风险采购管理:12.1 规划采购的管理12.2 实施采购控制采购相…

Bugku CTF杂项0和1的故事——01字符串生成二维码

个人说明 备赛半月后,因大多都是Web方向,于是自己将主要目标放在Misc和CryPto上,因为较之逆向和二进制更容易上手。 题目链接 1和0的故事 - Bugku CTF 题目简介如上,打开后是25X25的01字符串,先讲解正确高效做法&a…

SpringBoot 自动装配原理

什么是自动装配 springboot 定义一套接口规范,这套规范规定:springboot 在启动时会扫描外部引用 jar 包中的 META-INF/spring.factories 文件,将文件中配置的类型信息加载到 spring 容器,并执行类中定义的各种操作对于外部 jar 来…

Java并发编程—java内存模型1

文章目录Java内存模型的基础并发编程模型的两个关键性问题1、线程之间如何通信?(问题1)2、进程之间如何通信?(问题2)线程间通信机制:共享内存、消息传递1、共享内存2、消息传递java内存模型抽象结构指令重排序并发编程模型的分类happens-befo…

资料库的webrtc文件传输

一、一个看似简单的事情往往不简单 一个简单的事情往往会倾注你的心血,也许你看到很简单往往其实没那么简单;其实想想今年业余时间的大把代码,真正能成品的好像并不多。 马上年底了,写下这篇文章。每一行程序就像写小说一样&…

Egg 1. 快速开始 Quick Start 1.3 一步步 Step by Step 1.3.1 初始化 1.3.2 创建控制器

Egg Egg 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Egg1. 快速开始 Quick Start1.3 一步步 Step by Step1.3.1 初始化1.3.2 创建控制器1. 快速开始 Quick Start 1.3 一步步 Step by Step 之前我们直接使用 npm init egg,选择了…

# 智慧社区管理系统-基础管理-04业主管理

一后端 1entity package com.woniu.community.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor public class Owner {private int id;private String userName;private String …

Linux I2C驱动框架, 调试神奇I2C-Tools介绍

1. IIC协议 2. Linux的I2C体系结构分为3个组成部分: I2C核心( i2c-core.c ):   I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法、I2C通信方法(”algorithm”)、与具体适配器无关的代码、探测设备、检测设备地址的上层代码等。 …

在线PDF查看器和PDF编辑器:GrapeCity Documents PDF (GcPdf)

跨平台 JavaScript PDF 查看器 使用我们的 JavaScript PDF 查看器在网络上阅读和编辑 PDF。跨浏览器和框架打开和打印。GrapeCity Documents PDF (GcPdf) 全功能的 JavaScript PDF 查看器和 PDF 编辑器 适用于所有现代浏览器和框架,包括 Edge、Chrome、Firefox、Op…

UML类图中 前缀符号 + - # ~ 的含义

UML类图中有各种符号,新手看着一脸懵逼,今天我就来讲一下各个符号到底是啥意思。 其实这些符号都是在描述类属性的可见性: UML中,可见性分为4级 1、public public 公用的用 前缀表示 ,该属性对所有类可见 2、prote…

算法篇-----回溯1

文章目录什么是回溯呢?力扣690-----员工的重要性(中等)力扣733-----图像渲染(简单)力扣463-----岛屿的周长(简单)力扣130------被围绕的区域(中等)力扣17--------电话号码的组合 &am…

kafka-consumer-offset位移

目录 1 offset的默认维护位置 1.1 消费offset案例 2 自动提交offset 3 手动提交offset 3.1 原理 3.2 代码示例 3.2.1 同步提交 3.2.2 异步提交(生产常用) 4 指定offset消费 5 指定时间消费 6 漏消费和重复消费分析 6.1 重复消费 6.2 漏消费 6.3 消费者事务 7 数据…