当前位置: 首页 > article >正文

生成树技术华为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.kler.cn/a/233937.html

相关文章:

  • 微服务架构面试内容整理-API 网关-Gateway
  • uni-app移动端与PC端兼容预览PDF文件
  • Rust 所有权机制
  • 系统上线后发现bug,如何回退版本?已经产生的新业务数据怎么办?
  • uniapp+vue2 设置全局变量和全局方法 (兼容h5/微信小程序)
  • 6.2 对角化矩阵(2)
  • 滑块识别验证
  • 2、卷积和ReLU激活函数
  • Rust基础拾遗--进阶
  • Linux 命令行的世界 :3.探索操作系统
  • 【心得】关于STM32中RTC的校准方法
  • 【数学建模】【2024年】【第40届】【MCM/ICM】【B题 搜寻潜水器】【解题思路】
  • 离线数仓(一)【数仓概念、需求架构】
  • 回归预测模型:MATLAB多项式回归
  • 中国判决生效,诺基亚全面与中国手机签署授权协议,降低专利费
  • STM32的ADC电压采集
  • Python和Java的区别(不断更新)
  • 算法学习——LeetCode力扣字符串篇
  • DolphinScheduler-3.2.0 集群搭建
  • Golang-Map有序输出——使用orderedmap库实现
  • 机器学习复习(8)——逻辑回归
  • Springboot启动出现Waiting for changelog lock...问题
  • docker进阶 问题1
  • vue3 可视化大屏自适应屏幕组件
  • (四)elasticsearch 源码之索引流程分析
  • 学习总结15