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

9.生成树

目录

9.生成树

9.1.生成树技术概述

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

9.3.STP的基础配置

9.4.RSTP对STP的改进

9.5.生成树技术进阶


9.1.生成树技术概述

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

典型问题1:广播风暴

典型问题2:MAC地址漂移

初识生成树协议

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

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

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

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

二层及三层环路

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

STP概述

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

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

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

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

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

STP的基本概念:桥ID

STP的基板概念:根桥

STP的基本概念:Cost

根路径开销

STP的基本概念:Port ID

STP的基本概念:BPDU

配置BPDU的比较原则

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

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

  1. 最小的根桥ID

  2. 最小的RPC

  3. 最小的网桥ID

  4. 最小的接口ID

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

配置BPDU的转发过程

STP的计算过程

STP的接口状态

STP的接口状态迁移

拓扑变化 - 根桥故障

拓扑变化 - 直连链路故障

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

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

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进行了优化,加速针对拓扑变更的反应速度。

边缘端口

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

端口状态不同

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

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

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

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

9.5.生成树技术进阶

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

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

MSTP:多生成树

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

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

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

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

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

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

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

Smart Link

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

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

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

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

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

相关推荐
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
Sinclair2 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
Rockbean3 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
茶杯梦轩3 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php