计算机网络 概述 第一章 1.4

devtools/2025/1/19 8:05:03/

1.4 计算机网络的性能指标

计算机网络的性能指标被用来从不同方面度量计算机网络的性能

先来看比特的概念:

比特(bit,记为小写b)是计算机数据量的基本单位,一个比特就是二进制数字中的一个1或0.

数据量的常用单位有字节(byte,记为大写B)、千字节(KB)、兆字节(MB)、吉字节(GB)以及太字节(TB)。

在这里插入图片描述



速率

速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率Data Rate)或比特率Bit Rate

速率的基本单位是比特/秒(bit/s,可简记为b/s,有时也记为bps,即(bit per second)。速率的常用单位有千比特/秒(kb/s或kbps)、兆比特/秒(Mb/s或Mbps)、吉比特/秒(Gb/s或Gbps)以及太比特/秒(Tb/s或Tbps)

在这里插入图片描述

练习:有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要多长时间?

在这里插入图片描述



带宽

带宽在模拟信号系统中的意义是某个信号所包含的各种不同频率成分所占据的频率范围。其单位有Hz(kHz,MHz,GHz)。

在传统的通信线路上传送的电话信号,其标准带宽为3.1kHz,范围从300Hz到3.4kHz,这是话音主要成分的频率范围。

带宽在计算机网络中的意义是用来表示网络的通信线路所能传送数据的能力,即在单位时间内从网络中的某一点到另一点所能通过的 最高数据率。单位:b/s(kb/s,Mb/s,Gb/s,Tb/s)。

线路的频率带宽越宽,其所传输数据的最高数据率也越高

需要注意的是:数据传送速率=min[主机接口速率,线路带宽,交换机或路由器的接口速率]

在这里插入图片描述



吞吐量

  • 吞吐量是指在单位时间内通过某个网络或接口的实际数据量。吞吐量常被用于对实际网络的测量,以便获知到底有多少数据量通过了网络

  • 吞吐量受网络带宽的限制

在这里插入图片描述

假设某用户接入因特网的带宽为100Mb/s,该用户同时进行观看网络视频,浏览网页、以及给文件服务器上传文件这三个网络应用,三个应用的下载速率如图所示,则网络吞吐量就是下载速率和上传速率的总和。

带宽和吞吐量的区别

带宽是理论上的最大传输速率,而吞吐量是实际传输速率。

假设你有一条带宽为 100 Mbps 的网络连接,这意味着理论上它每秒可以传输 100 兆比特的数据。然而,在实际使用中,由于网络拥塞、协议开销等原因,实际的吞吐量可能只有 80 Mbps 或更低。

总的来说,带宽提供了网络的最大传输能力的上限,而吞吐量则反映了在特定条件下网络的实际传输性能。



时延

时延是指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。 数据可由一个或多个分组、甚至是一个比特构成。

在这里插入图片描述

在该网络中,主机H1给H3发送一个分组,那么该分组在整个传输过程中所耗费的时间由哪几部分构成?

假设源主机和目的主机之间只有一个路由器和两段链路

在这里插入图片描述

把源主机将分组发往传输线路的这段时间称为发送时延

代表分组的电信号在链路上传播也需要花费一定时间,把这段时间称为传播时延

当分组进入路由器后,会在路由器的输入队列中排队缓存并等待处理,在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存并等待转发。分组在路由器的输入队列和输出队列中排队缓存所耗费的时间就是排队时延

在这里插入图片描述

在分组从源主机传送到目的主机的过程中,分组往往要经过多个路由器的转发,分组在每个路由器上产生的排队时延的长短,往往取决于网络当时的通信量和路由器的自身性能。

由于网络的通信量随时间变化很大,各路由器的性能也可能并不完全相同,因此排队时延无法用一个简单的公式进行计算。

另外,当网络通信量很大时,可能会造成路由器的队列溢出,使分组丢失,这相当于排队时延无穷大。路由器从自己的输入队列中取出排队缓存并等待处理的分组后会进行一系列处理工作。

例如,检查分组首部是否误码、提取分组首部的目的地址,为分组查找相应的转发接口,以及修改分组首部中的部分内容,例如生存时间等。

路由器对分组进行这一系列处理工作所耗费的时间就是处理时延。与排队时延类似,处理时延也无法用一个简单的公式来进行计算。

在这里插入图片描述

分组经过路由器的转发传输到目的主机,又会耗费一个路由器的发送时延,以及代表该分组的电信号在另一段链路上传播所耗费的传播时延

疑问:既然源主机或路由器有发送时延,难道目的主机或路由器就没有接收时延吗?

实际上,目的主机接收分组信号与分组信号在链路上传播是同时进行的,如果在总时延中包含接收时延,就会重复计算时间。

综上所述,时延由下面四种时延构成:

在这里插入图片描述

下面介绍一种在分析时延有关问题时经常用到的图解方法

这是主机A给主机B发送一个分组的情况:

在这里插入图片描述

再来看主机A给主机B连续发送两个分组的情况:为了简单起见,并未画出所耗费的排队时延和处理时延

在这里插入图片描述

很明显,路由器在发送某个分组时,还在接收下一个分组

再来看复杂一点的情况:

在这里插入图片描述



时延带宽积

时延带宽积是传播时延带宽的乘积

在这里插入图片描述

我们可以将链路看作是一个圆柱形管道,管道的长度是链路的传播时延,即以时间作为单位来表示链路长度,管道的横截面积是链路的带宽,因此时延带宽积久相当于这个管道的容积,表示这样的链路可以容纳的比特数量。

在这里插入图片描述

下面来举例说明时延带宽积的意义

主机A和B之间采用光纤链路,链路长1km,链路带宽为1Gb/s,请计算该链路的时延带宽积。

注:光在光纤中的传播速率为2×108m/s

在这里插入图片描述

若主机A连续发送数据,则在发送的第一个比特即将到达主机B时,发送端已经发送了时延带宽积个比特,而这些比特都在链路上向前传播。

因此,链路的时延带宽积也称为以比特为单位的链路长度,这对我们以后理解以太网的最短帧长是非常有帮助的。



往返时间

往返时间(Round-Trip TimeRTT)是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共耗费的时间

在这里插入图片描述

主机A和主机B通过多个异构型网络和多个路由器进行互连,以太网中的主机A给无线局域网中的主机B发送数据分组,主机B收到数据分组后,给主机A发送相应的确认分组。

从主机A发送数据分组开始到主机A收到主机B发来的相应分组确认为止就是一次往返时间RTT。

分组是在以太网上耗时较多、还是在无线局域网上耗时较多、还是在卫星链路上?

卫星链路上。因为卫星链路的距离比较远,所带来的传播时延比较大



利用率

分为链路利用率网络利用率

链路利用率是指某条链路有百分之几的时间是被利用的(即有数据通过)。完全空闲的链路的利用率为零。

网络利用率是指网络中所有链路的链路利用率的加权平均

  • 根据排队论可知,当某链路的利用率增大时,该链路引起的时延就会迅速增加

  • 当网络的通信量较少时,产生的时延并不大。但在网络通信量不断增大时,分组在交换节点(路由器或交换机)中的排队时延会随之增大,因此网络引起的时延就会增大。

  • 令D0表示网络空闲时的时延,D表示网络当前的时延,那么在理想的假定条件下,可用下式来表示D、D0和网络利用率U之间的关系。

D = D 0 1 − U D = \frac{D_0}{1 - U} D=1UD0

我们可以按该式画出时延D随利用率U的变化曲线:

在这里插入图片描述

由上图可以看出,网络利用率不是越大越好,过高的网络利用率会产生非常大的时延,也不能使信道利用率太低,这会使宝贵的通信资源浪费。应该使用一些机制,动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。



丢包率

丢包率是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率

在这里插入图片描述

造成网络丢包的两种情况:

  • 第一种:分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃。

在这里插入图片描述

主机H1给H3发送分组,该分组在传输过程中出现误码,当误码了的该分组进入传输路径中的交换节点后,被交换节点检测出了误码,进而被交换节点丢弃。

在这里插入图片描述

  • 第二种:节点交换机根据丢弃策略主动丢弃分组。

主机H1给H3发送分组,该分组正确到达传输路径中的某个交换节点,但该交换节点的输入缓存的队列长度达到了某个阈值,根据丢弃策略必须丢弃该分组,尽管该分组并没有误码

在这里插入图片描述

丢包率可以反映网络的拥塞情况:

  • 无拥塞时路径丢包率为0。
  • 轻度拥塞时路径丢包率为1%~4%。
  • 严重拥塞时路径丢包率为5%~15%。

有问题欢迎评论或私信


http://www.ppmy.cn/devtools/151777.html

相关文章

如何在服务器同一个端口下根据路径区分不同的应用

通常我们使用域名直接访问网站时,使用的是80或者443端口。但一个主站下面可能有好几个子网站,我们如何通过路径来挂载子网站呢? nginx.conf配置 使用nginx代理能够实现根据不同的路径,访问同一端口下的子网站。 root配置网站的默…

【Linux】线程全解:概念、操作、互斥与同步机制、线程池实现

🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚一、线程概念 📖 回顾进程 📖 引入线程 📖 总结 &a…

Redis 性能优化:多维度技术解析与实战策略

文章目录 1 基准性能2 使用 slowlog 优化耗时命令3 big key 优化4 使用 lazy free 特性5 缩短键值对的存储长度6 设置键值的过期时间7 禁用耗时长的查询命令8 使用 Pipeline 批量操作数据9 避免大量数据同时失效10 客户端使用优化11 限制 Redis 内存大小12 使用物理机而非虚拟机…

C 语言的void*到底是什么?

一、void* 的类型任意性 void* 是一种通用指针类型。它可以指向任意类型的数据。例如,它可以指向一个整数(int)、一个浮点数(float)、一个字符(char)或者一个结构体等。在C语言中,当…

基于本地消息表实现分布式事务

假设我们有一个电商系统,包含订单服务和库存服务。当用户下单时,需要在订单服务中创建订单,同时在库存服务中扣减库存。这是一个典型的分布式事务场景,我们需要保证这两个操作要么都成功,要么都失败,以保证数据的最终一致性。 项目结构: 订单服务(Order Service)库存服务(Inv…

Windows蓝牙驱动开发-经典蓝牙音频

本文介绍 Windows 中的蓝牙经典音频功能。 蓝牙经典音频支持通过高级音频分发配置文件(A2DP)和单声道播放和通过免手配置文件(HFP)进行立体声音频播放。 Windows 支持各种音频编解码器和采样率,具体取决于 Windows 版本、耳机的功能以及音频设备的播放或捕获功能的当…

神经网络基础-正则化方法

文章目录 1. 什么是正则化2. 正则化方法2.1 Dropout正则化2.2 批量归一化(BN层) 学习目标: 知道正则化的作用掌握随机失活 DropOut 策略知道 BN 层的作用 1. 什么是正则化 在设计机器学习算法时希望在新样本上的泛化能力强。许多机器学习算法都采用相关的策略来减小…

网格参数化,Mesh parameterization processing

目录 前言1.Barycentric mappingMapping 步骤实例 2.Laplace mapping3.Laplace improvement4.Coding 前言 多边形网格的类型多种多样。本文所实现的网格多边形参数化是指三角多边形。 不同的表示被用来编码三维物体的几何形状。选择一种表示方式取决于在上游的获取过程和下游的…