STP实验:生成树协议构建无环网络的步骤

排错-通过LLDP信息查找环路(以H3C S5100为例) 某栋宿舍楼中有多个用户报修,现场查勘后发现室内进线接主机无法获取地址,物理线路连通。因假期期间,只有少数用户留校,不能确定是否是该栋所有用户都无法上网。 阅读详情

STP实验:生成树协议构建无环网络的步骤

STP(Spanning Tree Protocol生成树协议)

​ STP生成树协议 是一种用于消除以太网环路的链路管理协议,通过构建无环树状拓扑,解决广播风暴和MAC表震荡问题,保障网络稳定性。其核心标准为IEEE 802.1D。

根交换机选举

​ 每台交换机拥有唯一的桥ID(由优先级+MAC地址组成,优先级默认为32768,需为4096的倍数)。

​ 通过交换BPDU报文,选举桥ID最小的交换机作为根交换机(如通过stp priority 4096手动指定)。

端口角色与状态

根端口:非根交换机上到达根交换机的最优路径端口(路径开销与带宽成反比)。

指定端口:每个网段中负责转发数据的端口(根交换机所有端口均为指定端口)。

阻塞端口:阻塞冗余路径,仅接收BPDU,防止环路。

BPDU交互机制

​ BPDU 是生成树协议(STP)中交换机之间交换的控制报文,用于计算网络拓扑、选举根桥、确定端口角 色,并维护生成树状态。

​ 配置BPDU:根交换机每2秒发送一次,用于维护拓扑。

​ TCN BPDU:拓扑变更时触发,通知全网重新计算生成树。

STP的核心价值

​ 稳定性:逻辑上阻断冗余链路,避免广播风暴。

​ 容错性:链路故障时,自动启用阻塞端口恢复通信。

​ 动态适应:支持拓扑变化快速收敛(如实验模拟的链路中断或设备加入场景)。

实验拓扑

在这里插入图片描述

实验需求

1、开启所有设备,等待STP收敛后观察STP状态

2、使SW4成为根网桥

3、使闭塞端口出现在SW2上

4、把SW1上连接的PC的端口配置为边缘端口实验步骤

实验步骤

一、等待STP收敛后,查看STP运行状态,找出根网桥,闭塞端口

SW1

[SW1]display stp
-------[CIST Global Info][Mode MSTP]-------
 Bridge ID           : 32768.361f-a5fd-0100
 Bridge times        : Hello 2s MaxAge 20s FwdDelay 15s MaxHops 20
 Root ID/ERPC        : 32768.3
LACP短超时和长超时对接实验 sw1和sw2互联的两条链路加入统一聚合口1,配置为动态聚合具体debug信息见文章最后SW1和SW21、默认情况下lacp为长超时,disp link-agg ver bri 1 本端和对端的flags “B”都没有置位(表示默认为长超时),debugging lacp(debugging link-aggregation lacp all)报文情况来看,sw1和sw2 的send和receive 方向lacp报文都是30秒发送一次。 阅读详情

相关推荐

生成树协议(STP)

目录前言一、STP工作原理1.1 广播风暴的形成1.2 STP简介1.3 STP工作原理1.3.1 生成树算法1.3.2 BPDU桥协议数据单元二、STP实验 前言  在实际网络中,我们会遇到广播风暴的情况,但是交换机会自己避免这个问题。但是我们要知道为什么交换机会阻塞?如实使用STB解决这个问题? 一、STP工作原理 1.1 广播风暴的形成  在通信开始时,PC1的ARP条目中没有PC2的MAC地址,根据ARP原理,PC1首先会发送一个ARP广播请求(请求PC2的MAC地址)给交换机SW1;  然..

段小宝的博客 1万+

STP生成树协议(原理+实验)

