其实“硬路由”这个定义本来就不是很清晰,一般的“硬”是指在网络数据包能实现线速转发,但是一但涉及到使用防火墙,如 PPPoe 、NAT 、mangle 、QOS 、限速等功能,基本就要用到 CPU 处理。
所谓的 “硬路由” 其实就是内置交换芯片线速转发,处理小包能力很高,性能稳定,但缺点是功能单一。
所谓的 “软路由” 其实就是通用 CPU ( arm 、x86 、mips 架构等),功能强大,但是数据处理的路径太长,小包能力偏弱,延时稍高,但是力大能砖飞。
Mikrotik 的产品本身布局就很巧妙,主要三个系列:
------------------
CRS 交换机系列,特色是拥有让人眼馋的端口例如:10G 、25G 、100G 拥有交换芯片,具备线速转发的能力,也可以玩 ROS 跑 pppoe 拨号,但是 CPU 性能很弱,pppoe 跑 800Mbps CPU 就 100% 了,也就说俗话的“跑不满”。
CCR 路由器系列,一般配置多核 CPU 主要用来跑 nat 、防火墙、流控、容器等,功能强大。有一些还拥有交换芯片,能实现低延时快速转发 L2 hardware offload ,有些还能做 L3 hardware offload 但是使用诸多限制,例如只能跑一个 bridge 、一但跑了防火墙基本就破功了,需要有一定的探索精神,但是测个速什么的绝对没问题。
RB 系列:CRS 、CCR 融合入门体验版
补充:openwrt 中的 PPE 、NSS “硬件加速模块”,x86 架构的 dpdk 个人见解是“利用硬件特效在软件层面优化转发效率”,还是属于软件层面。
目前推荐:高性价比的 homelab 玩法是,买一个国产的高性价比交换机,满配 2.5G 电口 + 10G 上联口作为接入层( L2 ),配合 x86 架构或者 CCR 系列做为主路由( L3 ),这也是我目前的方案。
对于楼主的需求,其实就是一个 120 块的水星交换机 (Se106 Pro),然后再跑一个 x86 版本的 ROS 即可,两者的长处都能利用起来了。