我有两台电脑:
- (B) Banana Pi - 1 千兆以太网,Wi-Fi(支持 802.11n)
- (D)台式电脑 - 1 个千兆以太网,Wi-Fi(2x2 MIMO,支持 802.11n)
和(R) Mikrotik RouterBOARD RB951G-2HnD - 千兆以太网端口,支持 802.11n。
令我惊讶的是吞吐量的巨大差异(iperf
用于测试):
方案 1
(B eth0) - 直接点对点以太网连接 - (D eth0)
(D) > (B):约。850 Mbps
(B) > (D):约。800 Mbps
方案 2
(B eth0) - 通过 (R) 连接,静态寻址,即 (R) 作为交换机 - (D eth0)
(D) > (B):约。800 Mbps
(B) > (D):约。500 Mbps
方案 3
(B eth0) - 通过 (R) 连接,来自 (R) 的 DHCP - (D eth0)
(D) > (B):约。800 Mbps
(B) > (D):约。450 Mbps
方案 4
(B wlan0) - 通过 (R) 连接,来自 (R) 的 DHCP - (D eth0)
(D) > (B):约。25 Mbps
(B) > (D):约。25 Mbps
情景 5
(B wlan0) - 通过 (R) 连接,来自 (R) 的 DHCP - (D wlan0)
(D) > (B):约。12 Mbps
(B) > (D):约。12 Mbps
问题:
- 通过 (R) 连接时 (B) 的 Tx 或 (D) 的 Rx 会发生什么情况?与直接点对点连接 (850/800) 相比,它几乎减半 (800/450)。我怎样才能更深入地检查它或可能修复它?
- 由于 (R) 是具有 300 Mbps PHY 数据速率能力的 2x2 MIMO,我认为实际的 25 Mbps 吞吐量(参见场景 4)的结果确实很差。(R) 仅配置为 802.11n,40 MHz 信道宽度,使用双链 (MIMO),(B) 和 (D) 上的信号很强。
首先: iperf 没有考虑 IP 开销。它只查看数据包的数据部分。因此,您的数字将少于通过网络的实际数据。
第二:Microtik 板并不是很好的“开关”。它们的吞吐量因 RAM/CPU 使用率而异。(CPU用来运行linux平台和应用程序,也用来驱动交换机。如果你有东西在板子上运行,网络性能会下降)
第三:协商 DHCP 后,您可能在吞吐量中看到的任何变化更有可能是由于随机运气......而不是因为您使用的是 DHCP。
第四:嵌入式 WiFi 很糟糕。仅仅因为该技术理论上可以以 300mbps 运行......并不意味着在最坏的情况下您将达到接近 300mbps 的速度。香蕉派和 mikrotik 都使用 PCB 上的走线作为快速且脏的天线。这两种设备都可以产生足够的 EMI,从而导致 2.4GHz 频段的噪声。2.4GHz 已经很吵了。今天几乎所有的东西都使用 2.4ghz。(手机、无线键盘/鼠标、微波炉等……) WiFi 很方便……但远非可靠。另外,说“(B)和(D)上的信号很强”是非常愚蠢的说法。在不知道本底噪声和实际数字的情况下,您的“强信号”可能只是意味着您的 wifi 收音机可以简单地听到非常响亮的静电。
第五:当您有一个 wifi 设备通过 AP 与另一个 wifi 设备通信时......带宽会受到双重打击。设备“D”将 12mbps 的数据包发送到 AP,AP 又将这些 12mbps 的数据包发送到设备“B”。这意味着消耗了 24mbps 的带宽。
其他一些注意事项。使用 40MHz 信道宽度几乎总是你能做的最愚蠢的事情……原因如下:在 2.4GHz 频谱中,每个信道实际上是 5MHz 宽。典型的老式 802.11g 设备使用 20mhz 信道宽度。这意味着可能(在给定的 wifi 频谱中)您最多可以拥有 3 个不会导致相互重叠干扰的频道(在美国和世界大部分地区;在日本和其他一些地方有 4 个)。这意味着为了获得最大带宽,您需要有一个 20mhz(大约 4 个通道)的空频谱空间。如果您切换到使用 40mhz,您现在只剩下 1 个非重叠频谱通道......消耗了大部分范围。潜在的 11 个频道中的 8 个频道(同样,在美国)。为了获得全吞吐量,您需要弄清楚如何使 8 个整个频道的频谱静音。是的,您可能会达到 300mbps...(如果您使所有 8 个通道饱和),但 8 个通道足够干净的可能性极小。是的... 20mhz 的最大潜在带宽是 40mhz 的一半...但是拥有足够干净的 20mhz 块的可能性要高得多。