相信很多同志都非常关注自己家的计算机上网的宽带是多少、关心单位上网的宽带是多少!

  但是很多同志都经常误解网络传输速度,以至于责备网络接入商(电信、网通、铁通等单位)欺骗用户,限制上网的速度!

  本文,就给您详细介绍一下带宽中提到的bps与下载文件所需时间的换算!

  先看下图!

这是我个人上网的宽带,注意拉,速度是“100.0Mbps”;

  到这里,俺想试问一个问题,以这样的速度,假设处于理想状态,那么,我下载100MB的文件,需要多少时间呢?

  如果您回答,需要1秒钟,那么,您就错了,并且是完全错了;

  为什么这样说呢?假设您不懂这些单位的换算,那么,凭您的上网经验,百M宽带下载一百M的文件,有可能一秒钟就能下载下来吗?

  下面,俺将与之相关的知识,作个了断性的说明,希望能消除您心中的疑虑、清除您概念上的误解。

  网络中的传输速度,一般是以bps为单位,诸如:1000M/bps、100M/bps、10M/bps、2M/bps等,就拿100M/bps来说吧!

bpsbit 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与下载文件所需时间的换算的更多相关文章

  1. 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  2. [iOS 多线程 & 网络 - 2.10] - ASI框架下载文件

    A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的 ...

  3. python网络编程-socket上传下载文件(包括md5验证,大数据发送,粘包处理)

    ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边(md5计算)发数据 8)给客户端发md5 ft ...

  4. python网络爬虫之使用scrapy下载文件

    前面介绍了ImagesPipeline用于下载图片,Scrapy还提供了FilesPipeline用与文件下载.和之前的ImagesPipeline一样,FilesPipeline使用时只需要通过it ...

  5. JavaFTP文件传输上传和下载文件

    首先在电脑上创建一个ftp服务器,具体步骤自行百度. 接下来开始写有用的java连接TFP站点和传输文件的代码. 1.首先jar用的是apache 的工具包 请自行下载 . 2.俩个文件代码 一个Ft ...

  6. iperf/LANSpeedTest网络传输速度测试工具

    最近公司测试限速,搜集软件发现两款,iperf,LANSpeedTest. iperf,多平台. LANSpeedTest,读写显示,操作简单. 局域网测试传输,优先考虑UDP. iperf Iper ...

  7. 设置php下载文件的超时时间

    使用curl 可以使用curl自己实现一个curl_file_get_contents函数 //CURLOPT_FOLLOWLOCATION TRUE 时将会根据服务器返回 HTTP 头中的 &quo ...

  8. 使用nmon监控得出网络实时速度以及最大、最小、平均网络传送速度

    首先我们得搞清楚几个概念,即什么是网速?什么是带宽? 举两个个例子: 1.家里装网线,宽带提供商说我们的带宽是100兆. 2.用迅雷下载电影,迅雷显示实时的下载速度是每秒3兆,或者说是3MB/s. 这 ...

  9. 加速scp传输速度

    当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB ...

随机推荐

  1. oracle数据库建表

    create or replace directory dumpdir as 'E:\oracle\dumpdir';create temporary tablespace ydxt_temp tem ...

  2. MYSQL数据库性能调优之四:解决慢查询--索引

    为什么索引能够提高查询速度?没有索引 检索数据的方式是从头到尾一条一条挨着匹配,这是慢的根本原因:索引类型BTREE:二叉树类型,原理图如下:对表创建一个二叉树,记录中间数据的物理磁盘地址,二叉树检索 ...

  3. 动态生成xml文件

    使用xmlParser动态生成xml,输入的字符编码是gbk,结果怎么生成都不行,后来把输入转成utf8之后, 再生成就ok了

  4. UVaLive 6608 Cabin Baggage (水题)

    题意:给定四个数代表长宽高和重,问你是不是满足下面条件,长不高于56,宽不宽于45,高不高于25,或者总和不大于125,并且重量不高于7. 析:判断输出就好,注意这个题是或,不要想错了. 代码如下: ...

  5. 【PAT】1020. Tree Traversals (25)

    Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and i ...

  6. Pyqt5.2.1生成的.ui文件转换成.py

    cmd C:\>pyuic5 ui文件路径 -o 要生成的py文件路径 如下: C:\>pyuic5 c:\python33\lib\site-packages\pyqt5\uic\log ...

  7. 免费的天气Web Service接口

    免费的天气Web Service接口 在android应用当中很多时候需要获取天气的信息,这里提供怎么获取天气信息: 1. http://www.ayandy.com/Service.asmx?wsd ...

  8. requests设置headers,proxies,cookies

    header = {'referer':'http://www.baidu.com'} # referer代表从什么网页跳过来的,其他属性同理设置 proxy = { 'http':'115.28.5 ...

  9. eclipse下安装Extjs的插件spket

    最近项目要用ext进行开发,所以这段时间开始学习ext. 我这里用的是ext3.0,eclipse3.5. 每次都要去查API,很烦,所以装个EXT提示的插件对初学者来说有很大的帮助. 假设你已经下载 ...

  10. Lockless Ring Buffer Design

    https://www.kernel.org/doc/Documentation/trace/ring-buffer-design.txt Lockless Ring Buffer Design == ...