从RouterOS v7 beta6 开始支持Layer3 hardware offloading (即:三层交换硬件转发 ) ,能够将三层数据包转发下发到交换芯片处理,允许实现三层数据包的线速转发,不需要CPU参与,由交换芯片完成。
2020年10月适配的CRS3系列交换机情况如下:
7.1beta2支持L3/L4 HW设备参数说明:
| 版本 | 路由条目 | 下一跳 | ECMP | Fasttrack 连接(*1,*2) | NAT 条目(*2) |
CRS317-1G-16S+ | 7.1beta1 | 150K - 240K | 8K | 4K | 4500 / 3750 (*3) | 4096 |
CRS309-1G-8S+ | 7.1beta2 | 50K - 80K | 8K | 4K | 4500 / 3750 | 4096 |
CRS312-4C+8XG | 7.1beta2 | 50K - 80K | 8K | 4K | 2250 / 1500 | 4096 (*4) |
CRS326-24S+2Q+ | 7.1beta2 | 50K - 80K | 8K | 4K | 2250 / 1500 | 4096(*4) |
CRS326-4C+20XG-2Q+ | 7.1beta2 | 50K - 80K | 8K | 4K | 2250 / 1500 | 4096(*4) |
- *1 当达到Fasttrack或NAT条目限制,超出的连接会话会交给CPU处理,MikroTik的智能连接算法,能确保流量大的会话交给HW处理
- *2 Fasttrack的NAT会话处理和ACL共享HW内存,一条ACL规则根据配置不同,可能会占用3-6个Fasttrack的内存。
- *3 关于MPLS与Bridge Port 扩容功能禁用或启用,由于MPLS和Fasttrack共享HW内存,启用MPLS需要分配整个内存区域,因此最多可以存储750个Fasttrack连接。这同样适用于桥接端口扩展器,但是MPLS和Bridge Port扩展功能使用相同的内存区域,所有同时启用它们不会使Fasttrack连接的限制增加一倍。
- *4 由于Fasttrack会话限制,NAT条目无法被全部利用
在RouterOS开启L3 HW offloading简单配置如下:
/interface ethernet switch
set switch1 l3hw=yes
关闭L3 HW offloading后,建议重启设备,以确保所有的HW相关配置从交换芯片清除
2020年10月功能支持情况列表:
功能 | 状态 | 描述 |
IPv4 单播 | HW | 根据路由表中路由的复杂度,最大HW加速路由数可在150-250k之间。当到达HW路由限制时,其他路由将交给CPU处理 |
IPv6 单播 | CPU | |
IPv4 多播 | CPU | |
IPv6 多播 | CPU | |
ECMP等价路由 | HW | 最大支持4000条 |
"blackhole"路由 | HW | 通过配置黑洞路由,允许以线速处理D/DOS攻击 |
"prohibit" 路由 | CPU | |
"unreachable" 路由 | CPU | |
gateway=<interface> | HW/CPU | 这只适用于直接连接的网络。由于HW不知道如何发送ARP请求,由CPU发送ARP请求,并等待一个答复,当接收到第一个匹配的目标IP数据包后,从中找出目标MAC地址,在目标MAC确定后,添加HW条目,这样实现接口作为网关的数据包由交换机芯片处理。 |
Bridge | HW | 从bridge接口方向的路由处理 |
VLAN | HW | 从VLAN接口方向的路由处理 |
LACP | HW | /interface bonding |
Firewall | FW | 仅 Fasttrack连接会话能被HW处理,意味着三层路由数据包由CPU处理,意味着HW不参与三层包转发,只处理Fasttrack连接 |
NAT | FW | 应用于Fasttrack的NAT规则,会被HW处理。 |
QoS | N/A |
描述说明:
- CPU – 此功能仅支持CPU处理
- HW – 此功能支持L3 HW offloading
- FW -此功能支持L4 HW offloading
- N/A – 当前不支持,如果开启,将会禁用L3 HW offloading功能运行
当前CRS3xx系列,对L3硬件转发必须选择是使用硬件加速三层路由,还是加速NAT,两者不能同时使用。