如何衡量计算机网络性能?

150 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 14 天,点击查看活动详情

Hi~ o( ̄▽ ̄)ブ,我是Young,今天我又比昨天更博学了,你呢?

任何一项技术的优劣都可以根据不同的指标来度量。计算机网络也不例外,计算机网络是一个非常复杂的系统,因为其结合了计算机技术和网络技术,故衡量网络整体的性能的指标也有很多。总结如下:

  • 速率
  • 带宽
  • 时延
  • 时延带宽积
  • 丢包率
  • 吞吐率

一、速率

速度(rate)是计算机网络中衡量网络性能的一项重要指标。是指单位时间内传输的数据量,也称传输速率。这里需要强调的是计算机网络中传输的数据是以位为单位的二进制数据。速率的基本单位为bit/s(位每秒),在描述较高速率时,还有其他单位例如:kbit/s、Mbit/s、Gbit/s等,其中的换算单位都可以大约按照1000倍来换算:1Gbit/s=1000Mbit/s

二、带宽

计算机网络中有时也会用带宽(bandwidth)来描述网络速率,其实原本带宽在通信领域一般指信号的频带宽度,即信号的高低频之分其单位为Hz(赫兹)。例如我们常见的模拟电话线路上的语音信号就有高低频之分,最高频达到3.4kHz,最低频为300Hz,一条线路上能够不失真的传递电磁信号的高低频之差称为信道的带宽,所以模拟电话信号的带宽为 3.4kHZ - 300Hz = 3.1kHz

三、时延

时延(delay)是衡量计算机网络的另一项重要指标,是指数据从网络中的一个结点到达另一个结点所需的时间。在存储-转发的分组交换网络中,每个分组从源结点传送到目的结点都是经过一个个相邻的中间结点,采取跳步(hop)的方式转发的。

image.png

数据在分组传输每一跳的过程中主要产生以下4类延迟:

1.结点处理延时(nodal processing delay)

这里产生延时主要是交换设备需要验证分组数据是否有差错,根据分组携带的信息查找转发表确定如何转发该分组,还有可能修改分组的部分控制信息。记为dc。

2.排队时延(queueing delay):

这里主要是经过上一步后。分组需要在交换结点内被交换到输出链路,等待从输出链路发送到下一个结点。在这之前可能还有其他分组数据在等待交换到相同的链路或该链路上还有其他待传输的分组数据。从而这些分组需要暂时缓存,排队等待输出链路可用,这个等待的过程就是排队时延。记为dq。

3.传输时延(transmission delay):

当分组数据开始在输出链路发送时,从第一位到最后一位为止,所消耗的时间称为传输时延。记为dt。假设分组长度为Lbit,链路带宽为Rbit/s,则传输时延为

d = L/R

4.传播时延(propagation delay):

信号从发送端发送出来,经过一定距离的物理链路后到达接收端所消耗的时间,称为传播时延。记为dp,若物理链路长度为D(m),信号传播速度为V(m/s),则有

dp = D/V

可以求得一个分组经过一个跳步所需的时间为

dh = dc + dq + dt + dp

四、时延带宽积

一段物理链路的 传播时延x链路带宽=时延带宽积,单位是位。其物理意义是:如果将一段链路看作是一个传输数据的管道的话,时延带宽积就是这个链路可以容纳的数据位数。假设时延带宽积为G,传播时延为D,链路带宽为R,则:

G = DxR

五、丢包率

网络有时候也会发生拥塞,拥塞时会导致分组数据排队时延增加,当网络拥塞特别严重的时候,假如结点的缓存空间已满,无法再存储新到的分组数据时,此时结点就会将该分组数据丢弃,这就是所谓的丢包现象。丢包率常用来衡量网络性能的高低,其在很大程度上可以反映网络的拥塞程度。假设丢包率为P,T为发送分组的总数,J为接收分组的总数,D为丢失分组总数,则丢包率可以定义为:

P = D/T = (T-J)/T

六、吞吐量(throughput)

表示单位时间内源主机通过网络向目的主机发送的实际数据量,单位时bit/s或B/s(字节每秒)。吞吐量常用来衡量网络实际的数据传输能力。吞吐量极易受到带宽、网络复杂度、网络协议、拥塞程度等因素的影响。在分组交换网络中,理想的吞吐量约等于瓶颈链路的带宽。假设吞吐量为Thr,则S结点到C结点的最大吞吐量为

Thr = min(R1,R2,R3,....RN-1,RN)

image.png