学习笔记——交换——STP(生成树)简介

一、技术背景

1、生成树技术背景

   

交换机单线路组网,存在单点故障(上左图),上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,业务将会中断。

为了使得网络更加健壮、更具有冗余性,将拓扑修改为(上右图)接入层交换机采用双链路,联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路及单设备故障问题

但是这样也带来了一个大问题,就是二层物理环境存在环路

2、二层环路带来的问题

(1)典型问题一:广播风暴

网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧将被交换机不断进行泛洪,从而在网络中造成广播风暴。(上左图)

广播风暴对网络的危害:将严重消耗设备资源及网络带宽,最终导致网络瘫痪。

(2)典型问题二:MAC地址漂移

          

1.PC发送数据帧给Server;

2.SW3的MAC地址表中没有匹配目的MAC的表项,于是将数据帧进行泛洪;

3.SW1及SW2都会收到这个数据帧并学习源MAC,同时将数据帧进一步泛洪;SW1及SW2又从自己另一个接口收到这个数据帧,于是MAC表又一次发生改变,如此往复。

(上右图)以SW1为例,5489-98EE-788A会不断的在GE0/0/1与GE0/0/2接口之间来回切换,这被称为MAC地址漂移现象

即使不是人为搭建冗余的物理环境而导致的环路,网络也有可能因为种种原因出现二层环路引发的故障。

交换机环路带来的问题:广播风暴、mac地址表不稳定、网络卡顿、网络不稳定、过多占用交换机的cpu和内存等等。

3、有没有什么办法解决环路的问题呢?

生成树(Spanning-tree)协议就是用于解决环路这个问题的。

什么是生成树?

1、解决二层环路。

2、防止广播风暴。 广播风暴造成的结果是什么?   造成广播风暴的原因是什么?

       广播报文在两个或多个交换机间大量的、重复的、无休止的传递。洪范、冗余链路。

3、防止MAC地址表的不稳定。

4、防止数据帧的重复拷贝。

    

通过在交换网络中部署生成树(Spanning-tree)技术能够防止网络中出现二层环路。

STP运行后,如果网络中存在环路,那么STP通过阻塞(Block)特定的接口从而打破环路,并且在网络出现拓扑变更时及时收敛,以保证网络的冗余性。(如上边左图所示)

当拓扑发生变更的时候生成树协议能够探测到这些变化,并且及时自动的调整接口状态,从而适应网络拓扑的变化,实现链路冗余。(如上边右图所示)

4、生成树协议在园区网络中的应用位置

5、二层环路与三层环路

常见环路主要分为:二层环路和三层环路。

(1)三层环路                    (2)二层环路

            

常见原因:路由环路           常见原因:网络中部署了二层冗余环境,或人为的误接线缆导致;

防环方法:                       防环方法:

1、通过动态路由协议防环。            1、需借助特定的协议或机制实现二层防环;

2、IP报文头部中的TTL字段用于防止报   2、二层帧头中并没有任何信息可用于防止数据帧被无

文被无止尽地转发。                   止尽地转发。

二、STP简介

1、STP概述

STP(spanning tree protocol,生成树协议) STP是一个用于局域网中消除数据链路层物理环路的协议,标准名称是 802.1D

运行该协议的设备通过彼此交互信息而发现网络中的环路对某些接口进行阻塞以消除环路

STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动响应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。(下左图)

注意:在华为的交换机上,开机默认自动运行。

2、STP(生成树)作用

STP通过阻塞端口来消除二层交换机环路(交换机与交换机间),并能够实现链路备份的目的

消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。

链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。      

解决方案:逻辑性阻塞某个接口. 使用STP来逻辑的阻塞某一个接口,使其只接收流量,不发送流量从而防止环路。

3、标准STP的缺陷

(1)收敛时间长

在默认情况下,STP的收敛时间为30s(侦听(Listening)+学习(learning)各15s),在某些场景下,收敛时间更是长达50s(例如根桥故障,不向外发送BPDU,交换机需要先等待20s的老化时间,再加上30s的侦听(Listening)+学习(learning)),在这个时间段内,会导致网络长时间的中断。

