资讯动态

华为Eth-Trunk链路聚合实战:从LACP选举到配置排错全解析

发布时间:2026/10/23 5:48:55 来源:尧图企业网站定制
Eth-Trunk链路聚合这块知识点在HCIP/HCIE的RoutingSwitching和Datacom方向里都是“必考但容易翻车”的章节。我当初备考时说真的一开始也把它当成“把几个物理口绑一块儿加带宽”这么简单结果一做题库里的LACP选举题就懵了——系统优先级、接口优先级、主动端、被动端、备用链路全搅在一起分不清。后来在官方模拟器上反复搭环境验证又对照协议报文抓包才算把这条链路真正吃透。这篇文章就是我自己的复习笔记整理版把Eth-Trunk从原理到配置再到排错完整过一遍覆盖手工负载分担和LACP两种模式。正在冲刺HCIP/HCIE的考生可以直接拿它当知识点清单工作里需要调设备、但不想翻几百页官方文档的运维朋友同样可以系统刷一遍。下面进入正题。1. 链路聚合到底解决了什么Eth-Trunk的带宽和成员口规则1.1 单链路瓶颈以及Eth-Trunk的“加法”逻辑先聊一个最基础的问题为什么要做链路聚合很简单一条千兆物理链路带宽就是1Gbps业务流量超过这个数普通做法是“换更贵的设备、换更快的端口”。但很多时候没必要因为你手头可能有好几条空闲的千兆口把它们绑在一起逻辑上形成一条更大的链路这就是Eth-Trunk干的事情。Eth-Trunk在华为设备上就是一个逻辑接口名字叫Eth-Trunk编号比如Eth-Trunk 1。物理口通过命令绑进去之后这个逻辑接口的带宽等于所有成员口带宽之和。比如四个千兆口绑成一个Eth-Trunk逻辑带宽就是4Gbps。同时冗余性也上来了一条物理链路断了剩下的成员口继续转发业务不会完全中断。但这里要理解清楚Eth-Trunk不是简单把几条线“焊”在一起。它内部有一套负载分担机制把不同类型的流量按照哈希算法分散到各个成员口上。为什么不能直接把一个数据流平均分成四份扔到四条链路因为以太网包是讲究顺序的同一个TCP会话的包如果走不同的物理链路到达对端的时间可能不一样接收方重组时就会出现乱序TCP对乱序很敏感会触发重传性能反而崩了。所以实际用的都是“逐流”负载分担这一点后面专门讲。1.2 成员口的“入场条件”为什么加入前必须保持干净配置了解Eth-Trunk之后最容易被新手忽略的是成员口加入条件。在华为VRP系统里一个物理口不是想加入就能加入的它必须保持“默认配置”状态。如果这个口上曾经配过VLAN、端口类型、端口安全、DHCP Snooping之类的业务参数执行加入命令时通常会直接报错提示端口已有配置需要先清掉。我见过不少同事在配置时踩这个坑尤其是对旧设备做改造的时候端口上可能残留着以前配的Access VLAN、Trunk配置或者ACL绑定。解决办法是进入那个物理口手动undo掉相关配置让它恢复成出厂默认的普通二层口再执行eth-trunk命令加入。注意成员口在加入前一般不建议先shutdown也不建议在成员口上单独配置业务一切等加入Eth-Trunk之后在逻辑口上去做。加入之后成员口会继承Eth-Trunk逻辑口上的二层属性。也就是说你只在Eth-Trunk 1上配了trunk、放通VLAN 10和20成员口跟着生效不需要也不可能在物理口上一遍遍重复配置。如果你试图在某个成员口上单独改VLAN或端口类型系统会拒绝因为成员口已经受Eth-Trunk统一管理了。1.3 二层Eth-Trunk与三层Eth-TrunkEth-Trunk分为二层和三层两种用法。二层Eth-Trunk最常见主要用于交换机之间、交换机与服务器之间的链路扩容逻辑口工作在二层模式参与VLAN转发。配置时在Eth-Trunk下执行port link-type trunk再用port trunk allow-pass vlan放通对应VLAN即可。三层Eth-Trunk则是把成员口从二层模式切换到三层模式然后给逻辑口配置IP地址相当于把多条物理链路绑成一条三层互联链路。典型场景是设备之间的三层互联比如两台路由器或三层交换机之间的骨干链路既想扩容带宽又不想占用太多物理接口去分别配地址。此时需要在Eth-Trunk视图下执行undo portswitch把它变成三层口再配置IP地址。这里有个考试常考细节二层Eth-Trunk在加入STP后是作为一个逻辑端口参与生成树计算的成员口不再单独被STP阻塞。所以使用Eth-Trunk之后多条物理链路不会被STP误伤成只有一条可用这也是链路聚合对二层环路控制的额外好处。2. 手工负载分担模式配置简单但对端故障后知后觉2.1 手工模式的工作机制与适用场景华为设备的Eth-Trunk有两种工作模式第一种叫手工负载分担模式。在这种模式下所有加入Eth-Trunk的成员口都处于活动状态直接参与流量转发不需要和对端交互任何协商报文。配置很简单两端分别创建Eth-Trunk执行mode manual load-balance然后把对应的物理口加进去。注意手工模式两端不协商所以两端的成员口数量、对应关系、VLAN配置都得靠人工保证一致。如果有一端忘了加一个口另一端却加上了数据就可能出现异常。手工模式最大的问题是它只能感知本端物理口的down/up状态无法感知对端成员口是否故障。举个例子本端四个成员口都是UP对端某个成员口因为板卡故障已经DOWN了本端不会知道流量依然按照哈希结果往那条故障链路上发结果就是丢包。那什么时候用手工模式通常是链路对端设备不支持LACP协议、或者你明确知道对端链路状态不会单独出问题、又不想引入协商机制的简单场景。考试中会把它作为一个“缺点题”来考答案就是“不能检测对端链路状态存在数据丢失风险”。2.2 逐流与逐包负载分担算法怎么选既然成员口多了流量怎么分摊这就涉及负载分担算法。华为设备支持两类基本粒度逐流负载分担和逐包负载分担。逐流负载分担是默认推荐也是实际网络中使用最多的。它的原理是对报文的关键字段做哈希计算同一个“流”的报文哈希结果一致所以始终走同一条成员链路。比如基于源MAC、目的MAC、源IP、目的IP、四元组、五元组等不同设备支持的因子略有差异典型命令是在Eth-Trunk下配置load-balance src-dst-ip。逐包负载分担则是把每个数据包依次轮询送到不同成员口链路利用率看似非常均匀但后果是同一个TCP会话的报文可能走不同路径接收端如果先收到后面的包就会产生乱序TCP重传反而拖慢速度。所以逐包在实际中很少直接使用往往只在一些特殊场景或对时延不敏感、但对带宽利用要求极高的场合才会考虑。考试里经常给你一个场景问应该选择哪种负载分担方式答案基本上都是逐流。要记住背后的理由逐流能保证同一会话报文顺序到达避免乱序丢包。2.3 手工模式的隐藏限制手工模式下还有几个容易被忽略的限制。第一所有成员口速率和双工模式一般要求保持一致如果速率不一致轻则转发异常重则成员口根本加入不了或者被系统强制踢出。第二成员口加入前必须保持默认配置这条和LACP模式是一样的谁违反谁报错。第三手工模式下不存在备用链路的概念所有成员口一视同仁没有M:N备份能力。还要注意一点手工模式虽然不协商但两端Eth-Trunk编号没有要求必须一样——只要成员口正确加入、链路物理UP、VLAN配置一致逻辑链路就能通。不过实际运维中建议两端使用相同编号减少后续排错成本。3. LACP模式协商报文背后的选举与备份机制3.1 LACPDU里带了什么谁赢得主动端资格LACP模式在华为设备上通常叫静态LACP它是基于IEEE 802.3ad标准的。和手工模式最大的不同是两端成员口会定期交换LACPDU报文报文里携带系统优先级、系统MAC、端口优先级、端口号、握手状态等关键字段。通过这类协商报文两端能够感知对端成员口是否存活实现了手工模式做不到的故障检测。那么问题来了两边都发报文到底听谁的答案是选出一个“主动端”。参考标准是先比较系统优先级数值小的胜出如果系统优先级相等再比较系统MAC地址MAC地址小的胜出。这里必须敲黑板主动端的选举只跟“系统优先级 系统MAC”有关和接口优先级无关。接口优先级是后面决定“哪几条链路成为活动链路”时才用的。很多考生栽跟头就是把这俩优先级混为一谈。默认情况下华为设备系统优先级是32768。如果你希望某台设备成为主动端就在系统视图下执行lacp system-priority改成比如100让它的优先级小于对端。考试题里最常见的变化就是问你“谁是主动端”计算逻辑就是这两步对比。3.2 接口优先级如何决定活动链路和备份链路选出主动端之后真正决定“哪些物理口成为活动链路”的是主动端上的接口优先级。华为默认接口优先级也是32768数值小的先被选为活动口如果接口优先级也相同则比较端口号端口号小的优先。我举个具体例子。假设两端各有四个成员口Eth-Trunk里配置了max active-linknumber 2。主动端上有四个物理口系统会按照“接口优先级小优先相同则端口号小优先”的顺序选出前两个作为活动链路Selected剩下两个自动变成备份链路Standby。备份链路不转发数据流量但继续发送LACPDU随时准备在活动链路故障时顶上。所以记住Active/Standby状态的判定依据是主动端的接口优先级和端口号。考试题经常给你四个端口的不同优先级让你排序算出哪两个是活动口。这类题不需要死记只需先比接口优先级再比端口号。3.3 超时与感知LACP比手工模式快在哪LACP能检测对端故障靠的就是超时机制。设备会周期性发送LACPDU如果在一个超时周期内没有收到对端的报文就认为链路出了问题并把该成员口从活动状态踢掉或切换备份。华为系统支持两种超时方式长超时和短超时。默认是长超时LACP报文发送周期为30秒超时时间为90秒也就是对端90秒不发报文本端就认定链路异常。短超时模式是报文发送周期1秒超时时间3秒检测速度更快但消耗的协议报文更多。考试常考“默认情况下LACP报文发送间隔和超时时间是多少”答案就是30秒发送、90秒超时。要想提速可以在Eth-Trunk下配置lacp timeout fast改成快速模式。实际组网里如果要求快速感知链路故障就配fast否则保持默认即可。3.4 M:N备份的配置逻辑LACP模式之所以比手工模式可靠核心在于支持M:N链路备份。M是活动链路数N是备份链路数。通过max active-linknumber命令来限定活动链路的上限。举个例子四条成员口组成的Eth-Trunk如果设置max active-linknumber 3那么三条链路作为活动链路一条作为备份。活动链路出现故障时备份链路立即顶替上去。这个“顶替”过程是自动完成的不需要人工干预链路切换时间远小于人工处理。考试里常见的是让你计算总共几条成员口、最大活动链路数是几、有几天活动、几条备份。算法很简单总成员数减去最大活动链路数就是备份链路数。前提是总成员数大于最大活动链路数如果小于则全部都是活动链路。4. 手工模式与LACP模式怎么选考试怎么考4.1 两者到底差在哪一张表看清楚很多考生复习到后面会纠结一个问题项目中到底用哪种模式我给你一张对比表考试选择和项目选型都可以直接参考。对比项手工负载分担模式LACP静态模式协商报文无定期发送LACPDU活动链路数量所有成员口全部活动通过max active-linknumber控制备份链路不支持支持M:N备份对端故障感知无法感知可能丢包可感知并自动切换配置复杂度低中等适用场景对端不支持LACP、简单组网可靠性要求高的组网考试中如果问“为什么生产环境建议用LACP而不是手工模式”直接抓两点一是有备份链路二是能感知对端故障。这两点是手工模式硬伤。4.2 高频考题拆解选举、带宽、模式转换我先说几个HCIP题库里几乎必出的题型。第一类主动端选举题。给你两台设备的系统优先级和系统MAC问谁是主动端。解题步骤是先比系统优先级谁小谁是主动端若相等比系统MACMAC小的是主动端。注意题目可能把系统优先级设成相等故意让你继续比较MAC很容易漏。第二类接口优先级选活动链路题。给定主动端上四个端口及其接口优先级问哪两条链路成为活动链路。先比接口优先级再比端口号。这里容易犯的错是拿系统优先级去排序思路完全跑偏。第三类带宽计算题。比如一个Eth-Trunk有四个千兆成员口配置max active-linknumber 3问逻辑带宽是多少。答案是3Gbps因为只有3条活动链路参与转发备份链路不计入有效带宽。很多人不看活动链路数直接按4Gbps算一算就错。第四类模式转换题。如果想把手工模式改成LACP模式需要在Eth-Trunk视图下配置mode lacp-static同时保证两端配置一致否则协商失败。有些版本的考试还会问成员口加入前要不要清配置答案是必须清。4.3 Eth-Trunk与STP、VLAN的联动考点Eth-Trunk很少单独考更多是和STP、VLAN、路由联动出题。二层Eth-Trunk作为逻辑接口参与生成树计算成员口不再单独参与STP。这样设计的好处是避免多条物理链路在STP眼中形成环路导致部分链路被阻塞带宽白白浪费。VLAN维度上要注意所有VLAN配置都作用于Eth-Trunk逻辑口成员口自动继承。如果你在成员口上单独配置了PVID或放通VLAN系统会报错或强制同步。考试常问“Eth-Trunk中VLAN在哪里配置”答案就是逻辑口上。三层方向上Eth-Trunk可以承载三层接口支持OSPF/BGP等路由协议等价于一条逻辑链路。考试中可能给你一个OSPF场景问Eth-Trunk两端如何互联通常就是配IP后启用协议即可。5. 实验配置与排错一个人点亮的坑帮你们避掉5.1 手工模式配置五步走我建议备考时至少在官方模拟器上完整敲一遍配置。手工负载分担模式实验可以按下面步骤做。第一步在两台交换机上分别创建Eth-Trunkinterface Eth-Trunk 1 mode manual load-balance port link-type trunk port trunk allow-pass vlan 10 20第二步进入物理口把干净的口加入Eth-Trunkinterface GigabitEthernet0/0/1 eth-trunk 1第三步用display eth-trunk 1查看成员口状态正常情况下Member Status应该是Selected或UP相关状态手工模式下没有Standby。第四步在两台交换机之间测试连通性ping对端配置的VLANIF地址。第五步如果发现只有一条链路在跑流量检查负载分担类型配置load-balance src-dst-ip配置完可以在接口下反复抓包或查看计数验证流量是否分散到不同成员口。5.2 静态LACP模式配置要点静态LACP模式比手工模式多几个步骤关键是LACP协商参数。配置命令如下interface Eth-Trunk 1 mode lacp-static max active-linknumber 3如果想让本端成为主动端在系统视图下修改系统优先级lacp system-priority 100然后在物理口上加入Eth-Trunkinterface GigabitEthernet0/0/1 eth-trunk 1对端也必须使用相同的Eth-Trunk编号和mode lacp-static系统优先级、接口优先级可以不同但模式必须一致。如果一端手工、一端LACPEth-Trunk会一直协商不起来整个逻辑口都会处于DOWN状态。配置完成后用display eth-trunk 1查看可以看到成员口状态分为Selected和Standby两类。Selected就是活动链路Standby就是备份链路。这个输出是考试和排错都很有用的关键信息。5.3 四个典型故障的完整排查思路我把实验和项目里常见的Eth-Trunk故障整理成四个典型场景。第一个成员口加入时报错“port has configuration”。原因就是物理口残留业务配置。排查方式是进入物理口查看配置undo掉相关业务参数恢复默认后再加入。第二个Eth-Trunk口一直是DOWN成员口确实是UP。优先排查两端模式是否一致尤其是一端手工、一端LACP这种低级错误。另外检查两端VLAN配置是否匹配以及是否有物理口只加了一端、另一端口没加的情况。第三个活动链路数量不对。总成员口有4条配置了max active-linknumber 2display eth-trunk显示3条Selected这通常是之前配置过较大的最大活动链路数或者是端口优先级排序后端口被重复加入。需要检查Eth-Trunk下是否有多余配置必要时重新设置max active-linknumber。第四个LACP协商不稳定成员口反复Up/Down。这种情况多数是物理线路问题或两端超时模式不一致。检查两端lacp timeout是fast还是normal尽量保持一致。还要检查物理口有没有开启端口安全等额外功能这类功能会干扰LACP报文处理。5.4 流量不均的原因与负载分担调整配置都正常但流量明显集中在一条成员口上这是实战中最常见的“隐形问题”。原因几乎都是哈希因子和流量模型不匹配。举个例子一个Eth-Trunk配置了基于源MAC的负载分担但你的业务流量几乎全部来自同一个上行口、源MAC地址相同哈希结果自然全部落到同一个成员口其他链路闲置。此时把负载分担类型改成基于IP或基于源目的IP效果会好很多。华为设备在Eth-Trunk下配置负载分担很简单load-balance src-dst-ip如果流量是三层业务建议使用src-dst-ip或五元组如果纯二层、没有IP报文才考虑用源MAC/目的MAC做因子。调整后可以用display eth-trunk查看各成员口发送流量计数确认是否已经摊开。这一步在考试实践题里经常成为得分点。另外一个细节修改负载分担类型会导致现有流量重新哈希可能引起短暂的会话中断生产环境操作前最好评估一下低峰期再动。6. 考前速记与实验建议6.1 关键默认值速记表到了冲刺阶段记住几个默认值是性价比最高的。我把高频考点整理成表背下来说实话就够应付绝大多数选择题了。参数默认值记忆点系统优先级32768值越小越优先接口优先级32768值越小越优先LACP报文发送周期30秒长超时默认LACP超时时间90秒超过此时间未收到报文判定故障最大活动链路数8多数盒式设备默认上限成员口加入前默认干净配置有配置必须先undoEth-Trunk负载分担粒度逐流保证报文顺序这里单独说下最大活动链路数华为多数盒式设备一个Eth-Trunk默认最多支持8个成员口考试里基本按8来算。如果题目没有特别说明就默认成员口总数不超过8。6.2 冲刺阶段的复习顺序我自己备考后期的方法比较简单但很有效。先背默认参数表再刷“主动端选举”和“活动链路排序”这两类计算题最后到模拟器上完整做一遍手工模式和LACP模式的配置实验。实验做完后用display eth-trunk故意制造故障——比如关掉一条成员口观察Selected链路变化理解备份链路顶替的实际过程。这样一套下来Eth-Trunk相关的选择题基本不会再错。工作中遇到端口聚合问题也能很快定位是模式不匹配、端口配置残留还是负载分担类型不合适。链路聚合的原理始终是“逻辑接口管理物理成员口负载分担保证转发不乱序”围绕这条主线去理解所有细节都能串起来。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