网络传输速度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 ...
随机推荐
- Google Glass应用开发探索
摘要:2012年6月的Google开发者大会上,作者有幸预定到了Google Glass.8个月后,她收邀参加了Google纽约总部举行的Google Glass Foundry开发大赛.在为期两天的 ...
- cocos2d-js取不到cocostudio里面控件问题
var winSize = cc.director.getWinSize(); //add main node var mainNode = cc.Node.create(); ; mainNode. ...
- 移动端rem布局
手机页面——分辨率特别乱: 1.定宽320px——优点:简单,缺点:不能适应 2.百分比——优点:能适应各种分辨率,缺点:太麻烦 3.rem——优点:方便.适应各种分辨率(首先定义一个“根大小”htm ...
- mysql系统表加trigger和对特定的库禁用 DDL 语句
给 mysql 系统表加上 trigger 1 Reply 默认情况下,mysql 是不能给系统表,例如 mysql.user 加上触发器的.会提示 ERROR 1465 (HY000): Trigg ...
- JVM性能优化,提高Java的伸缩性
很多程序员在解决JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题.我说过JVM的自身技术限制了Java企业级应用的伸缩性 ...
- 解析XtraBackup备份MySQL的原理和过程(转)
原文:http://ourlinux.blog.51cto.com/274624/844859 XtraBackup是percona公司提供的开源工具,以热备Innodb表著称而被广泛采用. Xtra ...
- Javascript函数柯里化(curry)
函数柯里化currying,是函数式编程非常重要的一个标志.它的实现需要满足以下条件,首先就是函数可以作为参数进行传递,然后就是函数可以作为返回值return出去.我们依靠这个特性编写很多优雅酷炫的代 ...
- Struts – Wildcards example
Struts wildcards can helps to reduce the repetition in your struts-config.xml file, as long as your ...
- *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
kei编译时提示: *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL *** WARNING L1:reference made to unresolved ext ...
- Odoo Qweb报表css丢失问题
有时候我们恢复过来的数据库在打印原来系统的Qweb报表的时候会发现所有的样式都丢失了,只打印内容出来. 这时候我们可以进入Setting/ Technical / Paramters / System ...