(2)拓扑变化时收敛机制不灵活

当企业上下班时间,每个员工将自己的PC进行开关机的操作,现网当中就会出现大量的TCN(拓扑变更) BPDU,影响设备的性能,而PC机器其实不需要参加到生成树计算当中。

BPDU转发时,唯一不变的是根桥的ID。

交换机只有在发送BPDU时,才会算上自己的开销,接受BPDU时,不会算上自己的开销(cost)。

指定端口(DP):发送最优的BPDU

根端口(RP):收最优的BPDU

阻塞端口(AP):既不是指定端口,又不是根端口,则为阻塞端口


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【直观详解】泰勒级数

非常好的一篇 泰勒展开式的 推理过程 【直观详解】泰勒级数 | Go Further | Stay Hungry, Stay Foolish 函数f(x)cos(x) 函数的逼近过程

FLUKE9500B福禄克9500B示波器校准仪

FLUKE9500B示波器校准器 福禄克9500B示波器校准仪 9500B 示波器校准器的特点 自动化示波器校准可能体现许多校准实验室中生产力的提高。如果是手动,则该项工作需要熟练的操作人员花费大量的时间执行基本上是重复的任务。半自动化或自动化的方案显然能够解决这一问…

2024年看项目管理软件与工程项目管理的奇妙融合

一、禅道在项目管理中的全面应用 禅道在产品管理方面,能够清晰地对产品的需求进行全方位管理。从需求的提出到详细信息的记录,再到状态、负责人以及完成进度的跟踪,都能有条不紊地进行。产品经理可以通过禅道制定合理的产品规划,…

讯飞与腾讯云:Android 语音识别服务对比选择

目录 一、讯飞语音识别 1.1 讯飞语音识别介绍 1.1.1 功能特点 1.1.2 优势 1.2 接入流程 1.2.1 注册账号并创建应用 1.2.2 下载SDK等相关资料 1.2.3 导入SDK 1.2.4 添加用户权限 1.2.5 初始化讯飞SDK 1.2.6 初始化语音识别对象 1.2.7 显示结果 二、腾讯云语音识别 …

Django一分钟:DRF生成OpenAPI接口文档

DRF项目中如果想要自动生成API文档我们可以借助drf-spectacular这个库,drf-spectacular非常强大,它可以自动从DRF中提取信息,自动生成API文档,配置简单开箱即用,并且它对很多常用的第三方如:SimpleJWT、dja…

Spark练习-RDD创建,读取hdfs上的数据,指定rdd分区

目录 RDD的创建 读取HDFS上文件数据 RDD分区指定 RDD的创建 将python数据转为rdd # 将Python数据转为rdd data [1,2,3,4] res sum(data) # 使用python的方法计算时,采用的单机资源计算,如果数据量较大时,可以将python数据转为spark的r…

JavaWeb——Vue:打包部署(Nginx、目录介绍、部署及启动、访问 )

目录 打包 部署 Nginx 目录介绍 部署及启动 访问 前端 Vue 项目的最后一步是打包部署。在当前前后端分离的开发模式中,前端开发人员开发前端代码,后端开发人员开发后端代码。最终要将开发及测试完毕的前端 Vue 代码和后端代码分开部署在对应的服…

CentOS 7.9 局域网配置指定同步时间服务器

在 CentOS 7.9 中,默认的时间同步工具是 chrony。以下是如何配置 NTP 服务器地址并使用 chrony 进行时间同步的步骤: 1. 安装 chrony(通常已经预装可忽略) 通过systemctl status chronyd检查是否已经安装启动 如果没网可以直接…

SpringBoot框架下购物推荐网站的设计模式与实现

3系统分析 3.1可行性分析 通过对本东大每日推购物推荐网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本东大每日推购物推荐网站采用JAVA作为开发语言&…

AD查看任意角度PCB的3D效果图