文章目录STP生成树协议原理与配置前言一、STP生成树协议的作用二、STP各种选举的报文--BPDU三、STP协议中交换机端口角色四、RSTP快速生成树协议五、MSTP多实例生成树协议实验拓扑图实验过程 STP生成树协议原理与配置 前言 交换机工作原理回顾: 1.基于源MAC地址学习 2.基于已知目标MAC地址转发 3.当目标MAC地址未知时,泛洪处理 4.交换机收到广播/组播帧时,无条件泛洪处理 5.交换机一个接口可以学习多个MAC地址 6.交换机学习到同一个MAC地址,但是是从不同的端口学习到的,此时,

chengu04的博客 8184

生成树协议STP和快速生成树协议RSTP的配置及原理

生成树协议STP和快速生成树协议RSTP:   生成树协议的由来:由于网络中会存在单点故障而导致网络无法访问,系统瘫痪,因此在网络中提供冗余链路即引入备份链路来解决单点故障问题,但是------这样做的好处是:减少单点故障,增加网络可靠性;缺点是:产生交换环路,会导致广播风暴、多帧复制、MAC地址表抖动。因此生成树协议是为了提供冗余链路,解决环路问题(作用)。 生成树协议的原理:使冗余端

表里如一 4万+

STP生成树协议基础

1、生成树技术背景 交换机单线路上联,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,业务将会中断。为了使得网络更加健壮、更具有冗余性,将拓扑修改为如下图所示。接入层交换机采用双链路上联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路及单设备故障问题。 但是这样也带来了一个大问题,就是二层物理环境存在环路。 二层环路的危害是严重的,有可能会导致广播...

律己且好学,才能保证不坠入愤世嫉俗之列。 7687

数据通信基础:生成树协议(STP)、快速生成树协议(RSTP)与eNSP实验

环路保护:根端口或预备端口,如果根端口或预备端口长时间收不到来自上游设备的BPDU报文时,端口会进入Discarding状态,角色切换为指定端口,不转发报文,从而不会在网络中形成环路。EP端口,边缘端口,接入终端设备的端口并不需要发送BPDU,同时也为了保障交换网络的稳定性需要将终端接入端口设置为边缘端口。AP端口,备用端口,该端口是去往根桥的次优端口,可以理解为备用的RP端口,当RP失效,AP端口将成为新的RP。指定端口 DP:根桥的口,每条物理链路有且只有一个,转发来自根桥的STP报文。

2301_79989103的博客 2206

生成树协议——STP 详解(day 5)

STP 生成树协议 分享今日: 参考博客链接: RSTP协议 STP 协议 MSTP 文章目录STP 生成树协议1. 环路问题1.1 广播风暴1.2 MAC地址表翻转1.3 多帧复制2. STP 作用2.1 作用2.2 基本术语2.2.1 桥(Bridge)2.2.2 桥MAC地址2.2.3 桥 ID(BID)2.2.4 端口 ID(PID)3. STP 树的生成3.1 选举根桥3.2 确定根端口3.2.1思科选取根端口优先顺序:3.2.2 华为选取根端口优先顺序:3.3 确定指定端口3.3.1 思科设备指

weixin_43522969的博客 4413

STP生成树协议概述与实验

STP是一种二层网络协议,用于在具有冗余链路的网络中防止网络环路的产生。通过自动协商选择出一个无环路的网络拓扑结构。其主要原理是通过在交换机之间交换BPDU(桥协议数据单元)来确定网络中的根桥、根端口、指定端口等角色,从而构建一棵无环的生成树,阻塞某些端口以防止环路,同时又能在活动链路出现故障时自动激活备用链路,保证网络的可靠性和连通性。

qq_44846097的博客 4450

GMSL2 协议与技术 第一部分

默认情况下,自动的链路配置功能是使能的(AUTO_LINK = 1),这表示器件将试图锁定在single link模式,它将自动监测是否PHY-A或者PHY-B已经连接到了远端的器件,并且使能这个已连接的PHY,如果PHY-A和PHY-B同时连接到了远端的器件,它将使用首先探测到的连接进入single link 模式。另外,链路失锁同样也会发生在串行器或者解串器掉电的情况下,掉电的器件重新上电后,链路锁定会自动重新建立,而视频数据和控制通道的配置需要重新写入寄存器。

