生成树技术华为ICT网络赛道

9.生成树

目录

9.生成树

9.1.生成树技术概述

9.2.STP的基本概念及工作原理

9.3.STP的基础配置

9.4.RSTP对STP的改进

9.5.生成树技术进阶


9.1.生成树技术概述

技术背景:二层交换机网络的冗余性与环路

1699459448217

典型问题1:广播风暴

典型问题2:MAC地址漂移

初识生成树协议

1699459831024

在网络中部署生成树,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路。

生成树能够动态响应网络拓扑变化调整阻塞接口

1699460224579

交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。

因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。

二层及三层环路

1699460531489

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

1699460608614

STP概述

STP是一个用于局域网中消除环路的协议。

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

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

由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。

9.2.STP的基本概念及工作原理

STP的基本概念:桥ID

1699515760484

STP的基板概念:根桥

1699515855747

STP的基本概念:Cost

1699516014426

根路径开销

1699516038340

STP的基本概念:Port ID

1699516155292

STP的基本概念:BPDU

1699516417337

1699519252894

配置BPDU的比较原则

对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑。在拓扑计算的过程中,一个非常重要的内容就是配置BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥1D”、“根路径开销”、“网桥ID”以及“接口ID”,这四个字段便是交换机进行配置BPDU比较的关键内容。

STP按照如下顶序选择最优的配置BPDU:

  1. 最小的根桥ID

  2. 最小的RPC

  3. 最小的网桥ID

  4. 最小的接口ID

在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。

配置BPDU的转发过程

1699519708159

STP的计算过程

1699519935348

1699519991005

1699520077931

STP的接口状态

1699520444259

STP的接口状态迁移

1699520557098

拓扑变化 - 根桥故障

1699520679687

拓扑变化 - 直连链路故障

1699520764721

拓扑变化 - 非直连链路故障

非直连链路故障后,SW3的备用端口恢复到转发状态,非直连故障会导致50s左右的恢复时间。

1699520870524

9.3.STP的基础配置

交换机支持STP、RSTP和MSTP(Multiple Spanning Tree Protocol)三种生成树工作模式,默认情况工作在MSTP模式。

  • 开启STP生成树。

[LSW1] stp enable
  • 使用STP模式。

[LSW1] stp mode stp
  • 配置设备优先级。

[LSW1] stp priority 0~61440
  • 强制设置成为根桥。

[LSW1] stp root primary
  • 强制设置成为备用根桥。

[LSW1] stp root secondary

9.4.RSTP对STP的改进

STP的不足之处

STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网终中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。

STP没有细致区分接口状态和接口角色,不利于初学者学习及部署。

网络协议的优劣往往取决于协议是否对各种情况加以细致区分。

  1. 从用户角度来讲,Listening、disable和B1 ocking状态并没有区别,都同样不转发用户流量。

  2. 从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。

  3. 根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态

STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。

STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。

RSTP概述

IEEE 802.1w中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。

STP引入了新的接角色,其中替代接口的引入使得交换机在根接口失效时,能够立即获得新的路径到达根桥。备份端口作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径。RSTP的状态规范根据端口是否转发用户流量和学习MAC地址把原来的5种状态缩减为3种。另外,RSTP还引入了边缘接口的概念,这使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,提高了工作效率。

RSTP对STP的其它改进

配置BPDU的处理发生变化:

  1. 拓扑稳定后,配置BPD报文的发送方式进行了优化

  2. 使用更短的BPDU超时计时

  3. 对处理次等BPDU的方式进行了优化

配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口角色

RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度。

边缘端口

如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。

1699522361782

端口状态不同

RSTP的状态规范把原来的5种状态缩减为3种。

  1. 如果不转发用户流量也不学习MAC地址,那么接口状态就是Discarding状态

  2. 如果不转发用户流量但是学习MAC地址,那么接口状态就是Learning状态。

  3. 如果既转发用户流量又学习MAC地址,那么接口状态就是Forwarding状态。

1699522525333

9.5.生成树技术进阶

RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。

但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。

1699522638603

MSTP:多生成树

1699522891752

MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。

每棵生成树叫做一个多生成树实例MSTI(Multiple Spannin品Tree Instance)。

所谓生成树实例就是多个VLAN的集合所对应的生成树。

通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。

MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。

可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在接口上的转发状态取决于接口在对应实例的状态。

堆叠与园区网络树形结构组网状态

1699522975661

Smart Link

1699523031597

Smart Link是一种为双上行组网量身定做的解决方案:

  1. 在双向行的设备上部署,当网络正常时,两条上行链路中,一条处于活跃状章而另一条则处于备份状态(不承载业务流量)。如此一来二层环路就此打破。

  2. 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,保证了数据的正常转发。

  3. Smart Link配置简单,便于用户操作。

  4. 无需协议报文交互,收敛速度及可靠性大大提升。

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

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

相关文章

深入理解C语言(4):文件操作详解

文章主题:文件操作详解🌏所属专栏:深入理解C语言📔作者简介:更新有关深入理解C语言知识的博主一枚,记录分享自己对C语言的深入解读。😆个人主页:[₽]的个人主页🏄&#x…

洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法

这道题的关键在于去重和排序,去重可以联想到集合,那排序直接使用sort方法。 n int(input()) data set(map(int,input().split( ))) data list(data) data.sort() print(len(data)) for i in data:print(i,end )

进阶C语言-动态内存管理

