
1. 为什么还要聊RSTP从一次真实故障说起很多刚入行的网络工程师会觉得STP生成树协议这东西太老了现在都什么年代了还在讲这个我一开始也这么想直到有一次帮朋友处理一个不大不小的网络故障才彻底改变了看法。那是一个典型的小型办公网络核心交换机双机堆叠接入层交换机双上行到核心拓扑上看起来是标准的冗余设计按理说应该很稳。结果某天上午整个办公区网络开始间歇性卡顿ping网关丢包率一度飙到30%以上但奇怪的是核心和接入的CPU利用率都不高端口也没有明显的错包。排查了大半天最后定位到的问题让人哭笑不得接入交换机上跑的是默认的STP而核心侧因为某些历史配置原因优先级被改成了一个比接入还大的值导致根桥选举结果和设计预期完全反了。更麻烦的是默认STP的收敛速度在拓扑变化时慢得让人抓狂每次链路切换都要等几十秒这期间业务基本处于半瘫痪状态。那次之后我就明白了一个道理STP不是过时了而是很多人根本没把它配明白。而RSTP快速生成树协议作为STP的进化版本在收敛速度和拓扑变化处理上有了质的提升却依然被大量初学者忽略。这篇文章就是写给那些正在学网络基础、准备考华为HCIA/HCIP或者刚入行做网络运维的朋友。我会把RSTP的核心理论掰开揉碎讲清楚然后手把手带你在华为ENSP模拟器上完成一套完整的配置。你不需要有很深的网络功底只要知道交换机的基本操作跟着走一遍就能把RSTP的脾气摸个七七八八。文章里我会穿插一些自己踩过的坑和实际调试中的小技巧这些内容你在官方文档里大概率看不到但关键时刻能帮你省下好几个小时的排查时间。2. RSTP核心理论拆解它到底快在哪里2.1 从STP的痛点说起为什么需要RSTP要理解RSTP的价值得先知道STP到底哪里不够用。STP802.1D的核心任务是防止二层环路它通过阻塞冗余端口来构建一棵无环的树。这个逻辑本身没问题问题出在它的收敛机制上。STP的端口状态有五种Disabled、Blocking、Listening、Learning、Forwarding。当拓扑发生变化时一个端口从阻塞状态切换到转发状态需要经历Listening15秒和Learning15秒两个阶段再加上Blocking状态下的Max Age20秒等待时间最坏情况下要50秒才能恢复通信。50秒是什么概念对于现在的办公网络来说50秒的断网足以让整个办公室的人站起来问“网是不是坏了”。STP之所以设计得这么慢是因为它采用的是被动等待的机制。交换机之间通过BPDU桥协议数据单元交换信息但BPDU的发送间隔是2秒而且只有根桥才会周期性发送非根桥只是转发。一旦拓扑变化非根桥需要等Max Age超时才能感知到然后重新计算。这种“等通知”的模式在早期网络中勉强够用但在现代网络中显然太慢了。RSTP802.1w的核心改进思路就是主动协商。它不再被动等待BPDU超时而是通过一种叫做“提议-同意”Proposal-Agreement的握手机制让端口之间快速确认状态从而实现秒级甚至亚秒级的收敛。这个握手机制是RSTP最精髓的部分后面我会详细讲。2.2 RSTP的端口角色不再只有根和指定STP里端口角色只有根端口Root Port和指定端口Designated Port非根非指定的就是阻塞。RSTP把端口角色细化成了四种这个变化很关键因为它直接影响了拓扑收敛的速度和路径选择。根端口Root Port和STP一样指向根桥方向最优的端口每个非根桥有且只有一个。指定端口Designated Port每个网段上负责向该网段转发BPDU的端口也是该网段上离根桥最近的端口。替代端口Alternate Port这是RSTP新增的角色。它是因为收到了其他交换机发送的更优BPDU而被阻塞的端口相当于根端口的备份。一旦根端口失效替代端口可以立刻切换成新的根端口不需要等待重新计算。备份端口Backup Port也是新增角色它是因为收到了自己发送的更优BPDU而被阻塞的端口相当于指定端口的备份。这种端口通常出现在同一台交换机的两个端口连接到同一个共享网段的情况下。替代端口和备份端口的引入让RSTP具备了快速故障切换的能力。因为备份路径已经提前“准备好”了只是处于阻塞状态一旦主路径出问题直接切换就行不需要从头计算。2.3 端口状态简化从五种到三种STP的五种端口状态在RSTP里被精简成了三种Discarding丢弃、Learning学习、Forwarding转发。Discarding状态合并了STP里的Disabled、Blocking和Listening。也就是说端口不转发数据帧也不学习MAC地址但会参与BPDU的处理。这个合并的逻辑是既然这三种状态都不转发数据也不学MAC那区分它们对数据转发来说没有意义不如统一成一种简化状态机。Learning状态和STP一样不转发数据帧但开始学习MAC地址为转发做准备。Forwarding状态就是正常转发数据帧和学习MAC地址。状态简化带来的好处是状态机更简单端口在不同状态之间的迁移路径更短收敛自然更快。而且RSTP里端口的角色和状态是解耦的一个替代端口在Discarding状态下随时可以变成根端口并进入Forwarding不需要经历Listening阶段。2.4 快速收敛的核心提议-同意握手机制这是RSTP最核心的机制也是它比STP快的最主要原因。我尽量用大白话把它讲清楚。假设有两台交换机SWA和SWBSWA是根桥SWB是非根桥它们之间有一条链路。在STP里SWB的端口要经过Listening和Learning才能转发。但在RSTP里过程是这样的SWA在它的指定端口上发送一个**Proposal提议BPDU意思是“我想让你这个端口快速进入转发状态你同意吗”SWB收到后如果发现这个端口是它的根端口它会先把所有其他非边缘端口置为Discarding状态防止环路然后回复一个Agreement同意**BPDU意思是“我同意你那边可以转了。”SWA收到Agreement后立刻把它的指定端口置为Forwarding。同时SWB的根端口也直接进入Forwarding。整个过程不需要计时器等待就是一次握手毫秒级完成。这个机制叫做同步它保证了在快速收敛的同时不会产生临时环路。你可以把它理解成两个人过独木桥先喊一嗓子“我要过去了”对方回应“好的你过吧”然后双方同时行动而不是各自闷头走。注意提议-同意机制只在点对点链路全双工上生效。如果是半双工或者共享网段RSTP会退化成类似STP的慢收敛模式。所以实际部署中交换机之间的互联端口一定要配置成全双工。2.5 边缘端口接入设备的福音RSTP里还有一个非常实用的概念叫边缘端口Edge Port。边缘端口是指那些连接到终端设备比如PC、服务器、打印机的端口这些端口不可能产生环路所以不需要参与生成树计算。配置成边缘端口后端口一插上网线就立刻进入Forwarding状态不用等30秒也不用参与提议-同意握手。这个特性在实际办公网络里太有用了。你想想员工把电脑插到墙上如果还要等30秒才能上网那体验得多差。配了边缘端口插上就能用和没跑生成树一样快。但要注意边缘端口一旦收到BPDU就会立刻失去边缘端口属性重新参与生成树计算这是为了防止有人误接交换机导致环路。华为交换机上配置边缘端口的命令是stp edged-port enable在接口视图下执行。我一般会在所有接入口上批量配置这个命令省得一个个点。2.6 RSTP的BPDU更主动、更频繁RSTP的BPDU格式和STP基本兼容但做了一些扩展。最明显的变化是所有交换机都会周期性发送BPDU而不仅仅是根桥。在STP里只有根桥发送BPDU非根桥只是转发。RSTP里每台交换机每2秒Hello Time都会从自己的指定端口发送BPDU这样任何一台交换机都能快速感知到链路故障。另外RSTP的BPDU里有一个Flags字段被扩展了用来携带端口角色和状态信息以及提议和同意的标志位。这个字段是提议-同意机制能够工作的基础。还有一个重要的变化是Max Age的快速老化机制。在STP里如果连续3个Hello时间6秒没收到BPDU端口才会认为邻居失效。RSTP里如果连续3个Hello时间没收到BPDU交换机会立刻认为该端口对应的链路故障并触发快速收敛。这个时间从20秒缩短到了6秒也是一个不小的提升。3. 华为ENSP实验环境搭建与基础配置3.1 ENSP安装与初始化设置华为ENSPEnterprise Network Simulation Platform是学华为网络技术必备的模拟器免费且功能强大。如果你还没装去华为官网下载最新版本就行。安装过程没什么好说的一路下一步但有几个坑我得提前说第一ENSP依赖VirtualBox安装ENSP之前最好先装好VirtualBox版本不要太新也不要太旧5.2.x或者6.0.x比较稳。太新的版本有时候会和ENSP的兼容性出问题导致设备启动失败。第二安装路径不要有中文和空格这是很多模拟器的通病ENSP也不例外。我一般直接装在D:\ENSP这种简单路径下。第三安装完成后第一次启动ENSP要以管理员身份运行否则可能会因为权限问题导致设备注册失败。启动后如果提示“未注册设备”去菜单栏的“工具”里点“注册设备”全选然后注册等几分钟就好了。第四ENSP对电脑配置有一定要求尤其是内存。如果你要同时跑多台交换机做实验建议至少16GB内存不然会卡得你想砸电脑。CPU倒还好近几年的i5以上都够用。3.2 实验拓扑设计三台交换机的小型网络为了把RSTP的核心机制都演示到我设计了一个简单的三台交换机拓扑。这个拓扑虽然小但包含了根桥选举、替代端口、边缘端口、链路故障切换等关键场景足够我们把RSTP的脾气摸清楚。拓扑结构是这样的SW1、SW2、SW3三台交换机组成一个三角形。SW1和SW2之间有一条链路SW1和SW3之间有一条链路SW2和SW3之间也有一条链路。SW1上连接一台PCPC1SW2上连接一台PCPC2SW3上连接一台PCPC3。所有交换机之间的链路都是千兆以太网全双工。所有连接PC的端口都配置为边缘端口。这个三角形拓扑的好处是它天然存在一个环路SW1-SW2-SW3-SW1生成树必须阻塞其中一个端口来破环。同时任意一条链路断开都有备用路径可以切换非常适合观察RSTP的收敛行为。在ENSP里拖出三台S5700交换机或者S3700也行看你的ENSP版本里有什么三台PC然后用Copper线连接。连接的时候注意端口编号我一般习惯用GE0/0/1、GE0/0/2这样的端口方便记忆。3.3 基础IP地址规划与VLAN配置虽然RSTP是二层协议不依赖IP地址但为了后面测试连通性我们还是给PC配个IP。规划如下设备IP地址子网掩码网关PC1192.168.1.1255.255.255.0192.168.1.254PC2192.168.1.2255.255.255.0192.168.1.254PC3192.168.1.3255.255.255.0192.168.1.254所有PC都在同一个网段这样它们之间的通信完全依赖二层转发正好用来验证RSTP的路径选择。交换机上不需要配IP但为了管理方便可以给每台交换机配一个VLAN 1的IP实际生产环境不建议用VLAN 1这里为了简单。不过这个实验里我们主要看生成树状态管理IP不是必须的可以先不配。VLAN方面为了简单起见所有端口都放在默认的VLAN 1里。实际生产环境肯定会划分VLAN但RSTP的配置逻辑和VLAN无关每个VLAN跑一棵独立的生成树PVST模式或者所有VLAN共享一棵MSTP模式。华为交换机默认是MSTP模式但可以兼容RSTP。我们这里先讲RSTP的基础配置MSTP后面有机会再聊。4. RSTP在华为交换机上的完整配置流程4.1 全局启用RSTP模式华为交换机默认的生成树模式是MSTP多生成树协议MSTP兼容STP和RSTP但如果你想明确使用RSTP的特性最好把模式改成RSTP。命令很简单在系统视图下[SW1] stp mode rstp三台交换机都要执行这个命令。改完模式后生成树会重新计算这时候你会看到端口状态有一个短暂的震荡这是正常的。提示华为交换机支持四种STP模式STP、RSTP、MSTP、VBST。VBST是华为私有的基于VLAN的生成树和思科的PVST类似。一般推荐用MSTP因为它在兼容性和灵活性上最好。但如果你只需要RSTP的功能直接配RSTP模式更简单。改完模式后可以用display stp命令查看当前模式是否生效。输出里会有一行“Protocol Status: Enabled”和“Protocol Standard: RSTP”看到RSTP就对了。4.2 配置根桥和备份根桥生成树的核心是根桥选举根桥是整个树的根所有路径计算都以它为基准。根桥选举的依据是桥IDBridge ID桥ID由优先级2字节和MAC地址6字节组成优先级越小越优先优先级相同则MAC地址越小越优先。华为交换机默认优先级是32768。为了控制根桥选举结果我们需要手动指定优先级。一般来说核心交换机应该成为根桥接入交换机作为非根桥。在这个实验里我们把SW1配成根桥SW2配成备份根桥SW3保持默认。[SW1] stp root primary [SW2] stp root secondarystp root primary命令实际上是把优先级设成了0stp root secondary是把优先级设成了4096。你也可以手动用stp priority 0来设置效果一样。用root primary的好处是命令更直观而且交换机会自动检查是否已经有其他根桥避免冲突。配置完成后用display stp查看SW1的“CIST Root/ERPC”应该显示自己是根桥SW2和SW3应该显示根桥是SW1的桥ID。注意如果网络里已经有一台优先级为0的交换机你再配stp root primary华为交换机会报错提示“Error: There is already a root bridge in the network.”这时候你需要先确认那台交换机是不是应该做根桥如果不是手动改它的优先级。4.3 边缘端口配置与BPDU保护边缘端口是RSTP里提升接入体验的关键配置。在SW1、SW2、SW3连接PC的端口上我们都要配成边缘端口。假设PC1接在SW1的GE0/0/10口PC2接在SW2的GE0/0/10口PC3接在SW3的GE0/0/10口。配置如下[SW1] interface GigabitEthernet 0/0/10 [SW1-GigabitEthernet0/0/10] stp edged-port enable [SW1-GigabitEthernet0/0/10] quitSW2和SW3同理。配完边缘端口后这些端口会立刻进入Forwarding状态PC插上就能通。但边缘端口有个风险如果有人把一台交换机接到这个端口上而交换机又发送BPDU边缘端口就会失去边缘属性重新参与生成树计算可能导致网络震荡。为了防止这种情况可以开启BPDU保护功能[SW1] stp bpdu-protection开启BPDU保护后如果边缘端口收到了BPDU交换机会自动把这个端口关闭Error-Down并记录日志。这样就能防止非法设备接入导致的问题。端口被关闭后需要管理员手动恢复undo shutdown或者配置自动恢复。实操心得BPDU保护在生产环境里几乎是必配的。我见过好几次因为员工私接路由器或者交换机导致整个楼层网络瘫痪的案例配了BPDU保护后最坏情况只是那个端口被关掉不会影响其他人。4.4 链路类型与点对点配置RSTP的快速收敛依赖于点对点链路。华为交换机默认会根据双工模式自动判断链路类型全双工认为是点对点半双工认为是共享。但有时候自动判断会出错比如某些光模块或者中间有传输设备的情况。为了保险起见可以手动指定[SW1] interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1] stp point-to-point force-true [SW1-GigabitEthernet0/0/1] quit交换机之间的互联端口都建议这么配。PC接入的端口不需要因为边缘端口不参与提议-同意握手。4.5 验证RSTP运行状态配置完成后用几个命令来验证RSTP是否按预期工作。第一个命令是display stp brief这个命令最常用输出简洁明了[SW1] display stp brief输出会显示每个端口的角色ROOT/DESIGNATED/ALTERNATE/BACKUP、状态DISCARDING/LEARNING/FORWARDING和保护类型。正常情况下SW1作为根桥所有端口应该都是DESIGNATED和FORWARDING除了连接PC的边缘端口也是DESIGNATED/FORWARDING。SW2和SW3应该各有一个ROOT端口一个DESIGNATED端口一个ALTERNATE端口。第二个命令是display stp输出更详细包括桥ID、根桥ID、端口优先级、路径开销等信息。这个命令用来排查根桥选举和路径计算问题。第三个命令是display stp interface GigabitEthernet 0/0/1查看指定端口的详细生成树信息包括端口角色、状态、优先级、开销、保护功能等。我一般会先跑display stp brief看整体如果有异常再跑display stp看细节。这两个命令配合使用基本能定位90%的生成树问题。5. 常见问题与排查技巧实录5.1 根桥选举不符合预期怎么办这是最常见的问题。你明明把SW1配成了根桥结果display stp一看根桥是SW3。原因通常有几个一是优先级没生效。检查display stp输出里的“CIST Bridge”字段看看优先级是不是你设的值。如果还是32768说明配置没成功可能是命令敲错了或者没保存。二是MAC地址比较。如果两台交换机的优先级相同就会比较MAC地址MAC小的成为根桥。华为交换机的MAC地址是出厂固定的你没法改。所以如果优先级相同根桥是谁就看运气了。解决办法就是确保只有一台交换机配了最低优先级。三是配置了stp root primary但网络里已经有根桥了。前面说过华为交换机会检测并报错。如果你没注意报错信息以为配上了实际上没生效就会出现根桥不是SW1的情况。排查步骤先在每台交换机上跑display stp找到“CIST Root”字段看看根桥的桥ID是多少。然后对比“CIST Bridge”字段看看自己的桥ID。如果自己的桥ID和根桥ID不一样说明自己不是根桥。再检查优先级配置确认没有冲突。5.2 端口一直处于Discarding状态端口不转发业务不通这是最让人着急的问题。可能的原因一是端口角色是Alternate或Backup。这是正常的说明这个端口被生成树阻塞了用来防止环路。如果你希望这个端口转发需要调整路径开销或者优先级让生成树重新计算。二是端口配置了BPDU保护且收到了BPDU。检查端口状态如果是Error-Down说明BPDU保护触发了。用display stp interface查看详情确认后手动恢复端口。三是链路类型配置错误。如果端口是半双工RSTP会退化成慢收敛端口可能长时间处于Discarding。检查双工模式确保是全双工。四是收到了优先级更优的BPDU。比如你接了一台优先级为0的交换机你的端口就会变成Alternate。这种情况需要确认那台交换机是不是应该做根桥如果不是改它的优先级。5.3 拓扑变化导致网络震荡网络震荡的表现是端口状态频繁切换CPU利用率升高业务时断时续。常见原因一是边缘端口配置不当。如果接入口没有配边缘端口PC插拔会导致生成树重新计算引起震荡。解决办法就是配边缘端口和BPDU保护。二是链路故障频繁。比如网线接触不良、光模块老化导致端口Up/Down频繁。这种情况需要检查物理层替换故障硬件。三是存在单向链路。比如光纤只收不发导致BPDU单向传输生成树认为链路正常但实际数据不通。可以开启stp loop-protection或者stp root-protection来防护。四是攻击行为。比如有人发送伪造的BPDU试图成为根桥。可以开启stp bpdu-filter或者stp root-guard来防护。5.4 RSTP与STP混用时的兼容性问题实际网络中可能有些老设备只支持STP不支持RSTP。当RSTP交换机遇到STP交换机时会自动降级到STP模式运行收敛速度也会变慢。这是正常的兼容行为但你要知道这个网段的速度会受影响。如果可能尽量把所有设备都升级到支持RSTP的版本。如果不行至少把核心和汇聚层换成支持RSTP的接入层的老设备单独划一个区域。排查兼容性问题的方法用display stp查看“Protocol Standard”字段如果是“STP”而不是“RSTP”说明这个端口在和老设备通信时降级了。再查看“CIST Bridge”和“CIST Root”的优先级确认根桥选举是否正常。5.5 常见问题速查表问题现象可能原因排查命令解决方法根桥不是预期设备优先级配置错误或冲突display stp检查并修改优先级端口不转发角色为Alternate/Backupdisplay stp brief调整开销或优先级端口Error-DownBPDU保护触发display stp interface手动恢复或排查非法设备网络震荡边缘端口未配置display stp brief配置边缘端口和BPDU保护收敛速度慢链路类型为共享display stp interface配置点对点强制兼容性问题对端为STP设备display stp升级设备或隔离区域实操心得生成树的问题90%都能通过display stp brief和display stp这两个命令定位。关键是要理解每个字段的含义比如“CIST Root”是根桥的桥ID“CIST Bridge”是本机的桥ID“Port Role”是端口角色“Port State”是端口状态。把这些字段看懂了排查起来就快了。6. 进阶技巧RSTP保护机制与性能优化6.1 四种保护机制的正确使用姿势华为交换机提供了多种生成树保护机制每种针对不同的风险场景。用对了能防患于未然用错了反而会引入新问题。BPDU保护BPDU Protection前面讲过主要用在边缘端口上防止非法设备接入。配置命令是stp bpdu-protection全局生效。注意这个命令只对边缘端口有效非边缘端口收到BPDU是正常的。根保护Root Protection用在指定端口上防止下游设备成为根桥。配置命令是stp root-protection在接口视图下执行。当端口收到优先级更优的BPDU时端口会进入Discarding状态而不是变成根端口。这个功能适合用在接入层上行端口防止接入交换机意外成为根桥。环路保护Loop Protection用在根端口或替代端口上防止单向链路导致的环路。配置命令是stp loop-protection在接口视图下执行。当端口长时间收不到BPDU时环路保护会阻止端口进入Forwarding状态避免形成环路。TC保护TC Protection防止过多的拓扑变化报文导致交换机CPU过载。配置命令是stp tc-protection全局生效。可以设置单位时间内处理TC报文的次数超出的部分会被忽略。这四种保护机制在实际部署中建议都配上但要根据端口角色选择。边缘端口配BPDU保护上行端口配根保护根端口配环路保护全局配TC保护。这样基本能覆盖常见的生成树风险。6.2 路径开销调整与负载分担RSTP默认根据端口带宽自动计算路径开销带宽越高开销越小。华为交换机的开销标准有华为私有标准和IEEE标准两种默认是华为私有标准。可以用stp pathcost-standard命令切换。如果你想让某条链路优先转发可以手动调小它的开销反之调大。比如你有两条上行链路一条千兆一条百兆默认千兆的开销小会被选为根端口。如果你想让百兆那条做主可以把千兆的开销调大但这样做的实际意义不大因为百兆链路带宽本来就小。更有意义的场景是负载分担。在MSTP模式下不同VLAN可以走不同的路径实现负载分担。但RSTP模式下所有VLAN共享一棵树没法做负载分担。所以如果你有负载分担需求还是得用MSTP。6.3 边缘端口的批量配置技巧在实际项目中接入交换机的接入口可能有几十个一个个配边缘端口太累了。华为交换机支持端口组批量配置[SW1] port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/20 [SW1-port-group] stp edged-port enable [SW1-port-group] quit这样一次性把1到20口都配成边缘端口。但要注意端口组里不要包含上行端口否则上行端口变成边缘端口会导致生成树计算错误。注意批量配置前一定要确认端口范围别把上行口也框进去了。我见过有人把1到24口全配成边缘端口结果上行口也是边缘端口生成树直接失效网络环路。这种错误在ENSP里可以随便试但在生产环境里就是事故。6.4 RSTP收敛性能的实测数据在ENSP里做链路故障切换测试可以直观感受RSTP的收敛速度。测试方法是在SW2和SW3之间持续ping然后断开SW1和SW2之间的链路观察丢包情况。实测下来RSTP的收敛时间通常在1秒以内丢包3到5个。如果是STP收敛时间可能在30秒以上丢包几百个。这个差距在实际业务中就是“无感知”和“断网半分钟”的区别。当然ENSP是模拟器性能和真实设备有差异。真实华为交换机的RSTP收敛时间一般在50毫秒到200毫秒之间具体取决于拓扑复杂度和配置。但无论如何比STP快一个数量级是肯定的。6.5 从RSTP到MSTP的演进思路RSTP虽然快但它有个局限所有VLAN共享一棵生成树。这意味着如果网络里有多个VLAN其中一个VLAN的拓扑变化会影响所有VLAN。而且RSTP没法做基于VLAN的负载分担。MSTP多生成树协议解决了这个问题。它可以把多个VLAN映射到不同的生成树实例每个实例独立计算拓扑互不影响。这样既能实现负载分担又能隔离拓扑变化的影响。华为交换机默认就是MSTP模式配置MSTP需要定义域Region、实例Instance和VLAN映射。如果你已经掌握了RSTP学MSTP会很容易因为MSTP兼容RSTP的所有机制只是多了实例的概念。实际项目中我一般直接上MSTP因为它的灵活性和扩展性更好。RSTP更适合小型网络或者作为学习生成树原理的入门。7. 个人实操体会与建议折腾了这么多年网络生成树这块我最大的体会就是理论要懂但更重要的是动手试。你看再多文档不如在ENSP里把拓扑搭起来把线拔了插、插了拔观察端口状态怎么变、收敛要多久。这种直观的感受比看十遍书都管用。另外生成树的配置一定要有规划。根桥放哪里、优先级怎么设、哪些端口做边缘、哪些做保护这些在项目开始前就要想清楚形成文档。我见过太多网络生成树配置是东一榔头西一棒子今天这个人改一下明天那个人改一下最后谁也不知道根桥在哪一出故障就抓瞎。最后分享一个小技巧如果你不确定某个配置会不会导致环路先在ENSP里模拟一遍。ENSP虽然不能完全模拟真实设备的性能但逻辑上的环路、收敛、保护机制都能验证。在模拟器里把坑踩一遍总比在生产环境里踩强。生成树这东西说复杂也复杂说简单也简单。核心就是一棵树、一个根、几条规则。把RSTP的提议-同意机制搞懂了把端口角色和状态搞清楚了剩下的就是熟练度的问题。多配几次多排几次故障自然就通了。