聚合口 MTU 为什么要一致
聚合组把多条成员链路合成一个逻辑口,成员之间靠哈希分流。如果某个成员口的 MTU 与其他成员不同,大包恰好被分到那条链路时就会被丢弃,于是呈现小包正常、大包间歇失败的症状。调整 MTU 要整组统一、两端同步,并把它当成端到端参数:物理口的 MTU 至少要不小于上层封装后所需的长度。
基本信息
| 要求 | 同一聚合组内所有成员口 MTU 必须一致 |
|---|---|
| 配置方式 | 成员口与逻辑口统一调整,链路两端保持同值 |
| 验证方式 | 用允许不分片的大包逐级 ping,观察从哪一跳开始失败 |
| 常见口径 | 以太网 1500 字节对应 ping 载荷 1472 字节(含 28 字节报头) |
| 隧道场景 | VXLAN 等封装需预留外层开销,物理口按更大值规划 |
典型使用场景
- 新增成员口入组后复核 MTU,避免新口配置与组内其他口不一致
- 跨机房长距链路做端到端大包验证,确认中间设备未压缩 MTU
- 部署 VXLAN 或隧道前抬高物理口 MTU,给外层封装留出空间
- 排查大包间歇失败时按成员口逐条核对 MTU 与错误计数
- 变更 IP 层接口 MTU 后同步核对设备接口 MTU,避免只改一半
配置与验证
配置与验证
interface GigabitEthernet0/0/1
mtu 9000 # 成员口逐口调整,与逻辑口保持一致
display interface Eth-Trunk1 | include MTU # 核对逻辑口
display interface GigabitEthernet0/0/1 | include MTU # 核对成员口
ping -M do -s 1472 10.0.0.2 # Linux:1472 载荷加报头等于 1500常见现象与定位
| 现象 | 原因 | 定位动作 |
|---|---|---|
| 大包间歇失败、小包正常 | 组内成员 MTU 不一致,大包命中小 MTU 成员被丢 | 逐成员核对 MTU 配置 |
| 经隧道后小包也不通 | 内层合规但外层封装后超过物理口 MTU | 按封装开销抬高物理口 MTU |
| 路径某一跳起开始丢大包 | 端到端最小 MTU 由中间设备决定 | 逐跳不分片 ping 定位分界点 |
MTU 不一致造成的失败具有随机性:同一个业务可能重试成功、重试失败,比整口不通更难定位,因此新成员入组后的 MTU 核对应写进变更检查单。
IP 层接口 MTU 与设备接口 MTU 是两处配置,只改一处会出现协议栈认为可分片、硬件实际转不动的情况,变更时两边一起核对。