MTU in RouterOS

本页介绍 MikroTik RouterOS 中的最大传输单元(MTU)配置,说明 MTU 对网络效率与兼容性的重要性,并涵盖 L2/L3 MTU 等不同类型。

RouterOS 中的 MTU

简介

管理员必须配置最大传输单元(MTU),以确保预期服务和应用能够在网络中成功部署。换言之,管理员负责设置合适的 MTU 值,使数据包大小不超过网络设备的能力范围。

最初引入 MTU 是因为误码率高、通信速度低。对数据流进行分片后,只需重传损坏的分片即可纠正错误,无需重传整个数据流。此外,在调制解调器等低速连接上,传输较大的分片可能耗时过长,只有使用较小的分片才能正常通信。

如今误码率已大幅降低,通信速度显著提高,因此可以增大 MTU。增大 MTU 可减少协议开销并降低 CPU 占用,主要原因是中断次数减少。由此出现了一些非标准帧大小:

  • Giant 或 Jumbo 帧:超过标准(IEEE)以太网 MTU 的帧。
  • Baby Giant 或 Baby Jumbo 帧:略大于标准(IEEE)以太网 MTU 的帧。

现在,以太网接口支持高于标准的物理 MTU 已很常见,但这并非理所当然。还必须考虑其他网络设备的能力。例如,两块物理 MTU 为 1526 的以太网接口路由器板通过一台以太网交换机连接时,该交换机也必须支持转发这些较大的以太网帧,应用才能正常工作。

最大传输单元

MikroTik RouterOS 识别多种 MTU:IP/Layer-3/L3 MTU、MPLS/Layer-2.5/L2.5 MTU、MAC/Layer-2/L2 MTU、完整帧 MTU

完整帧 MTU

完整帧 MTU 表示特定接口实际发送的帧大小。该值不包含帧校验和(FCS),因为帧到达目的地后,以太网驱动会立即将其移除。

MAC/Layer-2/L2 MTU

L2MTU 表示该接口能够发送的、不含 MAC 头的最大帧大小。

在 RouterOS 中,可以在 /interface 菜单查看 L2MTU 值。所有与 RouterBoard 相关的以太网接口、VLAN、Bridge、VPLS 和无线接口都支持 L2MTU。其中部分接口支持配置 L2MTU 值。其他以太网接口只有在芯片组与 RouterBoard 以太网相同时才会显示 L2MTU。

这样用户就可以检查所需配置是否可行,并利用额外字节承载 VLAN 和 MPLS 标签,或者直接增大接口 MTU 以避免不必要的分片。

下表列出 MikroTik RouterBoard 支持的 max-l2mtu(可在 /interface/print 菜单中查看只读项 “max-l2mtu” 的值):

