家庭 10Gbps 网络施工指南

千兆网已经普及了近一二十年,其他计算设备瓶颈都在大幅改善,存储设备速度都翻了快 30 倍(HDD 普遍连续读取速度为 160MB/s,现在最快 SSD 可到 5000MB/s),也是时候在网络设备上动手了。

当然现在万兆网依然是少数人吃螃蟹的状态,设备昂贵且坑多,仅推荐有钱有闲人士折腾…

要想把家庭网络从千兆提到万兆,首先要确认网络传输速度是短板,否则没有意义。千兆网的最高速率一般为 120MB/s,所以其他瓶颈可能会在:

  1. CPU:近几年的设备一般都能支撑 10Gbps,不过如果设备过旧可能需要考虑先升级。
  2. 存储:单块 HDD 速度一般最快只有 150MB/s 左右,千兆网络完全足够,提高方法是换 SSD 或者组可以加速的 RAID 阵列。可以先跑个 benchmark 确认存储性能足够。
  3. 网线:如果你准备互联的万兆设备间的网线是预埋的,那可能需要确认预埋网线能够承载万兆网,按照标准需要 6 类线以上才可,但实际上质量过硬的超五类也可以。

确认瓶颈是千兆网后,开始折腾。

SFP 模块

首先需要了解 SFP 模块:

百兆和千兆网时代,几乎使用的都是双绞线作为物理传输介质,但是万兆网时代后,由于使用双绞线有一些缺陷,所以通行设计是将网络设备的物理传输层隔绝出来,允许插入一个 SFP 模块,由它进行信号调制,以此自由的支持各种传输介质。SFP+ 标准对应着 10Gbps。

常见的 SFP+ 模块有四种:

  1. RJ45 双绞线:即最常见的网线接口,俗称电口。
  2. 光纤:转化为光信号后通过光纤进行通讯。
  3. DAC:由两个模块和导线构成的一个整体跳线。
  4. AOC:由两个模块和光缆构成的一个整体跳线。

坊间会把 SFP 模块插口叫做光口,这个光口和电口的对应不太有逻辑。

对比:

  • 价格:DAC<AOC≈光纤<RJ45
    一个 DAC 最便宜不到 100 人民币即可拿下,AOC 稍贵一些,光纤 SFP+ 模块一个最便宜要一百多点(需要买两个),而 RJ45 模块最便宜也要 300 多一个。

以上最低价格都是按淘宝的小厂价格给的,建议还是选择大厂的产品,模块一般也贵不到哪去。

  • 距离:DAC<AOC≈RJ45<光纤
    DAC 最高不会超过 10M,RJ45 根据模块和线缆不同,最远可达 30M-100M(参见模块说明),AOC 也一般不超过 100M,光纤根据适配器和光缆不同,上限极高,但超出家庭需求。

  • 发热:DAC≈光纤≈AOC<RJ45
    前三者我没有具体比较,但是都属于发热可以接受的范围,RJ45 的模块发热十分恐怖,烫手级,很多内置 RJ45 10GbE 的设备会带主动散热。

  • 延迟:DAC≈AOC≈光纤<RJ45
    双绞线的信号编码带来了相对较高的延迟,但是是 usec 级的差距,家庭使用完全无感知。

  • 抗干扰:DAC≈RJ45<AOC≈光纤
    电信号容易受干扰,比如我开启碎纸机时就有概率导致网络闪断。

  • 电气安全:DAC≈RJ45<AOC≈光纤
    电缆有可能把对端设备的电涌传导至另一设备,导致设备损坏,光纤不存在这个可能,但是一般家庭中估计很难会遇到这种情况。

  • 部署灵活度:DAC≈AOC<光纤<RJ45
    DAC 和 AOC 都只适合两个设备放在一起时使用,目前装修墙里预留光纤也很少见,但是基本都预埋了 RJ45 线缆,接插也最方便。另外网线可以自己做,可根据需求灵活调整长度,光纤要想自己做需要熔接门槛高。

对于家庭使用,如果设备在一个房间首推 DAC,不在一个房间需要根据预埋线缆来选择。