动态内存管理 🎈1.为什么存在动态内存分配🎈2.动态内存函数的介绍🔭2.1malloc和free函数🔭2.2calloc函数🔭2.3realloc函数 🎈3.常见的动态内存错误🔭3.1对NULL指针的解引用操作🔭3.2…

PLC_博图系列☞FBFC

PLC_博图系列☞FB&FC 文章目录 PLC_博图系列☞FB&FC背景介绍FB&FC与C 类比博图中定义函数块 (FB)函数 (FC) 关键字: PLC、 西门子、 博图、 FC 、 FB 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的P…

新项目,从0到1,SpringBoot+Vue.js权限管理系统,拿去做毕设

大家好,我是 jonssonyan 最近把以前做的权限管理系统重新整理了一下(将一些不规范的地方规范了一下,并且在关键地方写了注释),代码全部开源,这个项目是以现在主流的前后端分离模式开发的,包含前…

面试经典150题——串联所有单词的子串(困难)

"Opportunities dont happen, you create them." ​ - Chris Grosser 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 遇见这种可能刚开始没什么思路的问题,先试着按照人的思维来求解该题目。对于一个人来讲,我想要找到 s 字符串中…

AJAXJSON入门篇

AJAX&JSON 概念:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用: 与服务器进行数据交换:通过AJAX可以给服务器发送请求,并获取服务器响应的数据 使用了AJAX和服务器进行通信,就可以使用H…

基于servlet编写的表白墙项目(后端代码 含数据库操作)

前提准备 项目前端代码和效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"…

C语言——枚举类型

&#x1f4dd;前言&#xff1a; 在之前的文章中我们已经讲解了自定义类型中的结构体类型和联合体类型&#xff0c;现在我们再充分学习一下C语言中的枚举类型&#xff1a; 1&#xff0c;什么是枚举类型 2&#xff0c;枚举类型的定义和变量的声明 3&#xff0c;对变量进行赋值 &a…

455. Assign Cookies(分发饼干)

题目描述 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有一个…

OpenCompass 大模型评测

在浦语的大模型评测教程课程中&#xff0c;你可能需要完成的任务包括&#xff1a; 先修知识准备&#xff1a;这里你需要理解并掌握深度学习、NLP和PyTorch等相关知识。因为这些都是进行大模型评测的基础。模型理解&#xff1a;你需要对你要评测的模型有一个全面的理解&#xf…

FPGA实现ISP用于无人车、无人机配送的方案调研

查到一个always 奥唯思公司做的用FPGA实现ISP的方案&#xff0c;采用易灵思钛金16nm的FPGA Ti60F225&#xff0c;通过MIPI CSI RX采集图像传感器的数据&#xff0c;在FPGA内部经过一系列复杂的ISP运算后&#xff0c;再通过MIPI CSI TX将图像数据发送给后端。 一套完整的ISP&a…

【算法分析与设计】环形链表

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次…

实景剧本杀小程序:创新体验,沉浸式推理乐趣

随着科技的飞速发展&#xff0c;人们对于娱乐方式的追求也在不断升级。传统的桌面剧本杀游戏已经不能满足玩家的需求&#xff0c;他们渴望更加真实、刺激的游戏体验。正是这种需求推动下&#xff0c;实景剧本杀小程序应运而生&#xff0c;为玩家带来前所未有的推理乐趣。 实景…

【基础】第K大与第K小数

说明 给定一个长度为N(0< n< 10000)的序列&#xff0c;保证每一个序列中的数字a[i]是正整数 &#xff0c;编程要求求出整个序列中第k大的数字减去第k小的数字的值m&#xff0c;并判断m是否为质数。(0< k< n) 输入数据 第一行为2个数n&#xff0c;k&#xff08;…

ChatGPT高效提问—prompt常见用法(续篇八)

ChatGPT高效提问—prompt常见用法(续篇八) 1.1 对抗 ​ 对抗是一个重要主题,深入探讨了大型语言模型(LLM)的安全风险。它不仅反映了人们对LLM可能出现的风险和安全问题的理解,而且能够帮助我们识别这些潜在的风险,并通过切实可行的技术手段来规避。 ​ 截至目前,网络…

【Android】使用Android Studio打包APK文件

文章目录 1. 新建项目2. 打包生成APK3. 安装APK 1. 新建项目 打包APK之前&#xff0c;首先需要新建项目&#xff0c;有基础的可以跳过。 无基础的可以参考&#xff1a;使用Android Studio运行Hello World项目 2. 打包生成APK 1.找到Build -> Generate Signed Bundle or …

AMD FPGA设计优化宝典笔记(4)复位桥

高亚军老师的这本书《AMD FPGA设计优化宝典》&#xff0c;他主要讲了两个东西&#xff1a; 第一个东西是代码的良好风格&#xff1b; 第二个是设计收敛等的本质。 这个书的结构是一个总论&#xff0c;加上另外的9个优化&#xff0c;包含的有&#xff1a;时钟网络、组合逻辑、触…

机器视觉范例及深入

1.做一个魔法棒吧 获得了物体的坐标后&#xff0c;可以用它来完成一些有趣的事情&#xff0c;例如把物体当作“笔”在图像 上绘制出图样。我们可以选择一种颜色的黏土&#xff0c;将其固定在任意棒状物&#xff08;例如铅笔&#xff09;的一端 并揉成球形&#xff0c;做一个 …