家里的网络其实已经用了挺长时间。

平时上网没有什么问题,NAS 也能正常访问。直到最近折腾 NAS 和局域网文件传输时,我突然发现了一个非常朴素的问题:

千兆网,好像开始不太够用了。🤔

倒不是说千兆有多慢。

对于互联网来说,日常上网完全够用。

真正的问题出现在内网。

NAS、PC、手机之间的数据传输,并不需要经过互联网。既然设备本身已经具备更高的性能,那让所有内网流量继续堵在千兆网口上,就多少有点可惜了。

于是,一场 2.5G 局域网改造开始了。

1. 原来的网络结构

最初的结构其实非常普通:

graph TD
A[Internet] --> B[光猫]
B -- 千兆 --> C[路由器]
C -- 千兆 --> D[PC]
C -- 千兆 --> E[NAS]

千兆以太网理论速率是:1000 Mbps

换算成字节大约是:125 MB/s

再扣除以协议开销之后,实际文件传输一般也就是:110 MB/s 左右

放在以前,这已经很快了。

但随着 NAS、大文件、本地备份越来越多,110 MB/s 这个数字开始变得有点碍眼。

尤其是 NAS 里的文件动辄几十 GB 时。

这个时候,千兆网就开始散发出一种:

“你在教我做事啊?我就这个速率,嫌慢自己升级啊。”

的气息。

2. 路由器设备信息

目前使用的路由器是腾达云霄 BE5100 / BE6L Pro。

主要规格大概是:

  • Wi-Fi 7
  • 160 MHz 频宽
  • 无线理论速率 5011 Mbps
  • 1 个 2.5G WAN/LAN 自适应网口
  • 3 个千兆 WAN/LAN 自适应网口

也就是说,虽然大部分有线接口还是千兆,但它至少给了一个 2.5G 口。

这就有操作空间了。但是实现起来方案也有许多种。

于是我先把 NAS 接到了路由器的 2.5G 网口。

PC 则暂时继续使用主板自带的千兆网口连接路由器。

结构变成:

flowchart TB
Internet["Internet"]
ONU["光猫"]
Router["Wi-Fi 7 路由器"]
NAS["NAS"]
PC["PC"]

Internet --> ONU
ONU -->|"千兆 WAN"| Router
Router -->|"2.5G LAN"| NAS
Router -->|"千兆 LAN"| PC

这样做有一个直接的好处:

NAS 已经不再被路由器的千兆 LAN 口限制。

3. 增加额外的 2.5G 网口

细想之下,我的 PC 与 NAS 的主板网口均只有千兆水平。也就是说,这样的话 PC 与 NAS 的网口速率将会成为瓶颈,我不得不额外安装网卡。例如PCIE接口或者 USB 5Gbps 的接口。

试着查了下我的PC主板与NAS主板的接口,很顺利,他们都有 USB 5Gbps 速率的接口:

B450M MORTAR MAX

B450M MORTAR MAX

H110M-E/M.2

H110M-E/M.2

那我们可以选择 USB —– RJ45 的 2.5G 拓展网口了。

这样一来还不用额外打开机箱占用PCIE插槽了,还有一点就是 USB 方便。😋

4. PC 与 NAS

如果单纯想让 PC 和 NAS 之间跑 2.5G,最简单的想法当然是买一台 2.5G 交换机。

结构会变成:

graph TD
A[Internet] --> B[光猫]
B -- "千兆 → 路由器 WAN口" --> C[路由器]
C -- "2.5G LAN口 → 交换机 WAN口" --> D[2.5G 交换机]
D -- "2.5G LAN口" --> E[NAS]
D -- "2.5G LAN口" --> F[PC]

这也是最标准、最优雅的方案。

开始思索

但是想了一圈之后发现:

其实我目前真正需要高速互传的设备,就 PC 和 NAS 两台。

那事情突然就简单了。

既然如此,为什么一定要经过交换机?

直接连不就完了。

于是 PC 增加一张 2.5G 网卡,NAS 同样使用额外的 2.5G 网口,两台设备之间直接拉一根网线。

最终结构变成:

flowchart TB
Internet["Internet"]
ONU["光猫"]
Router["Wi-Fi 7 路由器"]

PC["PC"]
NAS["NAS"]
Phone["手机"]

Internet --> ONU
ONU -->|"千兆 WAN"| Router

Router -->|"千兆 LAN"| PC
Router -->|"2.5G LAN"| NAS

PC <-->|"2.5Gbps 直连"| NAS

Phone <-->|"Wi-Fi 7"| Router

这下网络被分成了两套。

平时 PC 上网:

graph TD
A[PC] -- 千兆网口 --> B["路由器(拨号 / NAT)"]
B --> C["光猫(桥接)"]
C --> D[Internet]

PC 和 NAS 传大文件:

graph TD
A[PC] -- "2.5G 网卡" --> B[NAS]

完全不用绕路由器。

有点像原本大家都在走城市道路,现在 PC 和 NAS 私下修了一条高速公路。

5. 直连网络单独划一个网段

PC 和 NAS 增加第二张网卡之后,其实就同时存在两套网络。

例如正常家庭局域网可以继续使用:

路由器:192.168.1.1
PC:192.168.1.x
NAS:192.168.1.x

而 PC 和 NAS 之间的 2.5G 直连,则可以单独划一个网段,例如:

PC 2.5G:
10.10.10.1

