1.路由器

前文中提到了很多次路由器,在此简要介绍一下路由器的概念。路由器(router),主要负责数据包路由(route)。

以极其简单的话来讲,我们网上冲浪时,需要发送和接收许多互联网数据包,这些数据包里有我们的网页、邮件、视频或音乐等。如高速公路一般,数据包在到达目的地的途中,会遇到许多的岔路分支,只有选择了正确的岔路才可顺利通向目的地。

路由(route)便是在岔路口为数据包决定方向的操作。在互联网中,存在着无数的路由器,它们像蛛网一样联通着彼此,构建成了我们的互联网通道,依据路由表决定着我们的数据包应该走向何方。

2.家庭路由器与通用路由器的不同

不知道各位是否记得,在早些年间,我们的计算机联网时,只需要将光猫/调制解调器的一头插入光纤/电话线,另一头插入到计算机的RJ-45网口,随后在计算机启动拨号/PPPoE客户端即可使计算机联通网络。如此看来,以往确实无需家庭路由器即可上网。

那为何如今,我们家家户户都离不开路由器了呢?且上文中提到,路由器是在互联网的分岔路口起到路由作用的机器,我的家里只有一根网线/光纤,没有岔路,我的数据包从这一个连接线发送就可以了,这个路由器有什么用呢?

这是因为,家庭路由器和通用路由器有很大不同。以至于不像是一个路由器了。(因此我一直强调是“家庭路由器”)

(1)家庭路由器承担了交换机和无线接入点(Access Point)的工作

随着科技的发展,手机、平板、笔记本电脑等设备在个人生活里扮演着越来越重要的角色,家庭中需要联网的设备越来越多。家庭路由器都会提供无线网络功能,也就是“WIFI”,能够将无线设备接入到家庭网络中去。此时,它扮演了交换机和无线接入点的角色。有些设备不具有无线功能,则可通过家庭路由器上的RJ-45网口连接到家庭网络。此时,它扮演了交换机的角色。

(2)家庭路由器承担了PPPoE拨号上网和NAT的工作

PPPoE是运营商向普通家庭用户提供网络服务的常用协议,它可使用账户名和密码验证用户的宽带信息并提供上网通道。在过去一个家庭只有一台计算机的情境下,使用计算机进行PPPoE拨号显然是很便捷合适的。但若希望家庭内的所有设备都可以访问互联网,就需要由家庭路由器承担PPPoE拨号的工作。

NAT(Network Address Translate)是家庭上网所必备的一个条件。在大陆,由于IP地址匮乏,通常来讲每户仅能获得一个用于上网的公网IP地址(CGNAT情况下,甚至只能获得一个运营商IP地址用来上网)。家庭路由器必须提供NAT功能,使家庭内的所有设备都可以共享这一个地址访问互联网。

(3)家庭路由器看似不承担路由工作,但确实在进行路由。

尽管家庭路由器往往只支持接入单条互联网线路(最近部分家庭路由器支持了多宽带聚合用于提速,暂且不论),看似无需“路由”,但实际上,它确实在路由数据包,不过是将你的数据包“从家庭内网、路由到运营商网络”。

2.软路由

在网络讨论中常出现的软路由和硬路由是两种不同类型的家庭路由器,他们并不是什么标准/规范中所指明的名称。

硬路由大多指常见的家庭路由器,包括你在京东等平台内搜索“路由器”后出现的那些商品。它们常常只具备上述所提到的那些家庭路由器应当具有的功能,主要依据自身硬件(或者说诸如PPPoE加速等硬件加速器)处理网络数据包,可以以较低的价格实现很高的专用性能(包转发,NAT,路由及PPPoE拨号)。

而软路由则是以软件为主的路由器。举一个最简单的例子,我们在自己的计算机上,安装一个软路由系统,那么就可以称我们的计算机变成了一台软路由。

软路由并不是什么高深/优越的设备,但很多的网友却觉得自己使用了软路由便高人一等,值得炫耀/夸赞,逢人便不分使用场景和需求就推广openwrt之类的系统/设备;也有相当一部分朋友被软广/网友所“欺骗”,认为有了软路由就可以保障自己的网络体验。软路由的利与弊,是我们需要谨慎辩证地看待的。

(1)软路由的热度来源

为何在VPN与翻墙的文章里提及软路由,便是因为软路由的热度大多来源于翻墙的需求。软路由有着极佳的软件可玩性,可以在系统内安装诸如 Clash/Shadowsocks/Hello world 等代理插件,在路由器端实现翻墙,使全屋内的设备可以无需安装代理/VPN软件即可访问国际互联网。

于是,这一玩法慢慢从少数极客拓展到了更大的圈子,许多网友第一次听闻软路由便是在翻墙的话题里。慢慢一传十十传百,大多数常常网上冲浪的朋友们也都知道了软路由一词,他们的讨论又顺带给软路由带来了更多的热度。

(2)软路由的利

软路由这个事物的出现必定是有其积极的一面的。

a)软路由弥补了硬路由在功能方面的缺失

这是软路由出现的原因,也是软路由的最大优势。软路由系统通常基于Linux内核,可搭配各类软件和插件,实现诸如广告拦截/DDNS/存储分享/打印机分享/翻墙的功能,可玩性很高。

b)软路由(一定程度上)实现了对自身隐私的保护

相较于国内各厂商售卖的成品硬路由,从一定程度上来讲,软路由不会有被扫描家庭内网、搜集个人隐私的顾虑。

这要标明“一定程度”,有两个原因,一是因为就目前为止,除了华为/小米等国产的路由器,大部分的厂商还是不怎么大肆搜集用户的内网信息的;二是因为软路由之中也有用户安装的第三方插件/系统制作者插入的个人脚本,软路由系统本身不会扫描家庭内网并不意味着这些插件和脚本也这么安分。

(3)软路由的弊

a)兼容性和稳定性问题

软路由与稳定性天生不是一对良配。由于每个机器的硬件不同,软路由系统无法保障100%的兼容性,其工作稳定性也有待考验。若是搭配上一系列的第三方插件,那稳定性就更难评价了。

网络上有许多的帖子发言说安装完软路由后稳定可靠,使用了xx天都不卡顿,速度也很快。这就是幸存者偏差了,若是安装失败/安装后发现网络并不稳定,那大概率也不会发帖了。更应当关注的是这类“升级系统后xx报错/无法联网”的求助帖,便可大概了解到软路由的稳定性了。

b)硬件加速的缺失

由于软路由几乎不会配置包转发加速芯片,因此所有的数据包都会流经CPU进行处理。例如,大部分硬路由都可以实现接近千兆的小包(64byte)转发,而配备i3-9100T CPU的软路由的小包转发只能稳定达到80Mbps,远低于普通硬路由。只有在软路由下挂一台交换机来解决内网小包的问题,至于内网到外网的小包加速,则是没有办法了。

以及NAT硬件加速的缺失,若加上翻墙和广告过滤的需求,那么配置一台性能完全达标的软路由价格想必也是不菲的。

标签: 网络