网络传输速度bps与下载文件所需时间的换算
相信很多同志都非常关注自己家的计算机上网的宽带是多少、关心单位上网的宽带是多少!
但是很多同志都经常误解网络传输速度,以至于责备网络接入商(电信、网通、铁通等单位)欺骗用户,限制上网的速度!
本文,就给您详细介绍一下带宽中提到的bps与下载文件所需时间的换算!
先看下图!
这是我个人上网的宽带,注意拉,速度是“100.0Mbps”;
到这里,俺想试问一个问题,以这样的速度,假设处于理想状态,那么,我下载100MB的文件,需要多少时间呢?
如果您回答,需要1秒钟,那么,您就错了,并且是完全错了;
为什么这样说呢?假设您不懂这些单位的换算,那么,凭您的上网经验,百M宽带下载一百M的文件,有可能一秒钟就能下载下来吗?
下面,俺将与之相关的知识,作个了断性的说明,希望能消除您心中的疑虑、清除您概念上的误解。
网络中的传输速度,一般是以bps为单位,诸如:1000M/bps、100M/bps、10M/bps、2M/bps等,就拿100M/bps来说吧!
bps是bit Per Second的缩写,翻译成中文就是比特位每秒,也就是表示一秒钟传输多少位(bit)的意思。根据这一理论,我们不难看出,100M/bps,指的就是每秒钟传输100MB个比特位;即100×1024×1024个bit;
但是,在计算机的各种存储设备中,应用到的存储单位,一般为TB、GB、TB、MB、KB和B;这里的大写字母B,指的是存储容量单位中最小的单位,即字节,英文是:Byte;
1Byte = 8bit
1KB = 1024 Byte
1MB = 1024 KB
1GB = 1024 MB
1TB = 1024 GB
这里提到的Byte,即字节,是以大写字母B来表示,但是经常与bps相混淆。首先,您得区分这两种概念。
那么,Byte与位(bit),存在什么关系呢?1B=8bit;
因此,100M/bps=100÷8MB/s=12.5MB/s;即,每秒传输12.5兆字节的数据;
要下载100MB的文件,通过100M/bps的网速,在理想状态下,应该需要如下的时间:
100MB÷12.5MB/s=8s,即8秒;
以上是综合性的换算关系,如果是完整的算式,应该是:
传输速度:100M/bps=100×1024×1024÷8Byte/s=104857600÷8Byte/s=13107200Byte(每秒)
文件的总大小:100MB=100×1024×1024Byte=104857600Byte
所以,要下载100MB的文件,应该用文件总大小(总的字节数)除以每秒能传输的字节数,即(100×1024×1024Byte)÷(100×1024×1024÷8Byte/s)=8秒;
知识扩展:
如果您的网络速度是:10M/bps的速度,要下载100MB的文件,需要多少时间呢?
简易换算,应该是这样:
10M/bps=10÷8MB/s=1.25MB/s,即每秒能传输1.25兆字节的数据;
要下载100MB的文件,就应该用文件的总字节数除以每秒传输的字节数,即100MB÷1.25MB/s=80s,即80秒,相当于1分钟零20秒;
以上的换算,均使用理想状态,即最快的速度;但是在网络的应用过程中,会出现各种网络数据流失的因素,不可能达到理想状态,一般,传输过程中,会有10%的传输消耗。
因此,100Mbps的速度,下载100MB的文件,实际所需要的时间,大概为:(100×1024×1024Byte)÷(100×1024×1024×(100%-10%)÷8Byte/s)≈8.888888…秒≈9秒。
然而,当我们真正下载文件或传输文件的时候,所需要的时间,除了考虑网络数据流失的客观因素的前提下,还涉及到本地网络的状态、通讯设备及服务器带宽等等一系列的因素,下载文件所需要时间,比之以上的近似理想状态所需要的时间要更多、更多、还要多!
网络传输速度bps与下载文件所需时间的换算的更多相关文章
- 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...
- [iOS 多线程 & 网络 - 2.10] - ASI框架下载文件
A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的 ...
- python网络编程-socket上传下载文件(包括md5验证,大数据发送,粘包处理)
ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边(md5计算)发数据 8)给客户端发md5 ft ...
- python网络爬虫之使用scrapy下载文件
前面介绍了ImagesPipeline用于下载图片,Scrapy还提供了FilesPipeline用与文件下载.和之前的ImagesPipeline一样,FilesPipeline使用时只需要通过it ...
- JavaFTP文件传输上传和下载文件
首先在电脑上创建一个ftp服务器,具体步骤自行百度. 接下来开始写有用的java连接TFP站点和传输文件的代码. 1.首先jar用的是apache 的工具包 请自行下载 . 2.俩个文件代码 一个Ft ...
- iperf/LANSpeedTest网络传输速度测试工具
最近公司测试限速,搜集软件发现两款,iperf,LANSpeedTest. iperf,多平台. LANSpeedTest,读写显示,操作简单. 局域网测试传输,优先考虑UDP. iperf Iper ...
- 设置php下载文件的超时时间
使用curl 可以使用curl自己实现一个curl_file_get_contents函数 //CURLOPT_FOLLOWLOCATION TRUE 时将会根据服务器返回 HTTP 头中的 &quo ...
- 使用nmon监控得出网络实时速度以及最大、最小、平均网络传送速度
首先我们得搞清楚几个概念,即什么是网速?什么是带宽? 举两个个例子: 1.家里装网线,宽带提供商说我们的带宽是100兆. 2.用迅雷下载电影,迅雷显示实时的下载速度是每秒3兆,或者说是3MB/s. 这 ...
- 加速scp传输速度
当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB ...
随机推荐
- 主机找不到vmnet1和vmnet8
今天跑程序时,突然发现虚拟机ping不通主机了,返过来可行,防火墙什么的都设置好了,仍然不行,后来发现,在网络和共享中心已经看不到vmnet1和vmnet8了,更改适配器设置也只有本地连接和宽带连接, ...
- UltraEdit中文乱码的解决方法
现象问题: 同样的一个文件 UltraEdit 打开是乱码,显示文件的编码是U8-DOS,可是用EditPlus .记事本,打开,就是正常的,编码显示是ANSI. 即使在UltraEdit打开文件的时 ...
- 使用「max-height」实现自适应高度
.tab-content{ max-height: 0; overflow: hidden; -webkit-transition: max-height .8s; -moz-transition: ...
- Good Number
Time Limit: 1000ms Problem Description: Let's call a number k-good if it contains all digits not exc ...
- Determining Equality of Objects
[Determining Equality of Objects] If you need to determine whether one object is the same as another ...
- does not support ASP.NET compatibility 错误
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibi ...
- IP报文解析及基于IP 数据包的洪水攻击
版本(4bit) 报头长度(4bit) 优先级和服务类型(8bit) 总长度(16bit) 标识(16bit) 标志(3bit) 分段偏移(13bit) 存活期(8bit) 协议(8bit) 报头校验 ...
- 数据库连接池 c3p0 demo 代码和分析
import java.sql.Connection; import java.sql.SQLException; import java.beans.PropertyVetoException; i ...
- Vmware 虚拟的Linux系统如何与宿主主机共享上网
学校局域网内的机器是经过一个计费登陆客户端Gmon上网的,我前两天刚用Vmware虚拟了一个Linux Guest OS 用作测试用,在Vmware的VM>>Settings 里 ...
- Spring优势
* 使用spring有什么好处? ◆Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB.如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现S ...