一、计算机常见单位

计算机中的度量衡主要以数据存储容量单位数据传输单位为主。数据存储容量单位一般用在硬盘大小、文件大小上。数据传输单位一般用在衡量网络快慢、硬盘读写上。

位/比特字节均是数据存储容量单位。位(bit)是最小的数据存储容量单位,通常称为比特。比特表示一个二进制位,因此一个比特只能代表0或1,即两种状态。科学家通过利用比特来表示世界中的很多信息,例如文字、图片、视频等。既然一个二进制位只能表示0或1,那么多个二进制位就能表示很多种信息,因此通常将8个二进制位组合在一起,叫做字节(Byte),例如一个英文字符通常占用一个字节的空间。现代计算机技术中更多的是将字节作为构成文件的大小或者表示存储容量的度量。单个字节表示的数据仍然太小,因此定义了KiB(二进制千字节)、MiB(二进制百万字节)、GiB(二进制十亿字节)、TiB(二进制万亿字节)等单位,单位间的换算为1024倍。

k表示1000,Ki表示1024。

字节在计算机中的换算。

现如今的数据存储容量制造厂家将其换算成了1TB = 1000 GB,这使得原本1TB的硬盘,在计算机中显示数据存储容量大小时只有0.977,所以实际理论大小仅977GB可用,真正实际可用的大小还要更小一些,因为硬盘中需要写入固件程序,这可能也会占用一些存储空间。

字面表达中,通常b是指位,B是指字节。

比特率(bit rate)是数据传输单位。比特率是指单位时间内传输或处理的二进制位的数量,比特率采用比特每秒(bit/s,bps)作为单位,比特率也叫码率。类似的,比特率的单位间换算则通常采用K(即1000),而不是Ki(即1024)。尽管也可以使用Ki,例如每秒1000bps=1Kbps≈0.98Kibps≈0.1225KiBps。单位换算时,可以仅换算二进制千比特,可以仅换算成字节,也可以两者均换算。

1kbps=1000bps , 1Kibps=1024bps

延伸:波特率(Baud rate)是指单位时间内信号电平变化的次数,波特率采用赫兹(Hz)作为单位。当信号电平只存在两种状态时,例如高低电平,此时波特率=比特率;当信号电平存在四种状态时,即00、01、10、11,每次电平变化就需要传输两位二进制数,此时波特率是比特率的一半

二、信道带宽&信道容量

信道即连接发送端和接收端通信设备之间的传输媒介,信号传输的通道。

信道带宽是指能够通过信道的最高频率和最低频率的差值。在数字信道中通常采用信道能够达到的最大数据速率来表示数字信道的带宽,最大数据速率即单位时间内能够传输的最大数据量,采用比特每秒(bit/s,bps)作为单位。例如数字信道带宽(Bandwidth)为50Mbps,则表示1s内能够传输的最大数据量为5000万个二进制位。信道容量是指在信道上进行无差错传输所能达到的最大传输速率。理论上数字信道中的信道容量和信道带宽值得就是相同的含义。

我国把高于4Mbps的带宽叫做宽带。100Mbps的宽带就表示带宽是100Mbps数字信道,即在1s内能够传输的最大数据量是1亿个数据位,网速最高100Mbit/s=12.5MB/s,同时并不意味着你电脑上网一定能达到这么高的,也不是每时每刻都这么高。就好比高速公路最大限速120km/h,汽车的速率可以是80km/h,也可以是90km/h,也可以是120km/h。

宽带测速算法。例如家庭带宽购买了500M,即500Mbps。如果光猫LAN口速率为1000Mbps,理论上可以跑满500Mbps下行带宽的,也就是理论下载网速最高可达62.5MB/s。但是并不是所有的数据位都将用于数据传输,我们需要计算下数据传输的利用率。现如今大部分家庭用户的带宽接入方式为PPPoE方式,因此只需要计算以太网的最大利用率即可:以太网帧最大长度为1518Bytes,每传输一帧其实还需要在以太网帧前后附加前导码7Bytes、帧开始定界符1Bytes和帧间间隙12Bytes(规定最小帧间间隙为12Bytes),也就是说每一帧其实传输了1538Bytes的数据位,但是我们需要计算有效传输的数据位,逐层分析:

  1. 数据链路层帧:1518Bytes,包含了帧首部14Bytes,帧校验和4Bytes,因此18Bytes为非有效传输数据位。

  2. PPPoE数据包:1500Bytes,包含了PPPoE首部6Bytes和Protocol 2Bytes,因此8Bytes为非有效传输位。

  3. IP数据包:1492Bytes,包含了IP首部20Bytes,因此这20Bytes为非有效传输位。

  4. TCP数据包:1472Bytes,包含了TCP首部20Bytes,因此这20Bytes也为非有效传输位。

