当使用与计算机网络相关的十进制(10的幂)度量单位和二进制(2的幂)度量单位(尤其是数据传输,还包括文件大小)时,SI和IEC二进制前缀的正确用法准则是什么? br />
此Wiki页面提供了有关问题和不同解决方案的详细说明。我发现链接在上面的Wiki分页有些混乱。

我总是使用SI(十进制)单位表示数据吞吐量,并始终使用IEC值(二进制前缀2 ^)表示文件大小。但是,我时不时会看到人们使用总和1024的倍数来计算速度。

我一直使用1000的倍数来进行速度测量,例如1Kbps = 1000Bps;


100 bps == 100bps(每秒比特)
100 000 bps == 100Kbps(每秒千比特)
100000000 bps == 100Mbps(每秒兆比特)等等...

在测量文件大小或内存时,我一直使用1024的倍数(二进制前缀),例如1KB文件的大小为1024字节;


100Bs == 100B(字节)文件
100000Bs == 100KB(千字节)文件
100000000 000Bs == 100MB(兆字节)文件
等等关于...

网络和客户之间存在一些差异。一个标准的计费问题示例是ISP的客户每月有50GB的带宽配额。不同的操作系统对速度和内存使用不同的度量单位,并使用不同的IEC和SI前缀显示该度量单位。同一Wiki页面上有关操作系统和软件的本节列出了操作系统和软件包之间的差异,这些差异将不同的前缀与度量单位混合并匹配。

ISP可能会测量作为(1024^3) bytes * 50 == 50GBs传输的50GB数据(1GB == 1073741824字节)。并且当达到50GB的上限时,用户可能会不同意。例如,如果计算机的用户显示千兆字节,则将显示已传输的46.57吉字节。 >在一小时内复制50GB的Bps:((((50GBs*1000)*1000)*1000)*8)=400000000000 bits

以Mbps为单位的速度:(((400000000000/60)/60)/24)/24=192901.23


吉比特就是这么多比特:((192901.23/1000)/1000)*24*24 = 111.11Mbps还要更多。因此,以111.11Mbps的速度运行1小时的链接并未传输千兆字节。

从网络和技术角度来看(纯粹关于合理使用政策或T&C等不合法)最佳实践,是否始终使用mega / giga / tera或mibi / gibi,IEC或SI标记进行测量和监视等?您如何保持一切统一?

评论

仅供参考,如果您还询问文件大小,那么该问题更适合于服务器故障...如果严格来说是数据传输,那么根据IEC 60027-2,1000的倍数(而不是1024)是正确的。顺便说一句,TY为您对我的pppoe答案发表评论,并据此更新了单位

#1 楼

前缀的不同通常来自于人数统计的专业背景。

电气工程师具有很强的物理学专业背景,就像物理学家一样,他们倾向于使用10的幂。另一方面,计算机科学专业人士倾向于将所有事物都用2的幂数来计算,因为在他们的上下文中它更有意义。

由于底层2层(物理,数据链接)的标准OSI模型主要由电气工程师(例如IEEE / ITU-T)编写,这些层中的标准测量单位通常为10的幂。这就是为什么千兆位以太网以1 * 10 ^ 9 bps(而不是2 ^ 30bps)的标称速率工作的原因。

OSI的其他层通常是由计算机科学家/软件工程师(例如IETF)标准化的,它们往往以字节或2的幂(2 ^ 3位)为单位进行度量。这是开始使用2的幂的地方。这确实会造成转换问题。

硬盘驱动器中也会遇到相同的转换问题-电气工程师制造的设备存储1,000,000,000,000字节并将其称为太字节驱动器。而由软件工程师编写的操作系统报告说,同一驱动器只能容纳931 Gigabyte。
此外,营销人员喜欢在广告中写出最佳情况,整数,这让您感到非常困惑。图片。

我希望能使图片清晰一些。
我建议做的一种好的做法是对使用2的幂的单位使用二进制前缀,而不要覆盖术语“千”来表示1000和1024。在最近几年中,这些前缀的使用有所增加,您可以可以在许多文档和用户界面中找到它们。这在包含2的幂和10的幂的文档中尤其重要。在此类文档中,应向读者提供有关SI和二进制前缀之间的区别的注释,并且所有具有2的幂的单元都应使用二进制前缀编写。