从零开始搭建 HomeLab 第二部分(上)介绍计算机网络与软路由

· · 科技·工程

Build Your Own Home-LAB Part 2 Div 1. Networking & Soft Routing

嗨嗨~ 欢迎来到 Build Your Own Home-LAB 的第二部分,按照原计划,第二部分应该是 PVE 虚拟化,但这部分被鸽了,所以后面再说吧……

另外,这次的内容比较干,蒟蒻已经尽力讲明白了,同时添加了一些 Emoji,但愿大家读起来可以好受一些 AwA~ 如果有任何错误或者建议,欢迎在下方提出,感谢各位。

接下来几章我尽量保持月更,希望大家喜欢!

0x01 什么是计算机网络

计算机网络是指由两台或多台计算设备,通过通信线路和协议连接起来,用以交换数据和共享资源的系统。它不依赖互联网存在,可以是局部的,例如局域网(LAN),其核心目的是实现信息的高效传递与协作。

想象一下,你有好几个朋友,每个人手上都有一个神奇的笔记本,能写东西、能存东西、还能玩游戏。每个人都能自己玩得很开心,但如果他们想要 一起玩、互相传纸条、借用彼此的资料,就需要一种方式让这些笔记本“连起来”交流信息。这个“让笔记本之间能交流”的方法,就是计算机网络的本质

0x02 计算机网络的发展

自 20 世纪 40 年代第一台冯·诺伊曼架构的计算机 EDVAC 开始,科学家们便开始尝试将计算机们连接起来,组成像蜘蛛网一样互联的计算机网络,到 1950 年代后期,最早期的计算机网络渐渐出现\space^{[1]}

0x02 计算机网络的发展

1950s–1960s:早期军事网络与自动化系统

SAGE(Semi-Automatic Ground Environment)

SAGE 是美国在冷战期间开发的半自动地面防空系统,旨在通过计算机网络实时追踪和拦截敌方飞机。该系统由麻省理工学院林肯实验室主导开发,于 1958 年投入使用,连接了全美 27 个指挥控制中心,使用 IBM AN/FSQ-7 计算机进行数据处理和通信。SAGE 被认为是世界上第一个地理分布式、在线实时的数字计算机系统,为后来的计算机网络奠定了基础。

OGAS(国家自动化系统)

OGAS 是苏联在 1962 年提出的全国性信息网络项目,旨在通过计算机网络实现国家经济管理的自动化。该项目由维克托·格卢什科夫领导,计划构建一个覆盖全国的三层网络结构,包括中央、地区和地方节点。尽管 OGAS 在技术上具有前瞻性,但由于政治和经济原因,未能获得足够的支持,最终在 1970 年被取消。

1969–1980s:ARPANET 与现代互联网的雏形

ARPANET 是美国国防部高级研究计划局(ARPA)于 1969 年启动的项目,旨在创建一个分布式的计算机网络,以提高通信的可靠性。该网络最初连接了加州大学洛杉矶分校、斯坦福研究所、加州大学圣塔芭芭拉分校和犹他大学四个节点。ARPANET 引入了分组交换技术,并开发了远程登录和文件传输等功能,被广泛认为是现代互联网的前身。

1989–1990s:万维网(World Wide Web)的诞生

1989 年,英国科学家蒂姆·伯纳斯-李在欧洲核子研究中心(CERN)提出了万维网的概念,旨在通过超文本链接实现全球信息的共享。他开发了第一个网页浏览器和服务器,并制定了超文本传输协议(HTTP)和超文本标记语言(HTML)。1991 年,万维网向公众开放,标志着互联网进入了一个新的时代。

1999–2000s:Web 2.0 与用户参与的兴起

1999 年,达西·迪努奇在文章中首次提出“Web 2.0”这一术语,描述了互联网从静态页面向动态、互动内容的转变。2004 年,蒂姆·奥莱利在 Web 2.0 会议上进一步推广了这一概念,强调用户生成内容、社交网络和协作平台的重要性。Web 2.0 的兴起使得用户不仅是信息的接收者,更成为内容的创造者和传播者,极大地丰富了互联网的生态系统。

从 SAGE 到 OGAS,再到 ARPANET、万维网和 Web 2.0,计算机网络的发展经历了从军事用途到公共服务、从集中控制到用户参与的演变。这些历史节点不仅塑造了我们今天所依赖的互联网,也为未来的网络技术发展提供了宝贵的经验和启示。

0x03 计算机网络的接入技术

本节内容参考了 B 站博主飞天闪客的视频 《你管这破玩意叫网络?》,在此致以诚挚感谢!

