在使用与计算机网络相关的十进制(10 的幂)测量单位和二进制(2 的幂)测量单位(特别是数据传输,还有文件大小)时,SI 和 IEC 二进制前缀的正确使用指南是什么?
此Wiki 页面详细描述了问题和不同的解决方案。我发现上面链接的 Wiki 页面有点混乱。
我总是将 SI(十进制)单位用于数据吞吐量和 IEC 值(2^ 的二进制前缀)用于文件大小。然而,我不时看到人们使用1024
总和的倍数来计算速度。
我一直用1000的倍数来测速,比如1Kbps=1000Bps;
- 100 bps == 100bps(每秒比特)
- 100 000 bps == 100Kbps(每秒千位)
- 100 000 000 bps == 100Mbps(每秒兆位)
- 等等...
在测量文件大小或内存时,我一直使用 1024(二进制前缀)的倍数,例如 1KB 文件的大小为 1024 字节;
- 100Bs == 100B(字节)文件
- 100 000Bs == 100KB(千字节)文件
- 100 000 000Bs == 100MB(兆字节)文件
- 等等...
网络和客户之间存在一定的差异。一个标准的计费问题示例是 ISP 的客户每月有 50GB 的带宽限额。不同的操作系统对速度和内存使用不同的测量单位,并使用不同的 IEC 和 SI 前缀显示它。关于操作系统和软件的同一 Wiki 页面的这一部分列出了操作系统和软件包之间的差异,这些软件包将不同的前缀与度量单位混合并匹配。
ISP 可以测量 50GB 传输的数据(1024^3) bytes * 50 == 50GBs
(1GB == 1073741824 字节)。当达到 50GB 限制时,用户可能会不同意。例如,机器显示 Gibibytes 的用户将显示 46.57 Gibibytes 传输。
从网络的角度
- 50GB 位:
((((50GBs*1000)*1000)*1000)*8)=400000000000 bits
- 一小时内复制 50GB 的 Bps:
(((400000000000/60)/60)/24)/24=192901.23
- 此速度(以 Mbps 为单位):
((192901.23/1000)/1000)*24*24 = 111.11Mbps
Gibibyte 就是这么多位:((((50GiB*1024)*1024)*1024)*8)=429496729600
更多。因此,以 111.11Mbps 速度运行 1 小时的链接没有传输 Gibibyte。
纯粹从这里的网络和技术角度来看(在公平使用政策或 T&C 等方面不合法),最佳实践是什么,始终使用 mega/giga/tera 或 mibi/gibi、IEC 或 SI 符号进行测量和监控等?你如何保持一切统一?