FreeBuf自己动手DIY:N1软路由

背景:
现在大家家里面都有路由器了 。
路由器最主要的功能可以理解为实现信息的转送 。 因此 , 我们把这个过程称之为寻址过程 。 因为在路由器处在不同网络之间 , 但并不一定是信息的最终接收地址 。 所以在路由器中, 通常存在着一张路由表 。 根据传送网站传送的信息的最终地址 , 寻找下一转发地址 , 应该是哪个网络 。 其实深入简出的说 , 就如同快递公司来发送邮件 。 邮件并不是瞬间到达最终目的地 , 而是通过不同分站的分拣 , 不断的接近最终地址 , 从而实现邮件的投递过程的 。 路由器寻址过程也是类似原理 。 通过最终地址 , 在路由表中进行匹配 , 通过算法确定下一转发地址 。 这个地址可能是中间地址 , 也可能是最终的到达地址 。
路由器的功能就是将不同的子网之间的数据进行传递 。 具体功能有以下几点:
(1)实现IP、TCP、UDP、ICMP等网络的互连 。
(2)对数据进行处理 。 收发数据包 , 具有对数据的分组过滤、复用、加密、压缩及防护墙等各项功能 。
(3)依据路由表的信息 , 对数据包下一传输目的地进行选择 。
(4) 进行外部网关协议和其他自制域之间拓扑信息的交换 。
(5) 实现网络管理和系统支持功能 。
软路由和硬路由都是路由器所以他们最基本的功能都是实现信息的传输 。 那为什么还要有软路由和硬路由之分呢?
硬件路由器像很多家里面宽带师傅上门给你推荐安装的都是硬件路由器 , 淘宝上面成本不高 , 尤其是给一些家里面不懂的人安装 , 价格可以稍微提高一点赚点差价 。 之前干过一段时间的装维 , 这里面的利润还是挺大的 , 我一个月靠卖路由器都赚了2K+ 。 很多人都闲麻烦就选择从我这里拿 , 我主要是看装宽带家里面人用什么手机 , 像华为的话 , 我一般就会推荐华为的路由器 , 支持NFC一碰即连 。 小米我就推荐小米的 , 苹果的我就推荐华硕什么的 , 一般家庭我根据使用人数我也会带一些水星等牌子的路由器 。
FreeBuf自己动手DIY:N1软路由
本文插图
在说到硬件路由器 , 硬路由是采用特定的硬件设备 , 基于嵌入式系统架构 , 以自行开发或是现成的嵌入式操作系统 如Vxworks , uClinux 等等为操作系统 , 再配合系统厂商自行开发的路由软件 , 提供专门的路由器功能 , 软件与硬件是互相配合的 。 对硬件路由器的管理通常采用专用命令行、图形界面或网管软件实现 , 市面上售卖的路由器一般都是硬件路由器 。 软路由我用一个不太恰当的例子就是一台电脑你安装了win10然后还开了虚拟机安装了win7和Linux 。
软路由就是使用软件模拟硬路由 。
为什么要软路由???直接使用硬件路由不就好了嘛?
那我问你 , 你的工作需要同时在win10 , win7 , Linux下同时工作 , 你是选择买三台电脑回来还是在一台电脑上面用虚拟机开三个系统呢?
不懂没关系 , 因为有钱人用硬路由 , 你肯定是有钱人 。 能同时买三台电脑 。
硬件路由器想要实现很多功能的话只能购买很高端的配置 , 但是价钱不菲啊 , 一般家庭不会选择这个方案的!!!!
软件路由器一般硬件配置要比硬件路由器配置高 , 所以某些情况下速度比几千上万元的硬件路由器稳定还要快 。 至于软件路由器的稳定性 , 受益于稳定的Linux和BSD内核 。
好了找到一个省钱的办法实现买一个高端的硬件路由器的法子了 , 那为什么要使用软路由呢?
你还不懂嘛?我最常用的就是一些特殊的上网功能了 , 硬件路由器基本无法解码 。 尤其是我上面卖的路由器 , 一些特殊功能还是得依靠强大的算力才能满足(我一直以为树莓派应该就可以满足我的需求了 , 直到我看到有人用I7处理器做软路由 , 我才意识到贫穷给我想象力带来的限制) 。 但是很多人都是通过使用电脑软件来满足一些需求的 , 但是有这样的局限性 , 比如说我像手机也有一些特殊功能 , 又得在手机上安装软件 , 那我想电视上面也想使用一些特殊功能 , 难不成又去电视上安装吗?


推荐阅读