计算机网络的性能指标被用来从不同方面度量计算机网络的性能。常用的八个计算机网络性能指标:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率。
一.速率
(1) 数据量
比特(bit
,记为小写b
)是计算机中数据量的基本单位,一个比特就是二进制数字中的一个1或0
。
数据量的常用单位有字节(byte
,记为大写B
)、千字节(KB
)、兆字节(MB
)、吉字节(GB
)以及太字节(TB
)。
数据量的单位 | 换算关系 |
---|---|
比特(b) | 基本单位 |
字节(B) | 1B = 8bit |
千字节(KB) | KB = 2 ^ 10 B |
兆字节(MB) | MB = K · KB = 2 ^ 20 B |
吉字节(GB) | GB = K · MB = 2 ^ 30 B |
太字节(TB) | TB = K · GB = 2 ^ 40 B |
(2) 速率
速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率(Data Rate)或比特率(Bit Rate)。
速率的基本单位是比特/秒(bit/s
,可简记为b/s
,有时也记为bps
,即bit per second
)。速率的常用单位有千比特/秒(kb/s或kbps
)、兆比特/秒(Mb/s或Mbps
)、吉比特/秒(Gb/s或Gbps
)以及太比特/秒(Tb/s或Tbps
)。
速率的单位 | 换算关系 |
---|---|
比特/秒(b/s) | 基本单位 |
千比特/秒(kb/s) | kb/s = 10 ^ 3 b/s |
兆比特/秒(Mb/s) | Mb/s = k · kb/s = 10 ^ 6 b/s |
吉比特/秒(Gb/s) | Gb/s = k · Mb/s = 10 ^ 9 b/s |
太比特/秒(Tb/s) | Tb/s = k · Gb/s = 10 ^ 12 b/s |
注意:数据量中的K、M、G、T与速率中的K、M、G、T并不相等,也就说计算时不能直接约掉!!!
- 数据量单位中的K、M、G、T的数值分别为
2 ^ 10、2 ^ 20、2 ^ 30、2 ^ 40
。 - 速率单位中的k、M、G、T的数值分别为
10 ^ 3、10 ^ 6、10 ^ 9、10 ^ 12
。
例如:有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要多长时间?
计算过程如下:
平时我们可以进行估算,这时分子和分母上的兆可以直接约掉,可以看到得到的结果与精确计算的差别很大。但是必须记住,我们这是估算,实际数据量单位与速率单位并不相等!!!
二.带宽
带宽在模拟信号系统中的意义
- 某个信号所包含的各种不同频率成分所占据的频率范围。
- 单位:Hz(kHz,MHz,GHz)。
带宽在计算机网络中的意义
- 用来表示网络的通信线路所能传送数据的能力,即在单位时间内从网络中的某一点到另一点所能通过的
最高数据率
。 - 单位:b/s(kb/s,Mb/s,Gb/s,Tb/s)。
两者关系:线路的频率带宽越宽,其所传输数据的最高数据率也越高。
需要注意:数据传送速率应从主机接口速率、线路带宽以及交换机或路由器的接口速率中取小者。
数据传送速率 = min [ 主机接口速率,线路带宽,交换机或路由器的接口速率 ]
因此,在构建网络时应该做到各设备以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能(不然带不动啊)。
三.吞吐量
吞吐量是指在单位时间内通过某个网络或接口的实际数据量。吞吐量常被用于对实际网络的测量,以便获知到底有多少数据量通过了网络。吞吐量受网络带宽的限制。
假设某用户接入因特网的带宽为100Mb/s,该用户同时进行观看网络视频、浏览网页、给文件服务器上传文件,则此时网络吞吐量为视频、网页下载速率 + 文件上传速率。
四.时延
时延是指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。 数据可由一个或多个分组、甚至是一个比特构成。
假设如下源主机给目的主机发送一个分组,该分组在整个传输过程中所耗费的时间(总时延)主要由以下几部分组成:
- 发送时延:源主机将分组发往传输线路。
- 计算公式:
分组长度(b)/发送速率(b/s)
- 计算公式:
- 传播时延:分组的电信号在链路上传播。
- 计算公式:
信道长度(m)/信号传播速率(m/s)
- 计算公式:
- 排队时延:分组在路由器的输入队列和输出队列中排队缓存所耗费的时间。当分组进入路由器后,会在路由器的输入队列中排队缓存并等待处理,在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存并等待转发。
- 计算公式:在分组从源主机传送到目的主机的过程中,分组往往要经过多个路由器的转发,分组在每个路由器上产生的排队时延的长短往往取决于网络当时的通信量和各路由器的自身性能,由于网络的通信量随时间变化很大,各路由器的性能也可能并不完全相同,因此排队时延一般无法用一个简单的公式进行计算。
- 处理时延:路由器从自己的输入队列中取出排队缓存并等待处理的分组后会进行一系列处理工作,这需要耗费一定的时间。
- 计算公式:一般也无法用一个简单的公式进行计算。
既然源主机或路由器有发送时延,难道目的主机或路由器就没有接收时延吗?
实际上目的主机接收分组信号与分组信号在链路上传播是同时进行的,如果在总时延中包含接收时延就重复计算了一部分时间。
图解时延:
假设主机A和主机B通过一个路由器两端链路互连,主机A给主机B发送一个分组时延:
假设主机A和主机B通过一个路由器两端链路互连,主机A给主机B发送多个分组时延(下图省略了排队时延和处理时延):
假设主机A和主机B通过两个个路由器三端链路互连,主机A给主机B发送多个分组时延(下图省略了排队时延和处理时延):
由此可以推导出:在不考虑排队时延和处理时延的情况下,源主机通过n个路由器
的转发,给目的主机发送m个分组
的总时延计算公式(假设各分组等长、各链路等长、主机和路由器的发送速率相等):m * 发送时延 + (n + 1) * 传播时延 + n * 发送时延
五.时延带宽积
链路的时延带宽积是传播时延和带宽的乘积,也称为以比特为单位的链路长度。
例如:我们可以将链路看作是一个圆柱形管道,管道的长度是链路的传播时延,即以时间作为单位来表示链路长度,管道的横截面积是链路的带宽,因此时延带宽积就相当于这个管道的容积,表示这样的链路可以容纳的比特数量。
六.往返时间
往返时间(R
ound-T
rip T
ime,简称RTT
)是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共耗费的时间。
在window系统中,我们可以在命令行通过ping 域名/IP
指令测量计算机与某个目的主机的连通性和往返时间RTT,例如测量我的电脑与B站的连通性和往返时间:
七.利用率
利用率有链路利用率和网络利用率两种:
- 链路利用率:某条链路有百分之几的时间是被利用的(即有数据通过)。完全空闲的链路的利用率为零。
- 网络利用率:网络中所有链路的链路利用率的加权平均。
根据排队论可知,当某链路的利用率增大时,该链路引起的时延就会迅速增加。当网络的通信量较少时,产生的时延并不大,但在网络通信量不断增大时,分组在交换节点(路由器或交换机)中的排队时延会随之增大,因此网络引起的时延就会增大。
理想条件下,可以得到如下关系:
时延D随网络利用率U的增大而增大,当网络利用率接近100%时,时延逐渐趋于无穷大。因此网络利用率并不是越大越好,应该控制在一个合理的范围。
八.丢包率
丢包率是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
造成丢包的两种情况:
- 分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃。
- 分组正确到达传输路径中的某个交换节点,但该交换节点的输入缓存的队列长度达到了某个阈值,根据丢弃策略,主动丢弃分组。
丢包率可以反映网络的拥塞情况:
- 无拥塞时路径丢包率为0。
- 轻度拥塞时路径丢包率为1%~4%。
- 严重拥塞时路径丢包率为5%~15%。