另:本节内容繁多,难免出错,欢迎读者在讨论区中提出问题,我会及时回复。

在了解了计算机网络的发展之后,我们来看看它的基本构成。

我们通常将一台可以接入计算机网络的设备称为网络接入终端。家中常见的网络类型叫作局域网(LAN, Local Area Network)。局域网由多个接入终端互联构成,规模较小,常用于家庭、办公室、商场等场景。除了局域网,还有更大范围的城域网(MAN, Metropolitan Area Network)广域网(WAN, Wide Area Network)。简单来说,MAN 由多个 LAN 互联而成,而 WAN 则可以跨越城市甚至国家,连接多个 MAN 或 LAN。

网络接入与带宽

现在我们回到终端设备——你有没有想过,是什么让你的电脑能够上网?

没错,就是网络适配器(Network Adapter)。它负责与上级设备进行通信,使用的协议可以是有线的以太网(Ethernet),也可以是无线的 Wi-Fi。

适配器每秒可以传输的数据量叫做带宽,常见的有 100 Mbps、1 Gbps、10 Gbps 等。服务器领域甚至可以达到 100 Gbps、400 Gbps,甚至更高。

随着带宽提升,网络接入介质也不断演进:

此外,伴随 AI 模型训练等高速互联需求,NVIDIA 的 Infiniband 协议在超级计算机之间得到了广泛应用。不过这类技术目前主要用于数据中心,不属于家庭网络的常见范畴。

交换机与集线器:网络中的“快递站”

网络接入终端通常连接在交换机(Switch)上,而在早期网络中,也可能是集线器(Hub)。我们可以用“包裹”来类比数据包:它上面会标注发件人和收件人,这部分信息称为数据链路层头部。终端的唯一身份地址叫做MAC 地址(媒体访问控制地址)

集线器的工作方式比较“粗暴”:收到一个数据包后,它会把包广播给所有终端,由终端判断是不是自己的。如果不是,就丢弃。这种方式虽然简单,但安全性差——网络中的其他设备理论上都能“偷看”你的数据。

交换机则更“聪明”:它内部维护一张MAC 地址表,记录每个端口所连接设备的 MAC 地址。第一次遇到陌生地址时,交换机会像集线器一样广播,但一旦收到响应,就记住该地址,以后再有相同目的地的数据包,就只发给目标设备。这样既提高了效率,也增强了安全性。

By bilibili @飞天闪客

路由器:不同网络之间的“中转站”

通过交换机,我们搭建了一个局域网。但不同的局域网之间怎么通信呢?这就要靠路由器(Router)了。路由器通常连接在交换机的上游,有些交换机不区分上行端口(UP Port),使用时需注意。

设想有两个网络:A_{1\dots n}B_{1\dots m},它们分别使用 192.168.1.x192.168.2.x 段的IP 地址。当设备 A1 想向 B1 发送数据时,数据包会带上网络层头部,其中包含源 IP 和目标 IP。

此时,终端会根据子网掩码判断目标 IP 是否在同一子网中:如果不同,就将数据包转发给默认网关,也就是路由器。

路由器内部也维护一张路由表(Routing Table),作用类似于交换机的 MAC 地址表,用来决定下一跳该将数据包发往哪里。此外,终端和路由器还会缓存 IP 与 MAC 地址之间的映射关系,形成所谓的 ARP 缓存表(Address Resolution Protocol Cache)

在家庭宽带场景中,路由器还可以通过 PPPoE 拨号协议 接入 ISP(互联网服务提供商,Internet Service Provider) 的网络,通常通过 调制解调器(Modem) 进行桥接。

By bilibili @飞天闪客

ISP:家庭网络的“上层入口”

我们已经搭建好了局域网,并通过路由器将局域网中的设备连接了起来。但问题来了:路由器是如何将你家的网络接入整个互联网的?

这就涉及到你的网络服务提供商,也就是 ISP(Internet Service Provider,互联网服务提供商)

➤ 接入方式:光猫与拨号

家庭宽带一般是通过光纤线路进入你家的。你家墙上的那根白色线缆,很可能是一根从运营商机房拉来的光纤,它接入的设备叫做 光猫(又称 Modem,调制解调器),负责把光信号转换为电信号,供路由器使用。

运营商通常会使用两种无源光网络技术进行家庭接入:

➤ 上网凭证:拨号认证与 PPPoE

光猫虽然“接了网”,但还不能直接上网。这是因为运营商需要你“登录”一下,确认你是合法用户。