型号名称MTU 说明
RB SXT series, RB LHG, RB LDF, PL6411-2nD, PL7411-2nD, RB711 series, wAP R-2nD, RB912R-2nD-LTm (LtAP mini), RB Metal series, RB SXT Lite series, RB Groove series, Cube Lite60, LHG Lite60ether1:2028
RB SXT G series, RB DynaDish, wAP ac, RB QRT series, RB711G series, RB911G, RB912UAGether1:4076
RB OmniTik series, RB750, RB750UP, RB751U-2HnD, RB951-2nether1:4076; ether2-ether5:2028
RB OmniTik ac series, RB750GL, RB750Gr2ether1-ether5:4074
RB mAP, RB mAP lite, RB cAP, RB wAPether1-ether2:2028
RB750r2, RB750P-PBr2, RB750UPr2, RB941-2nD, RB951Ui/RB952Ui seriesether1-ether5:2028
RB750Gr3ether1-ether5:2026
RB751G-2HnD, RB951G-2HnDether1-ether5:4074
RB962UiGS, RB960PGSether1-ether5:4074; sfp1:4076
RB LHGG seriesether1:9214
LHG XL 52 acether1:9214; sfp1:9214
RB1100Hx2, RB1100AHx2ether1-ether10:9498; ether11:9500; ether12-ether13:9116
RB4011iGS+ seriesether1-ether10:9578; sfp-sfpplus1:9982
CCR1009 seriesether1-ether4:10224; ether5-ether8:10226; sfp1:10226; sfp-sfpplus1:10226
CCR1016 seriesether1-ether12:10226; sfp1-sfp12:10226; sfp-sfpplus1:10226
CCR1036 seriesether1-ether12:10226; sfp1-sfp4:10226; sfp-sfpplus1-sfp-sfpplus2:10226
CCR1072 seriesether1:9116; sfp-sfpplus1-sfp-sfpplus8:10226
CCR2004-1G-12S+2XSether1:9586; sfp-sfpplus1-sfp-sfpplus12:9578; sfp28-1 - sfp28-2:9578
CCR2004-16G-2S+ether1-ether16:9582; sfp-sfpplus1-sfp-sfpplus2:9586
CCR2116-12G-4S+ether1-ether12:9570; ether13:9586; sfp-sfpplus1-sfp-sfpplus4:9570
CCR2216-1G-12XS-2XQether1:9586; sfp28-1 - sfp28-12:9570; qsfp28-1-1 - qsfp28-2-4:9570
CRS109-8G-1Sether1-ether8:4064; sfp1:4064
CRS125-24G-1Sether1-ether24:4064; sfp1:4064
CRS112-8G-4S, CRS112-8P-4Sether1-ether8:9204; sfp9-sfp12:9204
CRS106-1C-5Ssfp1-sfp5:9204; combo1:9204
CRS210-8G-2S+ether1-ether8:9204; sfp-sfpplus1:9204; sfpplus2:9204
CRS212-1G-10S-1S+ether1:9204; sfp1-sfp10:9204; sfpplus1:9204
CRS226-24G-2S+ether1-ether24:9204; sfp-sfpplus1:9204; sfpplus2:9204
CRS326-24G-2S+, CSS326-24G-2S+ether1-ether24:10218; sfp-sfpplus1:10218; sfpplus2:10218
CRS317-1G-16S+ether1:10218; sfp-sfpplus1-sfp-sfpplus16:10218
CRS328-24P-4S+ether1-ether24:10218; sfp-sfpplus1-sfp-sfpplus4:10218
CRS328-4C-20S-4S+combo1-combo4:10218; sfp1-sfp20:10218; sfp-sfpplus1-sfp-sfpplus4:10218
CRS305-1G-4S+ether1:10218; sfp-sfpplus1-sfp-sfpplus4:10218
CRS304-4XGether1-ether4:10218; ether5:9676
CRS309-1G-8S+ether1:10218; sfp-sfpplus1-sfp-sfpplus8:10218
netFiber 9/IN (CRS310-1G-5S-4S+)sfp1-sfp5:10218; sfp-sfpplus1-sfp-sfpplus4:10218
CRS310-8G+2S+INether1-ether8:10218; sfp-sfpplus1-sfp-sfpplus2:10218
CRS312-4C+8XGcombo1-combo4:10218; ether1-ether8:10218; ether9:2028
netPower 15FR (CRS318-1Fi-15Fr-2S)ether1-ether16:10218; sfp1-sfp2:10218
netPower 16P (CRS318-16P-2S+)ether1-ether16:10218; sfp-sfpplus1-sfp-sfpplus2:10218
CRS326-4C+20G+2Q+combo1-combo4:10218; ether1-ether20:10218; qsfpplus1-1-qsfpplus2-4:10218; ether21:2028
CRS326-24S+2Q+sfp-sfpplus1-sfp-sfpplus24:10218; qsfpplus1-1-qsfpplus2-4:10218; ether1:2028
CRS354-48G-4S+2Q+, CRS354-48P-4S+2Q+sfp-sfpplus1-sfp-sfpplus4:10218; qsfpplus1-1-qsfpplus2-4:10218; ether1-ether48:10218; ether49:2028
CRS418-8P-8G-2S+RMether1-ether16:10218; ether17:9018; sfp-sfpplus1-sfp-sfpplus2: 10218
CRS504-4XQ-INether1:2028; qsfp28-1-1 - qsfp28-4-4:10218
CRS510-8XS-2XQ-INether1:2028; sfp28-1 - sfp28-8:10218; qsfp28-1-1 - qsfp28-2-4:10218
CRS518-16XS-2XQether1:2028; sfp28-1 - sfp28-16:10218; qsfp28-1-1 - qsfp28-2-4:10218
CRS812-8DS-2DQ-2DDQ-RMether1-ether2:9586; qsfp56-1-1 - qsfp56-2-4:9570; qsfp56-dd-1-1 - qsfp56-dd-2-8:9570; sfp56-1 - sfp56-8:9570
CSS610-8G-2S+, CSS610-8P-2S+ether1-ether8:10218; sfp-sfpplus1-sfp-sfpplus2:10218
D52G-5HacD2HnD (hAP ac²)ether1-ether5:9124
C52iG-5HaxD2HaxD (hAP ax[^2])ether1-ether5:9214
C53UiG+5HPaxD2HPaxD (hAP ax[^3])ether1-ether5:9214
L41G-2axD (hAP ax lite)ether1-ether4:2026
cAP acether1-ether2:9124
GPEN21ether1-ether2:10222; sfp1: 10222
wAP60G, LHG60Gether1:9124
RB260GS series, CSS106-5G-1S, CSS106-1G-4P-1Sether1-ether5:9198; sfp1:9198
RBFTC11ether1:4046; sfp1:4046
RBM33Gether1-ether3:2026
RBM11Gether1:2026
RB760iGSether1-ether5:2026; sfp1:2026
E50UGether1:2048; ether2-ether5:2026
RB411 seriesether1:1526
RB433 series, RB450, RB493 seriesether1:1526; ether2-ether3:1522
RB450Gx4ether1-ether5:9214
RB411GLether1:1520
RB433GL, RB435G, RB450G, RB493Gether1-ether3:1520
RB800ether1-ether2:9500; ether3:9116
RB850Gx2ether1-ether5:1580
RB921UAGS, RB922UAGSether1:4076; sfp1:4076
D23UGS-5HPacD2HnD (NetMetal ac²)ether1:9214; sfp1:9214
L23UGSR-5HaxD2HaxD (NetMetal ax)ether1:8158; sfp1:8158
RB953GSether1-ether2:4074; sfp1:4074; sfp2:4076
RB2011 seriesether1-ether5:4074; ether6-ether10:2028; sfp1:4074
RB3011 seriesether1-ether5:8156; ether6-ether10:8156; sfp1:8158
RB5009 seriesether1-ether8: 9796; sfp-sfpplus1: 9796
L009 seriesether1: 8158; ether2-ether8: 8154; sfp1: 8154
RB44Geether1-ether4:9116