八哥望春的博客 4946

FortiOS路径遍历漏洞CVE-2022-41328实战复现:从环境搭建到漏洞利用全记录

本文深入解析FortiOS路径遍历漏洞CVE-2022-41328,从漏洞背景、影响范围到技术原理进行全面剖析。提供详细的漏洞复现环境搭建步骤和实战利用方法,并给出官方修复方案与临时缓解措施,帮助企业有效防御此类防火墙漏洞风险。

weixin_30485379的博客 522

保姆级教程:用ROS2 Humble和激光雷达,5分钟搞定机器人避障(附Python代码)

本文提供了一份详细的ROS2 Humble激光雷达避障实战指南,帮助开发者快速实现机器人避障功能。通过环境配置、硬件连接和Python代码实现,5分钟内即可让机器人自主避开障碍物。文章还涵盖了参数调优、常见问题排查及进阶优化技巧,适合机器人开发初学者和进阶用户。

weixin_42528902的博客 342

从频谱分析到硬件加速:用ZYNQ-7020+FFT IP核实现实时信号处理的完整方案

本文详细介绍了如何利用ZYNQ-7020和FFT IP核实现实时信号处理的完整方案,涵盖系统架构设计、硬件加速实现及性能优化。通过异构计算架构,该方案将1024点FFT处理延迟压缩至28μs,显著提升工业自动化和无线通信等领域的实时频谱分析效率。

weixin_33704234的博客 467

UReport2 报表设计器 在线表格

UReport2官网 一、UReport2报表设计器 UReport2是一个开源的可视化报表设计器,功能强大,操作简单,可以实现复杂的报表统计,有各种各样的导出和打印功能,支持导入Excel表格! 1、报表设计器 2、设计一个简单的用户列表展示 二、可编辑表格 扩展了layui的表格,支持多元化数据编辑(单选,多些、日期、下拉联动),开发简单、高效、便捷。有了它就可以轻松开发类似进销存系统的表格录入功能了,用户拿来即用! 三、主从表录......

ejinxian的专栏 2万+

银河麒麟系统安装redis【亲测可行】

架构:Linux 5.10.0-9-generic x86_64 GNU/Linux。redis版本:redis-6.2.3.tar.gz。然后在执行make install,结束;OS:银河麒麟V10(SP1)未激活。cpu:I5-10代;

lx_nhs的博客 3333

ChangeMamba训练调试

此仓库的代码是在 Linux 系统下运行的。我们尚未测试是否能在其他操作系统下运行。 首先需要安装VMama仓库。以下安装顺序取自VMama仓库。克隆该版本库并导航至项目目录: 建议设置 conda 环境并通过 pip 安装依赖项。使用以下命令设置环境: 创建并激活新的 conda 环境 安装依赖项 检测和分割任务的依赖库(在 VMamba 中为可选项) 二、下载预训练权重 另外,请下载VMamba-Tiny, VMamba-Small, and VMamba-Base在ImageNet上的预训练权重并把它

hanfeng5268的博客 576

Cesium圆形波纹/雷达扩散效果扩展类CircleWaveMaterialProperty

本文是基于原创内容进行部分修改,原文出处:https://blog.youkuaiyun.com/chudage11/article/details/101632482 SuperMapCesium支持该类似扩展类,以下是原生Cesium调用扩展类CircleWaveMaterialProperty说明 1.扩展类CircleWaveMaterialProperty.js import*asCesiumfrom'cesium' varCircleWaveMaterial={ Circl...

一碗老面的博客 2998

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: RIP实验
下一篇: OSPF协议详解:从理论到实践的全网互通实现
Sadsvit
博客等级 码龄1年 198粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值