什么是软路由? 硬路由又是什么?都有什么特点?
博客准备好后就一直没发文章,鸽了半年终于开始更新了。
总能在网上看见有人在问什么是软/硬路由,有软路由和硬路由的区分原因是它们都是路由器,工作内容大同小异,也就是说软路由和硬路由是路由器的子分类。而这篇文章就带你了解软路由与硬路由,
什么是硬路由?
简单描述一下硬路由 ?
硬路由,其实就是普通的路由器,就是在淘宝,京东上一搜一大堆的那种,它主要侧重于wifi使用体验和易于用户操作的界面。
硬路由为什么“硬” ?
硬路由的核心部件由两部分组成:普通的处理器 + “专用部分”(专门用来处理网络流量的)。
主要是专用的这一部分,这玩意在网上常见的称呼是硬件转发或者是硬转发,这一部分我了解的并不深所以我也说不清它到底是什么,所以这里我就用“专用部分”来形容它(也许可以统一叫做NPU?)。作为一个路由器,这个“专用部分”会处理路由器的大部分任务,比如 流量转发,NAT,QoS,加解密运算等功能,不同的处理器厂商对这个专用部分命名也不相同,像联发科(MediaTek/MTK)的叫HWNAT,高通(qualcomm)的就叫NSS,“专用部分”可以实现的功能也可能会有些不一样。
流量转发是指流量从一个网口转发到另外一个网口。(似乎流量转发是路由器的交换机芯片处理的,不过我并不了解这方面所以我都当作是 “专有部分” 一笔带过了)
NAT,Network Address Translation 网络地址转换,能让多台设备共用一个ip的技术
QoS,Quality of Service 服务质量,就是对数据包按照优先级发送
什么是“NPU” ?
NPU,Network Processing Unit 网络处理器(不是神经网络处理器那个NPU)
在现代通信网络中,语音、视频和资料等信息不再以模拟信号的方式发送,而是以数据包(packet data)的方式。网络处理器为了能优化处理数据包,特别具备了一些特性和架构,以加速处理网络数据包的效率。可以完成路由查找、协议分类、报文处理以及防火墙和服务质量等各种任务.
——维基百科
比如高通的ipq6000处理器,就是4核arm架构的a53处理器 + 1核NPU,这里的4核a53就是普通的处理器(相对于“专用部分”来说就是通用处理器),那一核NPU就是“专用部分”,NPU处理网络流量效率很高所以只有1核也不影响使用。
平常时,由“专用部分”处理的任务不会增加通用处理器的负载,而路由器大部分的任务都在专用的部分,所以通用处理器这部分不需要太强的性能。
硬路由可以刷软路由系统 ?
注意:不是所有的硬路由都可以刷 openwrt或者其他第三方系统
常见的家用硬路由的原厂固件功能完全可以用十分简陋来形容了,它不能满足所有人的使用需求,所以有人选择为路由器刷openwrt,也就是大家常说的 “刷第三方固件”.
在刷了openwrt后硬路由的内存与闪存空间就成了瓶颈,硬路由设计之初就不是用来折腾的,所以它不需要那么大的内存与闪存,要进一步的折腾会有限制,这时就需要使用软路由。
硬路由刷了类似于openwrt的软路由系统可以做很多软路由的功能,还有 “专用部分” 做硬件加速,所以你可以看见有人在论坛或交流群里说软路由没有用,会被硬路由取代。
刷固件后的硬路由调用 “专用部分” 需要固件支持,不然也还是会使用通用处理器去处理流量。
什么是软路由?
简单描述一下软路由 ?
软路由,就是软件路由器,软路由更侧重功能,因为没有硬路由那样的硬件 —— “专用部分”,所以只能依靠软件实现路由功能的路由器,这就是 “软路由” 这个名字的由来。
因为功能是依靠软件实现的所以也可以轻松的带来很多专业路由器的功能,另一方面是不用像硬由器厂商一样需要考虑用户能力而让路由器功能简单化,傻瓜化。
因为本质是一个linux系统,软路由还可以当成一个小服务器用,比如共享一下文件夹跑个简单的nas,做个下载机,跑个docker运行容器,作为一个vpn服务器或者是客户端又或者是透明代理,甚至可以帮你绕过校园网的种种限制等等各类功能。
什么样的设备可以拿来做软路由 ?
虽然说是路由器,但实际上是一个电脑,市面上常见的软路由其实就是个多网口小电脑而已,你入手之后完全可以拿来干别的事情(比如当个服务器,安装上Windows来办公用),也可以将旧电脑改装为软路由,不过旧电脑大多不是性能太过剩就是平台太老,功耗高,噪音大,体积大等缺点,总之不是什么旧电脑都适合当路由器用。
软路由的灵魂在于设备安装的操作系统,只要设备支持,安装上了软路由系统就可以做软路由了,得益于软路由足够强劲的处理器以及更大的内存和存储空间,可以在它上面运行的各类功能也可以正常发挥,本博客的主题会围绕openwrt(也叫LEDE)这个软路由系统,当然软路由系统不止这一个,还有ROS(RouterOS)、老毛子、梅林、海蜘蛛、ikuai(爱快)、PFsense等等,不同的系统有不同的特点:比如openwrt插件丰富,爱快流控功能强大等等。
软路由的特点
软路由常常不带有wifi,需要和硬路由配合使用,虽然可以通过加装无线网卡获得wifi功能,但似乎软路由对wifi的驾驭不如硬路由(这里指没有刷第三方固件的硬路由),wifi的使用体验不好,而且wifi不是使用软路由的目的,软路由与硬路由一起使用并不冲突,因为它们的侧重点不一样。
你可能常常听到有人说软路由性能更强,现在处理器的性能逐代增强,在较新的产品里性能太弱鸡的处理器已经找不到了。而且这个性能更强是相对于硬路由来说的,因为硬路由用不着太强的处理器,在设计上为了节省成本会降低其处理器的性能。
另外数据转发效率低也是一个特点……
软路由功耗高费电是真的吗 ?
这实际上是一个很片面的看法,软路由功耗是否高取决于选择的设备,你八核e5装上去它功耗能不高吗?
现在有很多的x86的低功耗处理器,待机功率基本都是个位数,而软路由大多数情况都是在待机,多交电费也就是几块钱的事,实在不满意还可以选arm架构的设备。
另外,抛开性能谈功耗也不怎么合适,虽然费电但是性能很强,你可以体会到性能强带来的福利。(前提是你能用得上)
软路由小包不行是什么意思 ?为什么不行 ?
小包不行,小包太弱,转发效率太低……这可能是你在论坛或交流群里经常能看见的形容软路由的字眼(意思是软路由数据包的包转发效率不高),小包不行其实是指只发送小数据包时的极限带宽速率太低,比如只能跑个将近一百兆的速度,速度不高但是处理器负载很高,相比之下同样的场景下硬路由就很游刃有余。
主要是因为缺少硬路由的 “专用部分” 分担负载,全部的任务都需要让处理器去完成,而处理器的流量转发效率低,要占用大量的资源。(这也是不建议拿多口软路由当交换机使用的原因,建议软路由配合交换机或者是硬路由也是这个原因)
其实正常上网的流量主要以大包为主,小包为辅,流量大的场景都用大包,需要小包的场景流量又小,小包比较常见的场景是游戏,但是游戏使用的带宽很小完全是kb级别,所以即使是软路由的小包性能也是足够用的(因为没有那么多的小包要发)。
综上所诉考虑小包完全是杞人忧天,只有像核心路由那样的大流量多设备场景下才需要考虑小包。
软路由转发效率低为什么还有人用?
既然转发效率低那为什么还有人用呢?一个词来形容,那就是“力大砖飞”,即:只要推力大,板砖也能飞上天。
巴特·奥斯本此番表述的意思是,一些设计上升阻比不够高、气动效率较差的飞机,其性能可以通过更强大的发动机功率获得补偿。甚至进一步而言,在拥有足够强大发动机作支撑的情况下,可以通过刻意设计在低速或无动力状态下阻力特性很差、但是可以借此换取强大升力或是其他性能优势的气动布局,由此靠动力换来飞机在载荷或飞行性能方面的优势。这方面的典型设计包括F-15战斗机、F-35战斗机以及米格-25截击机,以及二战期间的P-47战斗机等。
通常也可以被认为是军事家、工程师或军事爱好者对“大力出奇迹”的一种理解方式。
——萌娘百科
简单的说就是软路由设计不够精巧,全靠处理器性能强大,只要性能够强效率低就不是问题。
相比于硬路由,软路由能diy的功能更多,刷机更方便,退役后还可以干的事情很多,所以也很受欢迎。
为什么软路由会经常和“科学上网/翻墙”等词语有关?透明代理是什么意思?
平常时,翻墙都是打开设备上的软件并且点开开关才行,如果需要翻墙的设备一多那就要为所有的设备安装并且配置软件,显然这样很麻烦,更麻烦的是有些设备根本无法安装这类软件。
那要怎么办才能不需要为每个设备安装软件就能一次配置所有设备呢?
答案是透明代理,路由器是所有上网流量的必经之路,所有的数据都需要路由器转发,所以路由器上面可以轻松的把某些流量转发给代理服务器,这对于路由器下的设备是完全无感的,设备根本不知道自己使用了代理,是透明的,所以叫做透明代理。
因为透明代理无需做太多繁琐的配置,让连到路由器下的设备直接就能翻墙,使用起来很轻松,很多人为了这个才入手软路由。
买了软路由是不是就不用买代理节点了?
有时候能看见这样的说法,我必须要说,还得买!软路由只是能让你使用的更方便而已。
用了软路由可以让我的网速变快吗 ?
只有你的网络环境十分病态的时候,软路由也许能提高你的网速,正常情况下是不会有什么变化的。由于配置软路由需要更多的专业知识,不正确的配置软路由会导致网速反而变慢。
如果你在追求更高的下载与上传速度的话,软路由的多拨功能可能会帮到你。
多拨,即同一个账号进行多次拨号上网,然后将每次拨号的带宽资源叠加起来,可以让宽带不额外付钱就有更高的速度。
不过要注意,有些地区的运营商能多播,有些则不行,所以能否成功多播是一个未知数。
对于运营商来说,从原则上来说是不允许多拨的,毕竟天底下没有免费的午餐,也许是内部的管理不善导致了可以多拨的漏洞,如果影响不大运营商那边可能不会太在意,否则可能会招致运营商上门的后果。