这一步通常通过 PPPoE(Point-to-Point Protocol over Ethernet)拨号协议 实现。它就像是“验证身份用的拨号卡”:你家路由器里保存着用户名和密码,每次开机后自动拨号,认证通过后才能访问公网。

你可以把 PPPoE 理解为运营商提供的“网络账户登录系统”。

一旦拨号成功,你的家庭网络就拥有了一个公网出口地址(IP 地址),从此可以访问互联网的所有内容。

➤ 公网与私网:软路由的机会点

值得一提的是,运营商分配给你家的 IP 地址,可能是一个 公网 IP,也可能是内网 IP(私有 IP)

这在软路由的使用中非常关键。许多软路由系统(如 OpenWRT、iKuai、爱快等)都可以用来:

计算机网络的结构模型

OSI(Open Systems Interconnection,开放式系统互联)模型是由国际标准化组织(ISO)提出的,用于指导各种网络设备之间如何通信。它将数据在网络中的传输过程划分为七个层次,每一层都承担特定的功能,层层相依、逐级传递。

我们可以把这个模型想象成一个邮局递送系统,从你写信、装进信封、贴地址,到快递员送货上门,每一步都有各自的流程和职责。

🟪 第 7 层:应用层(Application Layer)

🟦 第 6 层:表示层(Presentation Layer)

🟩 第 5 层:会话层(Session Layer)

🟥 第 4 层:传输层(Transport Layer)

🟨 第 3 层:网络层(Network Layer)

🟧 第 2 层:数据链路层(Data Link Layer)

⬛ 第 1 层:物理层(Physical Layer)

0x05 软路由是什么?

我们在前文提到过“软路由”这一概念,但现在是时候详细聊聊它到底是什么了。

通俗点说,软路由(Software Router),是指一台运行路由器功能的通用计算设备(如 X86 小主机、ARM 开发板、工控机等),通过安装专门的操作系统(如 OpenWRT、、爱快、RouterOS 等)来实现传统硬件路由器的网络转发与管理能力。

相较于传统路由器(即硬路由),软路由具备以下几个特点:

不过,软路由也不是完美无缺,它主要存在两个短板:

  1. 缺乏硬件加速模块:传统路由器通常集成了专业芯片以加速网络转发(如 NPU、ASIC、H-NAT),而软路由常规仅依靠 CPU 处理全部网络数据,因此在处理大流量转发时,性能瓶颈更容易出现。
  2. 无线性能较弱:软路由本身一般不带 Wi-Fi 天线或无线模块,需另配 AP(Access Point)或使用老路由器桥接,且稳定性与射频调优通常不如一体式路由器。

所以,在选择是否使用软路由之前,建议先明确自己的使用场景和需求,避免“性能过剩”或“功能不够”的情况发生。

0x06 我需要软路由吗?

这个问题其实和“你家网络的复杂程度”密切相关,也就是说,并不是所有人都需要软路由。希望大家理性考虑,你可以从下面这些角度来判断:

✅ 如果你是这样的用户,软路由值得考虑

❌ 如果你是这样的用户,硬路由可能更合适

小结建议:

使用需求 推荐方案
普通家庭上网 品牌硬路由器
网络轻度玩法 品牌路由 + 插件(如 OpenWRT 版小米/华硕)
重度网络管理 软路由 + 高性能交换机/AP
网络爱好者 / 运维玩家 核心网络使用软路由 + VLAN + 子网规划

0x07 软路由系统选择

在本节中,我将选取一些经典的软路由系统进行介绍,以帮助大家选择适合自己的系统。

1. OpenWRT 及其衍生

OpenWRT 是一个非常成熟、社区活跃的开源路由系统,以其强大的可定制性和模块化设计著称。它支持众多硬件平台,包括 MIPS、ARM 和 X86,常见的家用无线路由器也大多基于其魔改版本。

特点如下:

适合人群:

衍生版本包括:

2. iKuai(爱快)

iKuai 是国内开发的一套专为网络管理场景打造的软路由系统,使用体验非常接近企业级设备,但 UI 做得简洁易懂,适合中小企业和高阶家庭用户。

特点如下:

适合人群:

🚨 注意:虽然 iKuai 本身是免费的,但部分功能(如高级认证、防火墙模块)可能需要商业授权;此外,它是闭源系统,不支持用户修改底层代码。

0x08 小结

通过上面的介绍,希望大家能够对计算机网络有一个初步的认知,基本了解软路由的作用和常见的几种软路由操作系统,限于篇幅,软路由的实装和使用我们留在下一 Div 进行介绍(继续挖坑),感谢阅读~

\text{To Be Continued\dots}