真正的需求不是软路由,而是一台稳定高吞吐能力的硬路由+一台迷你主机服务器(openvpn 服务/客户端,ssh,privoxy, 端口转发……等等等等) 软路由器,主要是软件功能更多,更多的是软路由器的系统,很多系统具有比较大的可移植性,可以安装在其他厂商的路由器上,俗称的刷机。常见的软路由系统是openwrt衍生的。 成品的软路由器也有,也有一些厂商再做,一般是自己主要做软件,硬件在招人设计,硬件上也主要是有线网络的功能,强调数据转发,硬件功能的强大,没有强大的硬件,软路由软件商的很多功能,也无法支持。所以,软路由器的硬件性能强,几乎是刚需了。 软路由器的软件,功能更多,专业性也更强,也不适合普通用户使用,所以这是一个很小众的市场,企业不买这种产品,无论是性能还是功能,都满足不了企业的需要,功能的复杂性,不适合普通用户,只适合一些,用特殊需求的家庭用户。热爱学习,自己动手能力强的用户。 软路由器本身的硬件会比较强,指的更专业的软路由器,一般是厂商自己来制作的,软硬件一体。然后可以再上面安装其他的软件,实现其他的功能,安装的软件越多,实现的功能越多,系统的压力就越大,如果硬件性能不够强大,则会非常的卡顿。 很多用户会使用基于x86架构的固件,自己在X86系统上安装软路由器,可以使用闲置的笔记本,或者是NAS中虚拟机来实现,也就是很多人使用的ALL IN ONE方案,需要的综合技术水平更高一些。大部分需要知道linux,docker,虚拟化等工作。成熟的商业的硬件路由器,适合家庭使用的大部分是无线路由器,可以进行无线覆盖,无线覆盖,对于家庭用户尤其重要,配置简单方便,价格适中,适合家庭用户选择。家用的场景下,很少有大数据量的传输,所以企业用的路由器并不适合,价格高,噪音大,配置复杂,这些特性加持下,企业级的产品,更适合有专业机房,有专业人员维护的公司使用。 对于家庭用户来说,如果只是做无线覆盖,选择常见的无线路由器最简单方便。大户型,可以选择企业级的AP方案。技术能力强的,爱学习的,可以选择NAS安装软路由器,成品软路由器,第三方路由器刷机等方案,只要技术高,肯钻研,绝对可以把软路由玩出花来,适合发烧友。 不管什么设备,在选择的时候,都需要根据自己的需求来,再好的东西,不是自己要的,或者自己驾驭不了的,买回来还是不好用。
现在CPU的性能早就很高了,不是说软件的性能就不够,主要看你用啥CPU。不要说一个路由转发,就连类似负载均衡这种需要应用层协议处理的设备,或者WAF这种应用层安全协议处理的设备,都是用软件来做的了。 Intel其实有一整套网络设备的解决方案的,比如他的专用82xxx系列网卡,I40e系列等等,具有多队列能力,可以根据五元组直接将网络包发往对应的CPU核,这是硬件级别的分流能力。 应用层加速卡QAT卡,C6xx系列的,可以负载解密TLS流量,压缩等算法,也是硬件级别的处理能力。 还有大名鼎鼎的DPDK框架,直接用于构建网络设备的。 而这些东西都不需要专用软件,Linux下面都有开源驱动和SDK,你搞个Nginx打上对应的SDK的补丁就可以用起来。如果,再稍微懂些内核参数优化,软中断绑定,进程绑定等等,你能不写一行代码自己堆出来一个性能非常不错的网络转发设备。 所以很多的网络设备,都是基于Intel这套全家桶的,Intel的这种硬件辅助的软件网络设备,严格上还是属于软件设备的范畴,但是实际上性能是绝对不低的。 比如我们的Ice Lake的Xeon 16核的6326+QAT C627的一个平台,SSL处理能力轻松跑到40G,转发则轻松到80G。 这仅仅是一款中端的单CPU平台而已,多CPU的就更高了。 所以实际当中,100G以下的设备,单CPU就能搞定,200-300G的设备,多CPU搞定。 上Tbps的设备,才是真正需要上硬件的时候。 这种一般用于是骨干路由器/防火墙节点,一般是ACTA机框结构的,不知道的可以去搜索一下,这种结构的机器由一个或几个背板+一堆业务板和控制板组成的。其中业务板和控制板也其实也就是做成卡片状的服务器而已,上面也是CPU,跑的也是软件。而真正的背板,交换板,这个是真正的上Tbps的核心,这个才是硬件需要用的地方。所以这种大的网络设备,用的基础结构都可以是软件的,消费级的小东西,用软件有什么不行的呢?其实一样的,只要成本合适,软件,硬件从来就不是问题。 但是,小的东西,并不是用不到硬件,正相反,有些需求下,小设备用硬件支持是常态。 比如我们隔壁组做小设备的,他们有的设备非常小,一个巴掌大小,能装兜里,但是性能要求却不低,要跑到1个G。别小瞧1个G,在这种小设备里面并不容易,你的手机,5G能跑1个G,这都是需要专用硬件去支持的,这种小设备的CPU Soc里面一定会集成相关硬件的转发Switch之类的东西才能达到这个速率。 还有些成本特别低的小设备,比如一些几十块钱到几百块钱的路由器,你拆开看看就知道,这些芯片都是各种专门定制的NPU Soc,里面都有各种硬件级别的转发支持,这种主要是为了低成本,这种时候这种低端的小NPU反而成本非常低,功率和散热也比大CPU好得多。所以,还是那句话,软件和硬件其实都不是问题,一切要看你的需求和成本,你要用多少钱去达到多少带宽,然后再去看对应的方案。
严格说,凡主要功能通过软件 ( CPU ) 而不是硬件 ( ASIC ) 实现的路由器,都属于“软”的。但是,我们没有必要太拘泥于定义,爱快、高恪等无论是做软路由系统还是卖路由器硬件,看家本领始终是在他们的系统,而软路由系统最显著的优势就是亲民。归纳为四点:(1) 支持任意 x86 设备,大不了加个 USB 网卡;(2) 图形化的界面,简化的交互逻辑,降低了上手难度;(3) 按需求组织的功能,符合普通用户的直观理解;(4) 本土化的行为和特征库,贴近实际使用场景。这四点不仅降低了使用门槛,连带搭建和维护网络的门槛都降低了,因此软路由得以在网吧等下沉市场大行其道。至于题主列举的“转发率、稳定性、功耗”等指标,相比之下重要性是偏低的:虽然 x86 平台可能缺乏硬件转发,但其实行为和特征的精准识别本身就与硬件转发违背,放心交给 x86 力大砖飞即可;虽然 x86 平台的功耗整体高于 ARM / MIPS ,但拦不住它便宜和拓展性强,再说网吧(含家庭)的用电大头也不在路由器。至于稳定性,只有先“无使用门槛地”满足了网管(或消费者)的全部需求,才有讨论稳定性的价值,并且软路由系统也支持双机热备。符合国情、广泛兼容、简便易用的东西,总能获得良好的口碑。举个最简单的栗子:软路由系统可以将系统和配置都写在 U 盘里,只要多准备一块 U 盘,便可以在出问题时拔掉当前的 U 盘换成原来配置好的,开机即满血复活,无需进一步操作。
我说个事实,玩软路由的一般是:1.有一定的技术功底 2.喜欢在网络探索,折腾的 3. 比较闲的 4. [部分]玩家经济条件并不好 - 软路由便宜 如果你本身不具有上述条件,就不用折腾软路由了。硬路由好吗?当然好,但是一切都是有价格的:1.稳定性好,我的数据中心的路由器,除了定期维护升级,其他基本不存在重启,死机的问题,但是贵,非常贵,一对中端路由器,杭州一套房。2.功能按需购买,不论是基于硬件的,还是基于软件许可的,都是要花钱的。3.回到家用这个属性,硬路由也不算太贵,几百到几千都有,大家参考某link 企业级产品即可。我看不出来家用这个场景,有啥是硬路由不能做的。4.问题是喜欢折腾的人,比如要搭个梯子,看个油管,那么市面上的产品可能没法满足你的需要。5. 问题是,大多数人,你需要梯子吗?你需要油管啥的吗?不需要啊,那么这几百块的路由器,安静稳定低功耗,我看都挺好。 |