🚀 计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能
常用的计算机网络性能指标有以下八个
速率,带宽,吞吐量,时延,时延带宽积,往返时间,利用率,丢包率
为了能够更好的理解速率,我们需要先了解比特
比特是计算机中数据量的单位,也是信息论中信息量的单位,一个比特就是二进制数字的一个一或
常用的数据量单位有字节,它的英文单词为byte,一个字节包含八个比特
8 bit = 1 Byte
比特的英文单词为bit,常简写为小写字母b
千字节KB,这里的K为2的10次方,因此,KB等于2的10次方个字节
KB = 2的10次方 B
兆字节MB,它等于K乘以KB。因此,MB等于2的20次方个字节
MB = K*KB = 2的10次方 * 2的10次方 B = 2的20次方 B
吉字节GB,它等于K乘以MB,因此,GB等于2的30次方个字节
GB = K*MB = 2的10次方*2的20次方 B = 2的30次方 B
太字节TB,它等于K乘以GB。因此等于2的40次方个字节
TB = K*GB = 2的10次方*2的30次方 B = 2的40次方 B
也许大家有购买新硬盘或U盘的经历,在使用中会发现,操作系统给出的容量与厂家标称的容量不同。例如,这是我计算机中的一块固态硬盘。标重容量为250GB。但操作系统给出的容量为232.8GB,这是什么原因呢?
这是因为计算机中的存储容量单位存在不同的表示方式。厂家通常使用十进制来计量存储容量,其中1GB等于10^9字节。而操作系统使用二进制来计量存储容量,其中1GB等于2^30字节。
因此,在厂家标称的250GB硬盘中,实际上包含的字节数是250 × 10^9字节。然而,操作系统将其转换为二进制单位后,显示的容量为232.8GB,即232.8 × 2^30字节。
这种差异导致了厂家标称的容量与操作系统显示的容量之间的偏差。类似地,其他存储设备如U盘也会存在这种差异。请注意,这种差异并不意味着硬盘或U盘有缺陷,而只是不同计量单位之间的转换造成的结果。
🚀速率
它具体是指连接在计算机网络上的主机在数字信道上传送比特的速率。也称为比特率或数据率
常用的数据率单位有比特每秒
bit/s (b/s bps)
kb/s = 10的三次方 b/s (bps)
千比特每秒,这里的K常用小写,而数据量单位中的K常用大写。
小写K在速率单位中的值为十的三次,也就是1000。而大写K在数据量单位中的值为二的十次,也就是1024
兆比特每秒,尽管这里的大写字母M与数据量单位中的相同,但在速率单位中,其值为十的六次。而在数据量单位中,其值为二的二十次
吉比特每秒,尽管这里的大写字母G与数据量单位中的相同,但在速率单位中,其值为十的九次。而在数据量单位中,其值为二到三十次
太比特每秒,尽管这里的大写字母T与数据量单位中的相同,但在数据单位中,其值为十到十二次,而在数据量单位中,其值为二的四十次
🚀案例:
有一个待发送的数据块。大小为100兆字节MB。网卡的发送速率为100兆比特每秒Mbps。则网卡发送完该数据块需要多长时间?
首先,我们需要将数据块的大小从兆字节(MB)转换为兆比特(Mbps),因为网卡的发送速率是以比特为单位的。
1 字节 = 8 比特
所以,100 兆字节 = 100 × 8 = 800 兆比特。
接下来,我们可以使用以下公式来计算发送完整个数据块所需的时间:
时间 = 数据量 / 速率
其中,数据量是800兆比特,速率是100兆比特每秒。
时间 = 800 兆比特 / 100 兆比特每秒 = 8 秒
因此,网卡发送完该数据块需要8秒的时间。
主要是看清楚题目里面有没有给你准确的数据,没有给才能用下面的,给了准确的数据则不能直接套用下面的
🚀带宽
带宽在模拟信号系统中的意义是指信号所包含的各种不同频率成分所占据的频率范围,其基本单位是赫兹
常用单位有千赫兹、兆、赫兹、集赫兹
例如,在传统的通信线路上,传送的电话信号的标准带宽为三点一千赫兹。范围从三百赫兹到三点四千赫。这是话音的主要成分的频率范围。
带宽在计算机网络中的意义是用来表示网络的通信线路所能传送数据的能力,因此,网络带宽表示在单位时间内,从网络中的某一点到另一点所能通过的最高数据率,因此,带宽这个计算机网络性能指标的单位与我们刚刚介绍的速率这个性能指标的单位是相同的,基本单位是比特每秒,常用单位有千比特每秒、兆比特每秒、吉比特每秒、太比特每秒。
🚀吞吐量
大家可能有过这样的经历,有朋友问,你家的出口网速有多大?你可能回答说200兆,这里我们往往省略说比特每秒,完整的描述应该是最高速率为200兆比特每秒,而这个最高速率,其实就是你家网络的出口带宽,这当然是一个很重要的计算机网络性能指标,它直接关系到我们的网络应用体验,我们介绍了带宽的两种描述,其实,带宽的这两种表述之间有着密切的联系。一条通信线路的频带宽度越宽,其所能传输数据的最高数据率也就越高。
吞吐量表示在单位时间内通过某个网络(或信道,接口)的数据量
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络
吞吐量受网络带宽或额定速率的限制
例如,这是一个带宽为1G比特每秒的以太网。其吞吐量受带宽限制,最高为一G比特每秒,通常只能达到700兆比特每秒
🚀时延
我们来看看分组从源主机传送给目的主机的过程中,都会在哪些地方产生时延?
源主机将分组发往传输线路,这需要花费一定的时间,我们把这段时间称为发送时延
代表分组的电信号在链路上传输,这也需要花费一定的时间,我们把这段时间称为传播时延
路由器收到分组后,对其进行存储转发,这也需要花费一定的时间,我们把这段时间称为处理时延
一般来说,源主机和目的主机之间的路径会由多段链路和多个路由器构成,因此会有多个传播时延和处理时延
通过本例可知,网络时延由三部分构成,他们是发送时延。传播时延和处理时延。
发送时间的计算公式为分组长度除以发送速率
这里需要对发动速率做一下说明,如图所示,这是家庭局域网的一部分,网卡的发送速率、信道带宽、交换机的接口速率,它们共同决定着主机的发送速率。例如,若网卡的发送速率为1G比特每秒,信道带宽为1G比特每秒,交换机的接口速率为1G比特每秒,则主机的发送速率理论上最大可以达到1G比特每秒,若网卡的发送速率为100兆比特每秒,信道带宽为1G比特每秒,交换机的接口速率为1G比特每秒,则主机的发送速率理论上最大只能达到100兆比特每秒,若网卡的发送速率为1G比特每秒,进到带宽为100兆比特每秒,交换机的接口速率为1G比特每秒,则主机的发送速率理论上最大也只能达到100兆比特每秒,从该例可以看出,在构建网络时,应该做到各设备间以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能,希望同学们重视这一点。
因为大家今后就可能面临新房装修时网络布线以及相关设备的采购问题,如果未认真考虑。造成网络性能无法满足自己的应用需求,再进行改造将会是非常麻烦的事情,目前主流的家庭局域网带宽是1000兆,有些发烧友甚至打造家庭万兆局域网
再来看传播实验的计算公式。由信道长度除以电磁波传播速率。电磁波在自由空间的传播速率是光速,即3乘十的八次方米每秒。电磁波在网络传输媒体中的传播速率比在自由空间要略低一些,在铜线电缆中的传播速率约为2.3乘以十的八次方米每秒。在光纤中的传播速率约为2.0乘以十的八次方米每秒。因此,要计算传播时延,首先应该确定采用的是什么传输媒体。进而可以确定电磁波在该传输媒体中的传播速率。
处理时延没有简单的计算公式,因为它不方便计算,这并不难理解,因为网络中的数据流量是动态变化的,因此,路由器的繁忙程度也是动态变化的。
另外。各种路由器的软硬件性能也可能有所不同,因此很难用一个公式计算出处理时延。这里需要说明的是,有的教材中还有一个排队时延。而本课程将排队时延与处理时延合并,称为处理时延。由于处理时延不方便计算。因此,一般在有关计算实验的考题中,题目往往会指明处理时延,忽略不计
那么请大家思考一下,在处理时延忽略不计的情况下。网络总时延中,是传播时延占主导呢,还是发送时延占主导?由下列举例看出
🚀举例
将题目给定的相应已知量代入公式,这里二的20次是数据量单位中的兆,这里十的六次是速率单位中的兆,计算结果为800多秒
传播时延等于信道长度除以电磁波传播速率,将题目给定的相应已知量代入公式,题目并未给出传输介质,为了方便计算,我们假设传输介质是光纤,因此电磁波传输速率这里为二乘以十的八次方米每秒,计算结果为0.005秒
很显然,在本例中,发送时延占主导
🚀再看另一个例子
再来看另一个例子,本例与例三只有一点不同,就是将数据块的大小从100兆字节改为1字节。我们使用同样的方法可以计算出发送时间为八乘十的负六次方秒,传播时延没有改变,仍是0.005秒。很显然,在本例中,传播时延占主导。
通过以上两个例子可以看出,构成网络时延的发送时延、传播时延以及处理时延,在处理时延忽略不计的情况下,我们不能想当然的认为发送时延主导或传播时延占主导。而应该具体问题具体分析。
🚀总结
🚀时延带宽积
首先来看时延带宽机。从字面意思就可以看出。该性能指标是时延与带宽的乘积。
但是时延由发送时延、传播时延和处理时盐三部分构成,该性能指标中的时延具体是指哪一个呢?答案是传播时延,也就是说,时延带宽积是传播时延与带宽的乘积
我们可以把传输电路看成是一个管道,且长度为传播实验,横截面积为带宽,则实验带宽机就是该管道的体积,可以想象成管道中充满了比特,若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽机个比特
链路的时延带宽积,又称为以比特为单位的链路长度。
🚀往返时间
在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互。
我们有时很需要知道双向交互一次所需的时间
因此,往返时间RTT也是一个重要的性能指标
来看下面这个例子
以太网上的某台主机要与无线局域网中的某台主机进行信息交互,往返时间RTT是指从原主机发送分组开始,直到原主机收到来自目的主机的确认分组为止所需要的时间,大家来分析一下,分组是在这个以太网上耗时较多,还是在这个无线局域网上耗时较多?又或者是在卫星链路上耗时较多呢?
答案是卫星链路耗时较多。一般情况下,卫星链路的距离比较远,所带来的传播时延比较大,例如,地球同步卫星距离地球36000公里。那么可以计算出通过同步卫星转发分组所带来的传播时间大约为240毫秒
🚀利用率
利用率有两种,一种是信道利用率,另一种是网络利用率。
信道利用率用来表示某信道有百分之几的时间是被利用的,也就是有数据通过,而网络利用率是指全网络的信道利用率加权平均。
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加。因此,信道利用率并非越高越好。如果令D0表示网络空闲时的时延。D表示网络当前的时延。那么在适当的假定条件下,可以利用下面的简单公式来表示D,D0和利用率U之间的关系。D等于D0除以一减U。
我们可以按该式画出实验D随利用率U的变化曲线。可以看出,时延D从网络空闲时的时延D0随利用率U的增加而迅速增长。
当网络的利用率达到50%时,时延就要加倍。
当网络的利用率超过50%时,时延急剧增大。
当网络的利用率接近100%时,时延就趋于无穷大。
因此,一些拥有较大主干网的ISP通常会控制他们的信道利用率不超过50%
如果超过了,就要准备扩容,增大线路的带宽
当然,也不能使信道利用率太低,这会使宝贵的通信资源白白浪费
应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。
🚀丢包率
丢包率及分组的丢失率。是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等
丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说,往往并不关心这个指标,因为他们通常意识不到网络丢包
分组丢失主要有两种情况
一种情况是分组在传输过程中出现误码,被结点交换机丢弃。
如图所示,主机发送的分组在传输过程中出现了误码,当分组进入传输路径中的结点交换机后,被节点交换机检测出了误码,进而被丢弃
思考,结点交换机是如何检测出分组有误码?
节点交换机(或交换机)通常使用帧校验序列(FCS)来检测分组是否存在误码。FCS是一种错误检测技术,通过在数据帧的尾部添加一个校验值来实现。
以下是交换机检测分组误码的基本过程:
接收:当交换机接收到一个数据帧时,它会将帧中的数据提取出来,并获取帧尾部的FCS字段。
校验:交换机使用特定的算法(如循环冗余校验CRC)对接收到的数据进行计算,生成一个校验值。
比较:交换机将计算得到的校验值与帧尾部的FCS字段进行比较。
判断:如果计算得到的校验值与FCS字段相匹配,说明数据帧没有误码,可以继续处理。如果校验值不匹配,说明数据帧存在误码
处理:当交换机检测到分组有误码时,它可以采取不同的策略,例如丢弃该分组、请求重传或发送错误报告等。
通过使用FCS校验,交换机能够快速检测出分组是否存在误码,并采取适当的措施来处理这些错误。这有助于确保数据在网络中的可靠传输。
另一种情况是分组到达一台存储队列已满的分组交换机时被丢弃。在通信量较大时,就可能造成网络拥塞
如图所示。假设路由器R5当前的输入缓冲区已满,此时,主机发送分组到达该路由器。路由器没有存储空间暂存该分组。只能将其丢弃。
需要说明的是,实际上,路由器会根据自身拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组,因此,丢包率反映了网络的拥塞情况
无拥塞时路径丢包率为0
轻度拥塞时,路径丢包率为1%~4%
严重拥塞时,路径丢包率为5%~15%
当网络的丢包率较高时,通常无法使网络应用正常工作。
🚀总结