点击 视图 - > 切换到3维模式啥键都不按,滚动鼠标滚轮,3D图上下移动;这个很简单,经常用;按住Ctrl,滚动鼠标滚轮,3D图缩放;这个很简单,经常用;按住Shift,滚…

jenkins 插件SSH Pipeline Steps

一、安装 SSH Pipeline Steps | Jenkins plugin 二、添加全局linux服务器用户名密码:linux-142 三、新建流水线SshServer 添加Pipeline Script node {def remote [:]remote.name tstremote.host 192.168.31.142remote.allowAnyHosts truewithCredentials([usern…

【机器学习】朴素贝叶斯算法|商品评论情感分析案例介绍及代码实现

文章目录 朴素贝叶斯算法朴素贝叶斯算法介绍概率数学基础复习朴素贝叶斯算法-利用概率值进行分类的一种机器学习算法贝叶斯公式朴素贝叶斯算法拉普拉斯平滑系数 朴素贝叶斯API案例分析流程数据集代码实现运行结果 朴素贝叶斯算法 朴素贝叶斯算法介绍 概率数学基础复习 条件概…

1.4 使用Vite创建Vue 3项目

文章目录 什么是 ViteVite 的优点注意事项 创建 Vue 3 项目手动创建项目通过模板自动创建项目启动项目 Vue 3 项目目录结构Vue 3 项目运行过程项目运行过程项目关键文件 大家好,今天我们将一起学习如何使用 Vite 创建一个 Vue 3 项目。Vite 是一个现代的前端构建工具…

论文解析三: D2-Net 用于联合描述和检测局部特征的可训练CNN

目录 1.D2-Net摘要2.D2-Net关键点介绍3. Joint Detection and Description (联合检测和描述)3.1 Feature Extraction3.2 Feature Detection3.2.1 Hard feature detection (硬特征检测)3.2.1 Soft Feature Detection(软特征检测) 3…

Pandas处理时间序列之光谱分析与聚类

import matplotlib.pylab as plt %matplotlib inline import numpy as np from numpy import fft import pandas as pd 一、光谱分析 • 将时间序列分解为许多正弦或余弦函数的总和 • 这些函数的系数应该具有不相关的值 • 对正弦函数进行回归 光谱分析应用场景 基于光谱的…

comprehensive_tools之添加菜单

文章目录 安装 sass sass-loader新建Layout、styles修改配置文件App.vue修改 main.cssmain.ts删除components目录下的所有文件在router文件夹中新建routers.ts修改router/index.ts修改vite.config.tsAboutView.vue、ContactView.vue、HomeView.vueAboutView.vueContactView.vue…

2014年国赛高教杯数学建模A题嫦娥三号软着陆轨道设计与控制策略解题全过程文档及程序

2014年国赛高教杯数学建模 A题 嫦娥三号软着陆轨道设计与控制策略 嫦娥三号于2013年12月2日1时30分成功发射,12月6日抵达月球轨道。嫦娥三号在着陆准备轨道上的运行质量为2.4t,其安装在下部的主减速发动机能够产生1500N到7500N的可调节推力,…

二、PyCharm基本设置

PyCharm基本设置 前言一、设置中文汉化二、设置代码字体颜色三、设置鼠标滚轮调整字体大小四、修改 PyCharm 运行内存4.1 方式一4.1 方式二 五、显示 PyCharm 运行时内存六、设置代码模版配置的参数有: 七、PyCharm设置背景图总结 前言 为了让我们的 PyCharm 更好用…

rk3568,rk3588 , opencv 的了解。

网上的截图: 自动安装; 手动安装; 我只是 截图了一下,并没有实地的进行测试。

JAVA软开-面试经典题(7)-字符串常量池

字符串常量池 1.定义:字符串常量池(String Constant Pool),用于存放字符串常量的运行时内存结构,其底层的实现为Hashtable。 【注意】 在JDK1.6之前,字符串常量池中只会存放具体的String实例,在…