RouterOS 中的所有无线接口(包括 Nstreme2)都支持 2290 字节的 L2MTU。

危险

更改 L2MTU 配置会触发所有接口重新加载(链路 down/up),这是内部处理流程所必需的。 建议谨慎配置 L2MTU,并注意这可能会对已连接设备造成短暂中断。

MPLS/Layer-2.5/L2.5 MTU

MPLS MTU 在 /mpls/interface 菜单中配置,指定可通过特定接口发出的最大数据包大小(包含 MPLS 标签)。

请确保 MPLS MTU 值小于或等于 L2MTU。MPLS MTU 对数据包的影响取决于 MPLS 路由器执行的操作。由于 MPLS MTU 会影响经 MPLS 交换的数据包,强烈建议组成 MPLS 云的所有路由器配置相同的 MPLS MTU 值。这意味着 MPLS 云中所有参与接口都必须配置为这些接口中最小的 MPLS MTU 值,因此在选择硬件时需要仔细考虑。

MPLS 交换

当包含一个或多个 MPLS 标签的数据包超过配置的 MPLS MTU 时,路由器会尝试判断 MPLS 帧内承载的协议类型:

  • IP 数据包:如果封装的数据包是 IP 数据包,MPLS 会生成 ICMP “需要分片”错误消息。该行为与标准 IP 协议处理方式一致。请注意,此 ICMP 错误不会直接路由回数据包发起方,而是沿标签交换路径(LSP)交换到末端,由出口路由器将其路由回源端。

  • 非 IP 数据包:如果封装的数据包不是 IP 数据包,MPLS 会直接丢弃,因为路由器无法解释其内容。这一行为对 VPLS 等 MPLS 应用尤为重要:通过 MPLS 网络的帧是封装的以太网帧,并非 IP 数据包。如果 LSP 路径上任一接口配置的 MPLS MTU 小于入口路由器准备的数据包大小,帧会被静默丢弃。

IP 入口

当路由器首次为 IP 数据包压入标签,且包含 MPLS 标签后的数据包大小超过 MPLS MTU 时,路由器的行为与接口 MTU 超限相同:如果 IP 数据包的“不分片”位未设置,则将数据包分片,使附加标签后不超过 MPLS MTU;否则生成 ICMP“需要分片”错误并发送回发起方。

VPLS 入口

当路由器封装以太网帧以便通过 VPLS 伪线转发时,会检查数据包大小(包括 4 字节的 VPLS 控制字和必要的标签,通常为 2 个标签,即增加 8 字节)是否超过出接口的 MPLS MTU。如果超过,VPLS 会对数据包分片,使其符合出接口的 MPLS MTU。数据包会在 VPLS 伪线出口点重新组装。

配置示例

以下示例将观察通过以太网接口进入和离开路由器的帧。

简单路由

图中显示简单路由时的数据包 MTU 大小,数据包大小不会被修改。

带 VLAN 封装的路由

每个 VLAN 标签长 4 字节。VLAN 标签由路由器添加,L2-MTU 相应增加 4 字节。

带标签的简单 MPLS

当 MPLS 仅作为 IP 路由的替代方案时,每个数据包只附加一个标签,因此数据包大小增加 4 字节。图中情况使用了两个 MPLS 标签。要在不分片的情况下转发标准大小(1500 字节)的 IP 数据包,两个 MPLS 标签时 MPLS MTU 必须至少设置为 1508。

VPLS 隧道

当远端端点并非直连时,会存在两个 MPLS 标签。一个 MPLS 标签用于到达远端端点,第二个标签用于标识 VPLS 隧道。

高级配置示例

本示例将详细说明所有类以太网接口所需的 L2MTU,包括 Bridge、VLAN 和 VPLS 接口。

此配置中有 3 台路由器:

  • Q-in-Q 路由器:接收标准 1500 字节以太网帧,并为数据包添加两个 VLAN 标签,然后通过以太网发送到第二台路由器。

  • VPLS 路由器:移除外层 VLAN 标签,将带有剩余 VLAN 标签的数据包桥接到 VPLS 隧道。VPLS 隧道通过 MPLS 网络将数据包传送到第三台路由器。

  • MPLS 边缘路由器:移除 VPLS 和 VLAN 标签,将数据包桥接到客户端以太网。