单位换算
1024

Mbps与kbps换算单位到底是多少 1000or1024?

今天和同事聊起来说1Mbps=1000kbps,同事非说是1024的关系,按我的理解 Mbps 即 Milionbit pro second(百万位每…
关注者
23
被浏览
187,363

9 个回答

最近也被这个问题所困扰,刚才去wiki看了一下。

在SI中,K是指1000,M是指1000000。这种用法通常用于 数据传输速率、计算机网络、cpu时钟等。通常用于通信领域。

而1024的用法通常用于存储领域,像内存、硬盘、cache。

像Mbps这样通信类的单位,用的是十进制的。在存储系统中的MB,用的是二进制的。

wiki的链接:

Kilobyte - Wikipedia
发布于 2017-02-03 18:12

速度换算的时候是1000,数据存储容量换算的时候是1024,《计算机科学概论》里面看到的。

发布于 2018-06-16 21:53

维基百科上说的很清楚,主要是要分清楚以下两个单位

k 与 Ki

k 与 Ki 分别表示 kilo-(千) 与 kibi-(二进制千) 。作为前缀使用时, k 表示 1,000,Ki 表示 1,024,因为“Ki”来源于它在计算机方面 2^{10} = 1,024 的使用。不幸的是,人们常常错误地用 K 代替 Ki。此外,不知晓其中微妙差别的广大公众,常常不加区别地使用“Kbps”与“Kibps”,造成了混乱。总之,使用“Kibps”通常是正确的。

b 与 B

b 代表 bit(比特),B 代表 byte(字节),1 字节 即 8 比特。这会导致混淆。比如当“1M(1 Meg,1 兆)网络连接”字样出现在广告上时,它常常表示 1 Mib/s(mebibit per second,二进制兆比特每秒)或者 1.049 Mb/s(megabit per second,兆比特每秒),即可能达到的最大下载速度实际上仅为 128 KiB/s(kibibyte per second,二进制千字节每秒)或者 131 kB/s(kilobyte per second,千字节每秒)。


千比特每秒(kbps) = kbit/s=10^3

二进制千比特每秒(Kibps)=Kibit/s=2^{10}

前者是SI单位,后者是IEC 60027-2单位

发布于 2018-09-15 14:38

1Mbps应该是等于1000kbps(而不是1024kbps)

【思路】我用我的录音笔做实验,以一定的千比特率(我用的1536kbps)录音,然后再看录音笔上显示的剩余可录录音时长以及剩余磁盘空间。因为前者是以千比特率为单位,后者是以千字节为单位,而千字节与字节,字节与比特的换算是没有争议的(1kB=1024B,1B=8b),所以可以用来实验。

注:严格的说,1MiB=1024KiB,1KiB=1024B,1B=8bit(bit即比特、位,简写为b)只不过我们习惯省略i,在磁盘计算中1GB=1000MB其实是正确的,事实上1GiB才等于1024MiB,不过这不是今天讨论的对象

【记录数据】

开始以1536kbps录音,系统显示剩余可录音时长100小时(即360000s)时停止,插入Windows显示剩余磁盘空间等于65919MB,即67501056KB②

【假设与分析】

① 假如说1Mbps等于1024kbps的话,那么1kbps也应该等于1024bit/s。这样下来,1536kbps相当于每秒钟占用192kB的磁盘空间

(1536kb=1536×1024b=1536×1024÷8B=1536×1024÷8÷1024kB=132kB)

用192kB/s乘以剩余时间360000s得到69120000KB①,与剩余磁盘空间的67501056KB②相差巨大。大约相差六个数量级,都有1GB了,绝对不可能。更何况录音这么长时间所需的空间比剩余空间还要大,就更加离谱了。

② 接下来我假设1Mbps等于1000kbps,容易得到1536kbps=1536000bit=1536000/8B=1536000/8/1024KB。以此计算,这些录音占用67500000KB③。接下来做对比,67501056KB②-67500000KB③=1056KB,也就大概几兆,那么这就是正常范围。

【结论】

证明1Mbps=1000kbps

作者:云天明宇宙系统UCXN 1Mbps等于1000kbps的直观实验证明

发布于 2022-10-22 10:35

作者:iN在

在网络传输的时候,往往会用到Mbps这个单位,GbE or 1 GigE 的网卡现在很流行,这个东西被大家叫做“千兆网卡”。



同时,大家特别习惯用GB或者MB来描述一个磁盘的大小。这个叫做Gigabyte或者Megabyte。

但描述文件大小(或者讨论磁盘空间)的时候,我们通常还会用GiB或者MiB来描述。



GB和GiB的对比实际上就是上面标的关系了,KB、MB、GB、TB来自于10进制三位分割的计数法,也就是每隔三位数加进一个逗号,这是对应了欧美那边的计算方法,这个来源于“短级差制(short scale)”,本意是指1000个前数,例如1 billion= 1000 million,也就是10亿= 1000个百万。但是这种计数方法本身会带来困扰。如果敏感一点的读者看到了“短级差制”,一定会想到“长级差制(long Scale)”,长级差制是以百万(10的6次方)来作为下一个级别的,在长级差制之内1 billion 代表的意思就是“万亿”了,代表100万个百万,也就是10的12次方。

无论是短级差制还是短级差制在欧洲都在用,这件事就会引起混乱,于是国际标准化组织就依照短级差短方式定义了一套标准化的词头计数方式,以10的3次方为级,这也就是我们现在的千、兆、吉、太、拍、艾、泽……的计数方法了。

同理,在二进制中,我们会以2的n*10次方来计算数字的大小,于是就有一个二进制的词头,写法和国标的词头类似,只不过在英文中把后两位依据发音习惯替换成了bi,例如Giga被改成了Gibi、Tera被改成了Tebi,我们说的MB(megabyte),也被改成了mebibyte,也就是简写的MiB。

回到留言的问题:1000Mbps的网络,换算为MB是多少,首先我们先搞清楚1000Mbps是什么,前面说了是是GbE,这个东西叫做“吉比特以太网(Gigabit Ethernet)” 注意这里面用的是Giga,说明是10进制计算的,也就是一秒钟可以传输1,000,000,000个比特。



我们都知道的是 一个字节(Byte)是由8个比特(Bit)组成。按理论上来说,1000Mbps的网络传输带宽在一秒钟之内可以传递125MegaByte的数据。

但是,我们得知道,在网络传输的时候并不是光传输你所需要的数据,在传输的过程中还需要将数据改变成网络数据包,所谓的打包数据就是在各个网络层为数据增加相应的标记信息。



这些信息对传输文件本身这件事并不会有太大的意义,只是为了能够完成网络传输。这时候,你在文件管理器中传输文件的时候看到的速度就已经不是网卡的速度了,而是在传输后层层打包后的净文件流数据获取速度。



因此,有的人就在问,为什么明明是千兆网卡,传输速度却不会达到125MB/秒?这里损失的一部分速度就是打包数据包所占用的传输流量。

所以速度达不到125MB/秒并不是网络的问题,而是正常现象。

那么有没有可能让传输速度进一步提高,尽量接近125MB/秒的极限呢?也是可以的。我们就得从数据链路层的以太网帧来入手了。

之前给大家讲过以太网帧,其中有一个MTU设置,叫做最大传输单元(Maximum Transmission Unit),每个以太网帧可以被定义为一个传输单元。以太网所定义的一个帧的大小为1538



在网络设备上开始传输的时候设备会先发出7个字节的先导码,然后按照固定的格式分节来传输后面的数据。这个过程叫做一个传输单元,最终一个帧会以四个字节的校验码结束。其中最多会在Data这一节承载1500字节的数据。

最近很多小伙伴找我要各种学习资料,但一个个私信太耽误大家时间了,于是我整理了一些优质学习资源,涵盖Linux、网络、云计算、Python、Java、C/C++、软件测试等书籍和视频, 点击链接即可领取,祝学业有成!(无任何套路!)

如果我们把一个帧当作一辆卡车的话是这样的:



车头、车架、车轮都是数据包的封装结构,车厢就是数据包中的数据。

即便是数据再少,车头、车架、车轮也是精简不掉的。



但我们可以尽量的增加车厢的大小,让一趟车尽量的运送更多的货物。这就是降低了每次传输数据包的损耗率。

所以,我们可以知道的传输速率是可以计算出来的,大致上 效率=真正的传输数据内容/帧大小,因此可以计算在一个MTU为1500的以太网上的效率计算则是 1500/(1500+38)=97.53%,这还是干净的以太网帧,如果我们在交换机上附带了Vlan等设置,我们就需要再加入VLan的封包子节数。还拿卡车做例子就是这样的感觉:



一辆卡车被作为货物装入另一辆卡车。

这时候Vlan的四个字节的标记也得加进去,就成了1500/(1500+38+4)=97.28%。

所以说,在网络传输效率上,一般以千兆太网是可以做到975.3Mbps的真实传输效率的,如果加了VLan可以做到972.8Mbps的传输效率。当然了,这是理论最高数值。

这个数值除以8是不是就算是网络能传文件的字节数了呢?还不是!

一般我们用SMB做文件分享和传输,这是TCP协议集里面的一个协议:



看——也有包头、控制、基础数据等等一系列的额外内容在里面。因此 975.3Mbps 除以8 的121.9MB/秒也不会是一个文件传输的真实数值,还得打折扣。

还是卡车,这个SMB是卡车车厢里面的货物而已但不是你的文件。



例如这辆卡车里面装的是苹果笔记本电脑,你要的也是一台苹果笔记本电脑,但是只要不是买二手,大部分电脑运送的时候还是有包装箱的,这个包装箱的一包就是SMB传输的数据包。

而在你的购买行为里面却默认只是要层层包装里面的一台电脑。多余的东西实际上都是运输损耗。

了解这些背景信息,你就会发现,带宽1000Mbps不变的情况下,你需要降低附带的这些协议包的损耗。怎么办?加大车厢!



换一个更大车厢一次性装更多的数据就好了。这里就要用到交换机上的巨型帧了,是指MTU大于1500的帧。按照规范来说,巨型帧(jumbo frames)可以设置到9000字节。这个大小远远突破了IEEE 802.3以太网协议的限制。它可以做到在一个封装好的以太网帧中最多传输9000字节的数据,也就是MTU=9000。

我们按照之前的效率算法来计算一下就可以知道 效率=9000/(9000+38)= 99.58%,比起默认以太网的97.53要多压榨出了一些网络传输性能。

但是,要知道的是网络上不仅仅只是来回交换文件传输数据包的内容,还会不停的传输一些小包指令。

这时候一个巨大的帧内有可能只传输一些极小的负载。例如一辆大集装箱卡车里面只装了一小件货物:



和卡车司机的困扰一样,以太网要传输小包数据实际上也会占用相同的以太网帧大小。于是十几个字节的数据在巨型帧的交换机上也得占用几百倍的传输带宽。这样就会导致网络的性能不增反降。

一般的做法是将两种交换机分离开,专门做大型数据传输的使用设置好巨型帧的交换机进行传输,而一般的小指令小数据包的传输会利用普通的MTU设置为1500的以太网交换机进行传输。

这就把存储的网络和普通业务网络进行分离。为了配合存储需求,也就出现了iscsi等专门跑在以太网上的存储协议。当然了,也有一些光纤通道交换机专门跑存储业务。这就有点脱离开大家经常用到的以太网的范畴了。

最后的话

最近很多小伙伴找我要IT学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等,免费共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

资料已经打包好了哦。 无任何套路,访问领取


欢迎关注我! @开源Linux

一个只分享好东西的资源宝地 开源之家

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

发布于 2024-05-15 23:18

1024是2的十次方,根源在于计算机二进制

发布于 2017-11-16 11:23

而1024的用法通常用于存储领域,像内存、硬盘、cache。

像Mbps这样通信类的单位,用的是十进制的。在存储系统中的MB,用的是二进制的。

像Mbps这样通信类的单位,用的是十进制的。在存储系统中的MB,用的是二进制的。

发布于 2018-07-20 17:39

常用于通信领域。

而1024的用法通常用于存储领域,像内存、硬盘、cache。

像Mbps这样通信类的单位,用的是十进制的。在存储系统中的MB,用的是二进制的。

发布于 2018-07-18 10:15

1024是2的十次方,根源在于计算机二进制

发布于 2018-07-20 16:13
( 为什么?)