Control Word
VPLS 在 RouterOS 中使用控制字(CW)进行数据包分片和重组,增加 4 字节开销以应对 L2MTU 限制。CW 字段包括标志、分片指示、长度和用于数据包跟踪的序列号,其使用由
use-control-word参数控制。
控制字
VPLS 允许远程站点通过分组交换网络(PSN)上的**伪线(PW)**隧道连接站点,从而共享同一个以太网广播域。由于 VPLS 封装会增加额外开销,LSP 中的每个接口都应能够传输足够大的数据包。
每个以太网芯片组对可传输的最大数据包大小都有硬件限制。即使在现在,仍有一些以太网只支持一个 VLAN 标签,这意味着不含以太网头和校验和的最大数据包大小(L2MTU)为 1504 字节。显然,这不足以在不分片的情况下转发 VPLS 封装的以太网帧(至少需要支持 1526 L2MTU)。关于 RouterBOARD 上支持的最大 L2MTU,请参见 RouterOS 中的 MTU。
由于并非所有 RouterBOARD 都支持足够大的 L2MTU 来在不分片的情况下传输 VPLS 封装的数据包,RouterOS 根据 RFC 4623 增加了伪线分片与重组(PWE3)支持,使用 4 字节的控制字(CW)。
控制字的使用
在 RouterOS 中,控制字用于 VPLS 隧道内的数据包分片和重组。这是通过使用可选的**控制字(CW)**实现的。CW 添加在 PW 标签(解复用器)和数据包载荷之间,并增加额外的 4 字节开销。
警告
未实现乱序(OOO)数据包的重排序,乱序分片将被丢弃 CW 的使用由 VPLS 配置中的
use-control-word参数控制。

如你所见,控制字分为 5 个字段:
- 0000 - 4 位,用于标识该数据包为 PW(而非 IP)。
- Flags - 4 位。
- Frag - 2 位,表示载荷分片的值。
- Len - 6 位。
- Seq - 16 位序列号,用于检测数据包丢失/乱序。
根据 RFC,序列号的生成和处理是可选的。