网络传输速度bps与下载文件所需时间的换算

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

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

  本文,就给您详细介绍一下带宽中提到的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秒。

  然而,当我们真正下载文件或传输文件的时候,所需要的时间,除了考虑网络数据流失的客观因素的前提下,还涉及到本地网络的状态、通讯设备及服务器带宽等等一系列的因素,下载文件所需要时间,比之以上的近似理想状态所需要的时间要更多、更多、还要多!

时间: 2024-09-27 10:34:25

网络传输速度bps与下载文件所需时间的换算的相关文章

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

A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的网络请求(异步).按照上面的几个步骤执行,程序会自动开启异步线程,一点一点的把数据写入到指定的文件路径,而且不论是下载多大的文件都不会占用大量的内存空间. ASI框架是基于底层的cfnoteworking的,性能很好.当然也可以设置block,或者是监听下载的进度. 自动会使用“边下边写” 使用进度

加速scp传输速度

当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB,传输400GB则需要170分钟,约3小时,如果可以加速,则可以大大节约工程师的时间,让攻城师们有更多时间去看个电影,陪陪家人. 1. 结论 声明:这里给出的测试数据不具有一般性,仅供参考.测试与数据本身特性有很大关系,本文使用InnoDB的redo log作为测试数据. * 改变ssh加密算法,可

SecureCRT上传、下载文件 使用sz与rz命令

首先安装:apt-get install lrzsz SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具. windows端需要支持ZModem的telnet/ssh客户端,SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可). 上传文件只需在shell终端仿真器中输入命令“rz”,

使用 new XMLHttpRequest() 制作下载文件进度条

mui 进度控件使用方法: 检查当前容器(container控件)自身是否包含.mui-progressbar类: 当前容器包含.mui-progressbar类,则以当前容器为目标控件,直接显示进度: 否则,检查当前容器的直接孩子节点是否包含.mui-progressbar类,若存在,则以遍历到的第一个含有.mui-progressbar类的孩子节点为目标控件,显示进度: 若当前容器的直接孩子节点,均不含.mui-progressbar类,则自动创建进度条控件: 如果有多个列表,每个列表在点击

.NET两种常见上传下载文件方法

1.FTP模式 代码如下: (1)浏览 /// <summary> /// 浏览文件 /// </summary> /// <param name="tbControl">控件名称</param> private void ViewFile(TextBox tbControl) { OpenFileDialog openFileDialogTemp = new OpenFileDialog();//提示用户打开文件弹窗 //设置文件类型

Oracle工具之--ASM与文件系统及跨网络传输文件

Oracle工具之--ASM与文件系统及跨网络传输文件   Oracle DBMS_FILE_TRANSFER可以实现文件系统和ASM磁盘组之间实现文件传输及ASM磁盘组之间跨网络的传输. DBMS_FILE_TRANSFER:   The DBMS_FILE_TRANSFER package provides procedures to copy a binary file within a database or to transfer a binary file between datab

PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性

关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上传 需要在html中 form属性中添加 enctype = "multipart/form-data" <!-- 上传文件必须设置 enctype ='multipart/form-data' --> <form action="text01.php"

iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄

前言:本篇讲解,在前篇iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载的基础上,使用输出流代替文件句柄实现大文件断点续传.    在实际开发中,输入输出流用的比较少,但是用起来也是很方便的.iOS开发用到的输入输出流和在Java中的输入输出流是几乎一样的,本质也是一个意思:将网络返回的数据当做流来处理.    输入输出的理解:输入到哪里?输出到哪里?这个问题不难理解,输入输出是要站着服务器角度来思考的,下面用图来解释:    代码关键词: 1.在接收到响应头的代理

Android从网络某个地址下载文件、写入SD卡

首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //urlStr为文件的网络地址,如http://192.168.1.105:8080/mp3/resources.xml StringBuffer sb = new StringBuffer(); String line = null; BufferedReader buffer = null; try {