计算机网络:性能指标
本博客介绍计算机网络的性能指标,我们可以从不同的方面来度量计算机网络的性能。常用的计算机网络性能指标有以下 8 个,他们是:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率:
速率
为了能够更好的理解速率,我们需要先了解比特。比特是计算机中数据量的基础单位,也是信息论中信息量的单位。一个比特就是二进制数字的一个1或0。
以下为计算机中数据量的常见单位:
单位 | 大小 |
---|---|
比特 bit | 存储一个 0 或 1 |
字节 byte | 1 Byte = 8 b |
千字节 KB | 1 KB = 210 B |
兆字节 MB | 1 MB = 210 KB = 220 B |
吉字节 GB | 1 GB = 210 MB = 230 B |
太字节 TB | 1 TB = 210 GB = 240 B |
常用的数据量单位有比特bit
,字节byte
,千字节KB
,兆字节MB
,吉字节GB
,太字节TB
。在计算机数据量中,小写b
表示bit
,大写B
表示byte
,大写K
表示的是210。
有了比特的概念,我们就可以引出计算机网络中的一个重要的性能指标,速率。它具体是指连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特律或数据率。
常用的数据率单位有比特每秒,可以简写为小写字母b/s
,或者写为 bps
。其是速率的基本单位。
以下为计算机中速率的常见单位:
单位 | 大小 |
---|---|
比特每秒 bit/s | 数字信道上每秒可以传输的比特数量 |
千比特每秒 kb/s | 1 kb/s = 8 b/s |
兆比特每秒 Mb/s | 1 Mb/s = 103 kb/s = 106 b/s |
吉比特每秒 Gb/s | 1 Gb/s = 103 Mb/s = 109 b/s |
太比特每秒 Tb/s | 1 Tb/s = 103 Gb/s = 1012 b/s |
千比特每秒,这里的 k
用小写,而数据量单位中的 K
常用大写。小写 k
在速率单位中的值为 103,也就是 1, 000。而大写 K
在数据量单位中的值为 210,也就是 1024。
在第一张表的数据量中,每两个单位之间相差一个K
,即 210;而在第二章表的速率中,每两个单位之间差一个k
,即 103。
带宽
接下来我们介绍带宽这个性能指标。带宽有两种意义,分别是处于模拟信号系统中和在计算机网络中。
模拟信号系统中:
带宽在模拟信号系统中的意义是指信号所包含的各种不同频率成分所占据的频率范围,某信道允许通过的信号频带范围称为该信道的带宽(或通频带),其基本单位是赫兹Hz,常用单位有千赫兹kHz、兆赫兹MHz、吉赫兹GHz。
例如在传统的通信线路上传送的电话信号的标准带宽为 3.1kHz,范围从 300Hz到 3.4kHz,这是话音的主要成分的频率范围。
计算机网络中:
带宽在计算机网络中的意义是用来表示网络的通信线路所能传送数据的能力。网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率。因此,带宽这个计算机网络性能指标的单位与我们刚刚介绍的速率这个性能指标的单位是相同的,基本单位是b/s
。常用单位有kb/s
、Mb/s
、Gb/s
、Tb/s
。
大家可能有过这样的经历,有朋友问你家的出口网速有多大,你可能回答说 200 兆。这里我们往往省略说比特每秒,完整的描述应该是最高速率为 200 兆比特每秒,而这个最高速率其实就是你家网络的出口带宽,这当然是一个很重要的计算机网络性能指标,它直接关系到我们的网络应用体验。
我们介绍了带宽的两种描述,其实带宽的这两种表述之间有着密切的联系,两者的本质是相同的,一条通信线路的频带宽度越宽,其所能传输数据的最高数据率也就越高。
吞吐量
接下来我们介绍吞吐量这个性能指标。吞吐量表示在单位时间内实际通过某个网络或信道接口的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络带宽或额定速率的限制,例如,一个带宽为1Gb/s
每秒的以太网,其吞吐量受带宽限制,最高为 1Gb/s
,通常只能达到 700Mb/s
。
时延
我们来看看分组从源主机传送给目的主机的过程中都会在哪些地方产生时延。
源主机将分组发往传输线路,这需要花费一定的时间,我们把这段时间称为发送时延:
代表分组的电信号在链路上传输,这也需要花费一定的时间,我们把这段时间称为传播时延:
路由器收到分组后对其进行存储转发,这也需要花费一定的时间,我们把这段时间称为处理时延:
一般来说,源主机和目的主机之间的路径会由多段链路和多个路由器构成,因此会有多个传播时延和处理时延
可知,网络时延由三部分构成,他们是发送时延、传播时延和处理时延。
发送时延的计算公式为分组长度除以发送速率:
分组长度 ( b ) 发送速率 ( b / s ) \frac {分组长度(b)} {发送速率(b/s)} 发送速率(b/s)分组长度(b)
传播时延的计算公式,由信道长度除以电磁波传播速率:
信道长度 ( m ) 电磁波传播速率 ( m / s ) \frac {信道长度(m)} {电磁波传播速率(m/s)} 电磁波传播速率(m/s)信道长度(m)
电磁波的传播速率如下:
介质 | 速率 |
---|---|
自由空间 | 3.0 × 108(光速) |
铜线 | 2.3 × 108 |
光纤 | 2.0 × 108 |
要计算传播时延,首先应该确定采用的是什么传输媒体,进而可以确定电磁波在该传输媒体中的传播速率。
处理时延没有简单的计算公式,因为它不方便计算。这并不难理解,因为网络中的数据流量是动态变化的,因此路由器的繁忙程度也是动态变化的。另外,各种路由器的软硬件性能也可能有所不同,因此很难用一个公式计算出处理时延
时延带宽积
时延带宽积。从字面意思就可以看出该性能指标是时延与带宽的乘积。但是时延由发送时延、传播时延和处理时延三部分构成,该性能指标中的时延具体是指哪一个呢?答案是传播时延,也就是说时延带宽积是传播时延与带宽的乘积。
我们可以把传输链路看成是一个管道,其长度为传播时延,横截面积为带宽,则时延带宽积就是该管道的体积:
可以想象成管道中充满了比特,若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特链路的时延带宽积又称为以比特为单位的链路长度。
往返时间
接下来我们介绍往返时间这个性能指标。在许多情况下,英特网上的信息不仅仅单方向传输,而是双向交互。我们有时很需要知道双向交互一次所需的时间,因此往返时间 RTT
也是一个重要的性能指标。
来看下面这个例子:
以太网上的某台主机要与无线局域网中的某台主机进行信息交互。往返时间 RTT
是指从原主机发送分组开始,直到原主机收到来自目的主机的确认分组为止。所需要的时间。卫星链路耗时较多,一般情况下,卫星链路的距离比较远,所带来的传播时延比较大。例如地球同步卫星距离地球 36, 000 公里,那么可以计算出通过同步卫星转发分组所带来的传播时延大约为 240 毫秒。
利用率
接下来我们介绍利用率这个性能指标。利用率有两种,一种是信道利用率,另一种是网络利用率。信道利用率用来表示某信道有百分之几的时间是被利用的,也就是有数据通过。而网络利用率是指全网络的信道利用率加权平均。根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此信道利用率并非越高越好。
丢包率
最后我们来介绍丢包率这个性能指标,丢包率/是指在一定的时间范围内传输过程中丢失的分组数量与总分组数量的比率。
丢包率具体可分为接口丢包率、节点丢包率、链路丢包率、路径丢包率、网络丢包率等。
丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说,往往并不关心这个指标,因为他们通常意识不到。
网络丢包分组丢失主要有两种情况,我们来举例说明。一种情况是分组在传输过程中出现误码被节点交换机丢弃,如图所示:
主机发送了分组在传输过程中出现了误码。当分组进入传输路径中的节点交换机后,被节点交换机检测出了误码,进而被丢弃。
另一种情况是分组到达一台存储队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞。如图所示:
假设路由器 R5 当前的输入缓冲区已满,此时主机发送分组到达该路由器没有存储空间,暂存该分组只能将其丢弃。需要说明的是,实际上路由器会根据自身拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组。因此丢包率反映了网络的拥塞情况,无拥塞时路径丢包率为0,轻度拥塞时路径丢包率为 1% 到4%,严重拥塞时路径丢包率为 5% 到15%。当网络的丢包率较高时,通常无法使网络应用正常工作。