NAS 2.5G:
10.10.10.2

这样访问 NAS 高速网口时,直接使用:

\\10.10.10.2

Windows 就可以通过这条 2.5G 链路访问 NAS。

而访问互联网以及其他局域网设备时,依旧正常走路由器。

两边井水不犯河水。

5. 手机也能超过千兆?

做到这里的时候,我突然想到另一个问题。

NAS 现在是通过路由器 2.5G 网口连接路由器 的。

而这台路由器又是 Wi-Fi 7。

再给NAS加一个2.5G网口那手机通过 Wi-Fi 访问 NAS,是不是也不再受到千兆 LAN 的限制?

当然如此。

手机访问 NAS 的路径其实是:

graph TD
A["无线终端(手机 / 笔记本)"] -- "Wi-Fi 7" --> B[路由器]
B -- "2.5G LAN" --> C[NAS]

这整个过程都是局域网通信。

根本不需要经过:光猫

更不会经过路由器的千兆 WAN。

所以即使家里的宽带只有千兆,也不影响手机和 NAS 之间跑超过 1Gbps 的局域网速度。

不过倒也不是必须,还是先前的话,主要还是PC与NAS间的高速传输。

6. 关于路由器的理论 5011 Mbps

这里顺便记录一个很容易混淆的地方。

路由器标称:5011 Mbps

这个数字或许是总设备最大速率之和?

不过细想之下倒也不会超过此速率,我也不会同时将 PC 与手机同时对 NAS 进行读写。

我的手机支持:

Wi-Fi 7
5 GHz
160 MHz
2×2 MIMO

实际连接路由器时看到的链路速度是:

发送链接速度:2593 Mbps
接收链接速度:2401 Mbps

这才是对单台手机更有参考价值的数据。

通常2401 Mbps 链路速率,并不等于文件能以 2401 Mbps 传输。

Wi-Fi 还存在:

  • 无线协议开销
  • ACK
  • 信道竞争
  • 重传
  • 加密
  • TCP / SMB 开销

所以真正的数据吞吐一定会低于 PHY 链路速率。

以现在约 2.4~2.6Gbps 的无线协商速率来看,在信号和环境比较理想的情况下,

实际局域网吞吐有机会达到:1.4 ~ 1.9 Gbps

也就是大约:175 ~ 240 MB/s

这已经明显超过千兆有线网络的:约 110 MB/s

7. 新的风暴已经出现

网络升级到 2.5G 并不意味着文件传输一定能跑满 2.5Gbps。

2.5GbE 理论值是:2500 Mbps

换算下来:312.5 MB/s

扣除协议开销之后,实际极限一般会低一些。

而真正传文件时,还要看:

硬盘
CPU
文件系统
SMB
缓存
文件大小
碎片数量

其实最大的瓶颈是机械硬盘。

普通机械硬盘连续读写很多时候也就在:150~220 MB/s 这个范围。

所以网络突破千兆之后,下一位出现在性能审判席上的,很可能就变成了硬盘。

以前:

机械硬盘:你跑不过我你信不信?

千兆网卡:……

现在:

2.5G 网卡:你跑不过我你信不信?

机械硬盘:……

8. 硬盘的问题

这下好了,当前的压力给到了机械硬盘。

对此我们无非就是增加固态:

  1. 财大气粗,直接使用固态。
  2. 囊中羞涩,还是使用固态做缓存吧。

很明显,对于我们肯定是选择第二条。

注意到,FnOS支持将系统剩下的空间当作机械硬盘的缓存,这无疑又双叒叕帮我省了一笔费用。

图先欠着

9. 关于 2.5G 交换机

从网络架构角度来说,2.5G 交换机当然更舒服。

PC、NAS、未来其他设备都接进去,一切流量自动交换,不需要搞第二套直连网络。

但考虑到我目前需要高速通信的就是:PC ↔ NAS

而 NAS 又已经可以通过路由器的 2.5G 网口服务 Wi-Fi 设备。

于是现阶段:

PC ↔ NAS:2.5G 直连

手机 ↔ NAS:
Wi-Fi 7 → 路由器 → 2.5G

其他设备:
正常连接路由器

已经基本覆盖了我的需求。

没必要为了两个设备,再专门加一个交换机、一套供电和几根额外的网线。

以后如果 2.5G 设备越来越多,再加交换机也不迟。鄙人囊中羞涩

10. 终了

目前整个家庭网络大概就是这样:

flowchart LR
Internet["Internet"]
ONU["光猫"]
Router["BE5100<br/>Wi-Fi 7"]

PC["PC<br/>千兆 + 2.5G"]
NAS["NAS<br/>2.5G + 2.5G"]
Phone["手机<br/>Wi-Fi 7"]

Internet --> ONU
ONU -->|"1GbE"| Router

Router -->|"1GbE"| PC
Router -->|"2.5GbE"| NAS
Router <-->|"Wi-Fi 7<br/>2401~2593 Mbps PHY"| Phone

PC <-->|"2.5GbE 专线"| NAS

总结下来,这次升级其实没有大动干戈。

没有换光猫。

没有换宽带。

甚至没有买 2.5G 交换机。

只是利用现有路由器的一个 2.5G 网口,再给 PC 和 NAS 补上高速网卡,就把最需要速度的几条内网路径基本打通了。

对于目前的使用场景来说,已经很舒服。

至于下一步……