电口可以说毫无优势,但是如果是 Apple 设备的 受害者 ,设备上是 10GbE 电口,所以对端只能选择电口,否则要再去买个 SFP+ 的雷电 3 外置网卡。

设备

一般只用考虑交换机和网卡即可,目前家庭宽带最高也就是 1000Mbps,完全没有必要将路由器也升级到万兆。

选购时需要注意,SFP 模块和设备不一定兼容,需要先确认兼容性后再购买。

交换机

交换机通常提供两种万兆方案:SFP+ 接口和 RJ45 接口,直接提供 RJ45 口相当于是内置了 RJ45 的信号调制模块,通常价格更高,发热更大。

根据所选择的传输介质和所需端口数选购即可。注意:

  1. 记得考虑散热方式,如果是主动散热通常风扇声音很大不适合家用。
  2. 即使是交换机也最好买大牌,我自己就因为觉得交换机无所谓贪便宜选了 H3C ,结果出现了莫名其妙的千兆万兆互通时严重丢包问题。最后还是换了 Ubnt。由于现在万兆应用还是很少所以买非主流产品很可能掉坑。
  3. 网管型交换机除了可以提供更多功能外,debug 也方便很多。

我的选择是:https://www.ui.com/unifi-switching/unifi-switch-xg-6poe/ ,供参考。

网卡

如果电脑没有自带 10GbE 接口,那么需要单独购置网卡,对于有 PCIe 插槽的设备,选择范围很广泛,一般选择 Intel 芯片的网卡。对于 Apple 系没有 PCIe 插槽的设备,可以考虑雷电 3 外置网卡。

网卡也和交换机一样,通常提供 SFP+ 接口和 RJ45 接口两种方案。根据需要选择。雷电 3 外置网卡常见选择是 QNAP 的 QNA-T310G1S 和 T310G1T。

需要注意 T310G1T 电口版本自带主动散热风扇,噪音很大,而且由于风扇小和风路设计问题,噪音的音调很高,我个人完全无法接受,最后把风扇强拆了然后放了个巨大的被动散热器,选购时请注意。

软件

当全部硬件升级和连接完毕后,先确认已协商到 10Gbps 的速度。然后开始进行测试。

首先应进行纯粹的网络测试,很多文章直接就拿文件复制开始测,实际上文件复制速度会受到非常多的因素影响,测试结果有问题也说明不了什么。

推荐测试软件为 iperf3,与 Wi-Fi 不同,有线网的实际速率和标称速率差距很小,千兆网测试结果应该在 900Mbps 以上,万兆网应在 9Gbps 以上。

确认网络速度没问题后,可以再进行文件复制测试,如果速度不理想可以从以下几个方面着手进行软件调优。

Jumbo Frame MTU

默认情况下以太网设备的 MTU 为 1500,即每个数据帧的大小不超过 1500B,这是一个非常早期的经验值,并不适合现代计算机网络。过小的 MTU 可能造成大量的额外数据包头和包处理的 CPU 消耗。

Jumbo Frame 即为将 MTU 改为 9000,以减少开销,网卡和交换机都需要进行修改(非网管交换机似乎不用)。但需要注意,Jumbo Frame 由于没有 IEEE 标准,所以很容易出现兼容性问题,建议调整 MTU 后重新进行测试,如果提升不大则没有必要修改,否则之后很容易不小心掉坑。
(比如我 Dell 服务器的 iDRAC 就无法处理大于 2000B 的帧,直接导致死机重启)

文件传输协议

相比 Jumbo Frame,对文件传输协议的优化提升效果有时会相当明显,目前通行的传输协议是 Samba(SMB), 几乎全平台通用,Apple 自己的 AFP 已经废弃,不要使用。

Samba 可调优的参数非常多,可以自行搜索相关文章,我的经验表明最重要的是版本号,如果使用的是 SMB3 协议速度就不会出大问题。

测试方式注意事项

  • 确认复制的原始存储和目标存储都满足速度需求。

  • 进行传输测试时务必选取单个大文件,复制含有大量文件的目录会极大的拖慢速度,有的时候把大量文件打包再发送然后解包,比直接复制的速度还快几倍。

  • 如果速度还是异常,除了用 iperf3 还可以尝试用 rsync 测试去确定原因。