计算最终被用于有效数据位传输的部分为1452Bytes。也就是说以太网的有效传输效率为94.41%,因此500Mbps理论下载有效数据的速率为62.5MB/s x 94.41%≈59MB/s。

三、延迟

网络延迟(Latency)是指数据通过网络从源发出到目的接收中间经历的时间差。理论来说数据通常会以光速在互联网上传输,但实际情况下由于距离、经过的网络设备数量或其他变量会导致数据转发变得稍慢。数据包在互联网中是经过了很多网络设备接收、处理和发送,以及可能经过不同的路径,这些会造成数据延迟抵达目标设备。造成延迟的因素包括:

  • 源和目的之间的距离:源和目的物理距离越远则延迟越高。

  • 传输介质:采用低容量的介质会导致带宽被占满而导致更高延迟。

  • 网络跳数:数据经过的转发设备越多,则延迟就越高。

  • 硬件性能:硬件资源不足的网络设备、服务器、交换机等,超过了处理能力会导致更高延迟。

  • 数据包大小和网络拥塞:数据包越大,传输时间越长;传输路径中存在拥塞点会导致更高延迟。

  • 网页构造:大量的图像和视频资源需要加载会导致更高延迟。

  • 带宽不足:带宽被占满会导致延迟更高。

延迟影响了应用程序性能,导致用户体验下降,生产力无法发挥到极致。高延迟带来的结果就是响应速度慢。随着企业加快数字化转型,基于云的应用程序和服务对网络延迟的敏感程度越来越高。在依赖高性能计算、自动化制造、实时数据管理、远程视频操作、直播、高频交易、流式处理分析应用程序(例如实时拍卖、在线博彩、多人游戏)等领域的企业对低延迟有着非常高的要求,低延迟决定了这些企业能否在竞争激烈的市场中存活。

网络延迟通常会采用Ping程序执行计算。Ping程序首先会发送ICMP echo报文,随后等待接收ICMP echo-reply报文。Ping会计算ICMP报文在源和目的之间往返一次所需要的时间,这个时间通常被称为RTT往返时间)。RTT的二分之一约是延迟的值,延迟单位采用ms(毫秒)。这样计算的延迟其实并非精确延迟,因为数据包往返路径可能存在不同,所以只能通过ping大致判断延迟数值。

降低延迟的评估需要考虑多个因素。这几个因素包括数据转发路径最短、应用程序所需要的最佳资源、互联网基础设施是否稳定已有资源够用。从以上几个因素考虑,家庭用户想要降低延迟比较困难,而企业在数据中心之间能够考虑以上因素进行低延迟网络建设。

延迟和带宽没有直接联系但带宽会影响延迟。当追求信息反馈速度时,例如股市、打游戏需要低延迟;追求信息量的时候,例如看视频就需要高带宽。因此高延迟所折射的现象就是网络卡顿,低带宽所折射的现象就是网络速度慢。带宽影响延迟的例子,例如当带宽被看视频占满的时候,打游戏的延迟会飙升。

四、吞吐量

吞吐量(Throughput)是指特定时间范围内实际通过网络的平均数据量,其实就是延迟对带宽的影响。吞吐量表示延迟后的可用带宽,例如带宽可能是100Mbps,但是延迟后吞吐量在时间T1为50Mbps,在时间T2为80Mbps。

五、抖动

抖动(Jitter)是指网络中数据包流延迟的变化。仍然是因为路径的原因,可能会导致延迟不是每一次计算都是差不多的。稳定延迟数值的网络性能优于高抖动的网络。

六、丢包

丢包(Packet Loss)是指数据包从未抵达目的地,而是因为某种原因在网络中被某个设备丢弃。丢包的原因可能是软件缺陷、硬件问题、网络拥塞、路由环路等。丢包率也是用来评价网络性能的因素,例如发送100个包,丢了9个,那么丢包率就是9%。