如果我的 Wi-Fi 速度为 64 Mbit/s,为什么我无法接近它?

61 networking router wireless-networking

我正在将文件从一台计算机传输到另一台计算机。当我的两台计算机远离路由器时,我每秒获得 1 兆字节,但是当我将笔记本电脑放在路由器旁边时,我接近 3 兆字节。但是在 Windows 上,它说我的 Wi-Fi 速度为 64 Mbit/s。那不应该是每秒 8 兆字节左右吗?我不应该轻松获得 3.5+ 吗?为什么我得到 sub 3?

我尝试使用临时连接,当我的笔记本电脑和台式机彼此相邻时,我的速度为 3.5 Mbit/s。它仍然远低于 64 Mbit/s。

Spi*_*iff 112

Wi-Fi 是半双工的,并且比以太网有更多的开销,因此即使高达物理信号速率(称为“PHY 速率”)的 80%,您也不会看到 TCP/IPv4 吞吐量。

另外,当无线发送到无线时,每个数据包都会占用两次信道传输时间:一次从源到 AP,然后再从 AP 到目的地。

因此,假设两个客户端都从 AP 获得 64Mbps 的 PHY 速率,首先我们将其分成两半,因为无线到无线 (=32Mbps),然后我们乘以 0.7 来估计 70% 的效率 (=22.4Mbps) ),然后我们除以 8.4 以粗略地从兆位转换为兆字节,估计 TCP/IPv4 吞吐量为 2.66 兆字节/秒。

再加上你用来复制文件的潜在协议开销(像 SMB 这样的远程文件系统协议通常效率低下),即使假设 PHY 速率恒定,你得到的速度也远远超过 2 MebiBytes/sec,这几乎是一个惊喜64Mbps。

  • @DarrenRinger 自从有计算机以来,计算机书呆子就一直在滥用明确定义的、长期标准化的 SI 前缀,但我认为正在以可用性和正确性的名义结束这种过时的做法。例如,几年前 macOS Finder(文件系统浏览器)改用正确的(十进制)SI 前缀。我看到更多文件传输工具以 KiB/MiB/GiB 为单位列出速度。我认为正确使用对用户有好处,也有利于测量/转换/比较的准确性。 (7认同)
  • “MebiByte”是业界常用的吗?我一直听说默认情况下,术语“兆字节”自动指代“兆字节”,除非在硬盘广告中或另有明确规定。编辑:根据维基百科,“尽管具有官方地位,但即使在报告以二进制倍数计算的字节数时,单位 mebibyte 也不常用”。出于这个原因,我一直认为“兆字节”实际上是 HDD 广告上下文之外“兆字节”的同义词,即使它在技术上可以被定义为恰好 100 万字节。 (5认同)
  • @kayleeFrye_onDeck 它需要像我在回答中所做的那样加以区分:网络和总线速度几乎总是以适当的(十进制)SI 位前缀,但磁盘和文件 I/O 速度几乎总是以字节的二进制前缀。所以将“gigabits”转换为所谓的“gigabytes”是8.6的因子,而不是8。注意,从gigabits转换为“gigabytes”(真正的GibiBytes),如果你只想使用一位数的转换因子,9是比 8 更准确的选择,因为 8.6 比 8 更接近 9。:-) (4认同)
  • 我总是听到反对将其视为滥用 SI 单位的论点,因为:字节是离散量,而不是技术上的 SI 单位 [具体是米、千克、秒、安培、开尔文、坎德拉和摩尔 - 经典地,所有连续量],因此在字节上下文中使用“mega”和“kilo”根本不是对SI前缀的调用。编辑:我看到您现在正在区分用例来回答我关于域特异性的原始问题。我想在处理现代网络中的大量字节时,它们也可能被认为是连续的。 (3认同)
  • 在谈到“行业”时,它可能是以领域为中心的。虽然我知道 IEEE 制定的约定,但我从未见过它在我参与的软件开发中使用过,而且在我很久以前参加 EE 课程时也几乎没有提到过。最重要的是,我更想知道到底是谁在使用 1,000 位千字节而不是 1024 位千字节来首先区分差异。 (2认同)
  • @DarrenRinger si 前缀用于 7 si 单位以外的度量 - 例如牛顿、伏特和赫兹。它也用于非公制测量——分贝、秒差距、电子伏特,有时甚至是年份(Ma 是 1,000,000 年)。另外,痣也无非是一个数字吧? (2认同)