【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率

news2025/4/21 15:40:22

计算机网络的性能指标

【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率_数据

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们介绍了计算机网络的三个性能指标——速率带宽吞吐量。用大白话来说就是:网速最高网速实时网速。 相信大家看到这三个词应该就能够理解这三种性能指标了。

前面我们也说过,计算机网络主要有7个性能指标。在今天的内容中,我们将会介绍剩下的4种性能指标——时延、时延带宽积、往返时延以及信道利用率。下面我们就直接进入今天的主题。

一、时延(Delay)

1.1 定义

时延是指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间,它由4部分构成;发送时延、传播时延、处理时延和排队时延。

1.1.1 发送时延

发送时延也称传输时延。节点将分组的所有比特推向链路所花的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所花的时间。

1.1.2 传播时延

传播时延是指电磁波在信道(传输介质)中传播一定的距离所花的时间,即一个比特从链路一端传播到另一端所需的时间。

1.1.3 处理时延

处理时延是指分组在交换节点为存储转发而进行的一些必要处理所花的时间。例如分析分组首部、差错检验或查找合适的路由等。

1.1.4 排队时延

排队时延是指分组在路由器的输入队列或输出队列中排队等待所花的时间。

因此数据在网络中经历的总时延就是以上4部分时延之和:

1.2 个人理解

时延就是消耗的总时间,数据在网络中从一端发送到另一端需要经历4个过程:

  1. 发送:节点将数据分组全部发送到链路中,这一步所花的时间就是发送时延;
  2. 传播:这些数据在链路中进行传播时需要花费的时间,这就是传播时延;
  3. 排队:分组在传播到节点后,节点无法一次全部进行接收处理,所有的分组只能一个一个排队等待节点的处理,这一步所消耗的时间就是排队时延;
  4. 处理:各个节点在处理分组时,并不是瞬间完成,每一个分组都需要进行相应的处理,以确保能够正确的转发到下一个节点中,这时所消耗的时间就是处理时延;

 

【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率_数据_05

我们以上图为例,分别来介绍这4步:

  1. 发送:这里总共有4处发送时延:
  • 数据分组从计算机1发送到链路中
  • 数据分组从路由器1转发到链路中
  • 数据分组从路由器2转发到链路中
  • 数据分组从路由器3转发到链路中
  1. 传播:这里总共有4处传播时延:
  • 数据分组在计算机1与路由器1之间传播
  • 数据分组在路由器1与路由器2之间传播
  • 数据分组在路由器2与路由器3之间传播
  • 数据分组在路由器3与计算机2之间传播
  1. 排队:这里总共有3处排队时延:
  • 路由器1在接收到分组后,分组需要排队等待处理
  • 路由器2在接收到分组后,分组需要排队等待处理
  • 路由器3在接收到分组后,分组需要排队等待处理
  1. 处理:这里总共有3处处理时延:
  • 路由器1对分组进行处理
  • 路由器2对分组进行处理
  • 路由器3对分组进行处理

1.3 注意事项

  1. 是否要计算目的地的时延?

这时有朋友可能会疑惑,为什么你这里都没有提到计算机2对数据的处理时延与排队时延呢?

  • 对于这个问题,我给出的解释是,在这个例子中,我将其忽略了,我这里关注的是网络传播过程中产生的各种时延;
  • 但是,严格意义上来说,如果要求计算的是端到端的的时延,那么我们就需要计算最后一个节点——计算机2的处理时延与排队时延。

因此我们在解决实际问题时,一定要注意分清实际的需求:

  • 我们在以下3种情况下可以忽略目的地的时延:
  • 需要简化模型时,可忽略
  • 目的地时延太少,可以忽略不计时,可忽略
  • 题目没有明确说明要计算端到端的时延时,可忽略
  1. 区分传输时延与传播时延

在数据的整个传播过程中,发送时延又可称为传输时延,别看传输与传播只有一字之差,它们二者的含义却截然不同:

  • 传输时延:数据从节点传输到链路中所消耗的时间
  • 传播时延:数据从链路传播到节点中所消耗的时间

从定义上来看,它们的起始点与目的地就不相同,一个是数据从节点到链路中所消耗的时间;一个是从链路到节点中所消耗的时间。

从影响因素上来看,它们也是有区别的:

  • 传输时延:与分组的长度和发送的速率有关
  • 传播时延:与信道长度和信道上的传播速率有关

一个是与数据的大小以及节点的性能相关;一个是与信道的长度以及传输介质相关;

因此一定要分清这两种时延,为了避免出错,当我们看到传输时延是,直接将其修改成发送时延。一个发送一个传播这样我们就不会弄混了。

二、时延带宽积

2.1 定义

时延带宽积是指发送端发送的第一个比特即将到达终点时,发送端已发出了多少比特,也称以比特为单位的链路长度,即:

2.2 个人理解

时延带宽积乍一看不太好理解,下面我们将其公式修改一下,相信大家就能够理解了:

时延带宽积 = 传播时延 × 信道带宽
    ↓         ↓         ↓
    S    =    t    ×    v

    看到这个公式,大家是不是就理解了,所谓的时延带宽积不就是时间与速度的乘积吗!!!因此其结果应该是在时间t内以速度v所行驶的距离。

    只不过这里的时间是数据也就是比特在信道上的传播时延,这里的速度是信道的带宽,因此求出来的距离应该是信道的长度。

    但是如果只是理解成信道长度的话,还是不太契合,因此我们需要在长度的基础上进一步理解:

    【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率_接收端_07

    从几何的角度理解就是:

    • 传播时延:链路对应的圆柱体的高
    • 带宽:链路横截面可以容纳的比特数量
    • 链路带宽积:链路对应圆柱体可以容纳的比特总数量

    三、往返时延(Round-Trip Time, RTT)

    往返时延指的是从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认)总共经历的时间。

    3.2 个人理解

    往返时延也就是我们所说的网络延迟,当两台计算机进行通信时,其中一台计算机向另一台计算机发送消息,另一台计算机在接收到消息后,需要回复一个确认信号,用来告诉该计算机,消息我已经收到了。

    往返时延就是消息发送完后,到收到确认消息所花费的时间,如下所示:

    【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率_接收端_08

    这里我们假设通信双方是由一条链路直接连接,中间没有交换机啥的,那么在一次信息的发送与确认的过程中,各阶段的时间消耗如下:

    • t1是数据在信道中的传播时延
    • t2是接收方处理数据的排队与处理时延
    • t3是接收方发送确认信息的发送时延
    • t4是确认信息在信道中的传播时延
    • RTT是整个过程的往返时延

    由上图我们可以很清楚的看到,往返时延是不包含发送方的发送时延的,并且由于我们假设的是双方直接由一条链路连接,因此中间就省去了交换机的存储转发这个过程消耗的时间。

    不过我们要清楚的是,我们这里没有展示,不代表实际的过程中没有。在互联网中,往返时延还包括各中间节点的处理时延、排队时延及转发数据时的发送时延。

    四、信道利用率

    信道利用率是指某个信道百分之多少的时间是有数据通过的。

    4.2 个人理解

    信道利用率实际上就是在数据传输的过程中,对信道使用的百分比。

    当信道中有数据通过时,才表示信道在被使用。在实际的数据传输过程中,信道并不会一直都有数据通过,因此信道利用率可以根据信道被使用的时间与信道被占用的总时间的比值求得。

    信道利用率太低会浪费网络资源,这里我们可以例举一个最简单的例子——电路交换。

    在电路交换中,数据在进行传输前需要发送方和接收方之间建立一条专属的通信通道,此时这条通信通道就被发送方与接收方独占了。

    我们不难发现,在数据传播的整个过程中,链路的大部分时间都是没有数据通过的,因此我们说电路交换的信道利用率太低了,严重浪费了通信资源。

    但这并不意味着信道利用率并非越高越好,信道利用率太高会产生较大的时延,导致网络拥塞。

    结语

    在今天的内容中我们介绍了计算机网络的4种性能指标:

    • 时延:是数据从网络的一端发送到另一端所需要的总时间,由发送时延、传播时延、排队时延、处理时延组成。
    • 时延带宽积:是指链路中可以容纳的比特数量
    • 往返时延:是指数据从发送端发送到接收端后,发送端接收到接收端回复的确认信息的总时间,由数据在链路中的传播时延t1,接收方接收到数据后的排队时延与处理时延t2,接收方发送确认信息的发送时延t3以及确认信息在链路中传播的传播时延t4组成。
    • 信道利用率:在数据传输的过程中,对信道的实际使用率。

    今天的内容到这里就全部结束了,在下一篇内容中我们将介绍《计算机网络的体系结构》,大家记得关注哦!

    网络安全学习路线

    对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

    同时每个成长路线对应的板块都有配套的视频提供:

    需要网络安全学习路线和视频教程的可以在评论区留言哦~

    最后
    • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!

    给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

    黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

    结语

    网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

    特别声明:
    此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2311923.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    Kubermetes 部署mysql pod

    步骤 1: 创建 PersistentVolume 和 PersistentVolumeClaim 首先为 MySQL 创建一个 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 来确保数据的持久性。 mysql-pv.yaml: apiVersion: v1 kind: PersistentVolume metadata:name: mysql-pv-volume spec:cap…

    Docker和DockerCompose基础教程及安装教程

    Docker的应用场景 Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 CentOS Docker 安装 使用官方安装脚本自动安装 安装命令…

    网络安全等级保护—定级

    🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 网络安全等级保护五个保护等级 五个保护等级 受侵害的客体 对客体的侵害程度 一般损害 严重损害 特别严重损害 公民、法人和其他组织的合法权益 第一级 第二级 …

    macos 程序 运行

    sudo xattr -r -d com.apple.quarantine [/Applications/Name]使用stow 管理配置文件

    UVC for USBCamera in Android

    基于UVC 协议,完成USBCamera 开发 文章目录 一、目的:二、USBCamera 技术实现方案难点 三、误区:四、基础补充、资源参考架构图了解Camera相关专栏零散知识了解部分相机源码参考,学习API使用,梳理流程,偏应…

    Docker 安装 Nacos 2.1.1(单机版)

    一、拉取镜像 docker pull nacos/nacos-server:v2.1.1 二、新建数据库 官网上下载 对应版本的 nacos zip 包,在 nacos\conf 目录下有 mysql脚本: 新建一个数据库 nacos_config,在数据库中依次执行 nacos-mysql.sql、1.4.0-ipv6_support-up…

    网络安全数据富化 网络数据安全处理规范

    本文件规定了网络运营者开展网络数据收集、存储、使用、加工、传输、提供、公开等数据处理的安全 技术与管理要求。 本文件适用于网络运营者规范网络数据处理,以及监管部门、第三方评估机构对网络数据处理进行 监督管理和评估。 部分术语和定义 数据(data&#x…

    深入理解 C 语言函数的定义

    在 C 语言的编程世界里,函数是构建复杂程序的基石。理解函数的定义与运用,对于编写高效、可维护的代码至关重要。​ 函数定义的基本概念​ 函数是一组执行特定任务的代码块。它将一个复杂的问题分解为一个个小的、可管理的部分,提高了代码的…

    SQL注入练习场:PHPStudy+SQLI-LABS靶场搭建教程(零基础友好版)

    注意:文中涉及演示均为模拟测试,切勿用于真实环境,任何未授权测试都是违法行为! 一、环境准备 下载PHPStudy 官网下载地址:https://www.xp.cn/php-study(选择Windows版) 安装时建议选择自定…

    WordPress报502错误问题解决-php-fpm-84.service loaded failed failed LSB: starts php-fpm

    文章目录 问题描述问题排查问题解决 问题描述 服务器环境: php:8.4MySQL:8.0Nginx:1.26.2 在访问站点时,一直报502,而两天前还能正常访问。 问题排查 导致502的问题很多,比如站点访问量太大…

    uniapp 微信小程序 升级 uniad插件版本号

    问题描述: 每次提交代码升级的时候会弹窗提示:uniad插件版本太低… 解决办法 一、使用微信小程序开发工具点击右上角 查看到最新版本:1.3.4 二、在app.json中改为最新的版本即可 "uni-ad": {"version": "1.3.4&q…

    使用Dockerfile打包java项目生成镜像部署到Linux_java项目打docker镜像的dockerfile

    比起容器、镜像来说,Dockerfile 非常普通,它就是一个纯文本,里面记录了一系列的构建指令,比如选择基础镜像、拷贝文件、运行脚本等等,每个指令都会生成一个 Layer,而 Docker 顺序执行这个文件里的所有步骤&…

    使用 Apache POI 实现 Excel 单元格合并

    在日常工作中,Excel 是一个不可或缺的工具,尤其是在处理大量数据时。为了提升数据的可读性和美观性,我们经常需要对 Excel 中的单元格进行合并操作。本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并,并提供一…

    低代码开发直聘管理系统

    低代码 DeepSeek 组合的方式开发直聘管理系统,兼职是开挂的存在。整个管理后台系统 小程序端接口的输出,只花了两个星期不到。 一、技术栈 后端:SpringBoot mybatis MySQL Redis 前端:Vue elementui 二、整体效果 三、表结…

    Android更新时区版本-ianaVersion

    代码路径 源码路径system/timezone 目录结构: apex 包含与Android时区更新APEX文件相关的代码,用于在Android设备上更新时区规则。 debug_tools 包含调试Android设备时区问题的工具。 distro 包含与“分发包”(distros)相关…

    利用python实现对Excel文件中数据元组的自定义排序

    问题引入: 假设你是一个浙江省水果超市的老板,统筹11个下辖地市的水果产量。假设11个地市生产的水果包括:苹果、香蕉和西瓜。你如何快速得到某种水果产量突出(排名前几)的地市?产量落后(排名后…

    leetcode 0018 四数之和-medium

    1 题目:四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复&#x…

    时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

    亮点总结: TSBS 测试表明,对于少于 100 万台设备的数据集,InfluxDB OSS 3.0 的数据写入速度实际上比 InfluxDB OSS 1.8 更慢。 对于 100 万台及以上设备的数据集,InfluxDB OSS 3.0 的数据写入性能才开始超过 InfluxDB OSS 1.8。…

    Pytest自动化框架

    目录 Pytest简单介绍 第一章:Pytest console命令 1.pytest -v 参数 -h 参数 其他一些参数:仅供参考 第二章. mark标记 pytest.mark.skip pytest.mark.skipif pytest.mark.xfail ​编辑 pytest.mark.patametrize 单个参数 多个参数 直接…

    ubuntu22.04安装RAGFlow配合DeepSeek搭建本地知识库

    一、简介 RAGFlow 是一个基于对文档的深入理解的开源 RAG(检索增强生成)引擎。当与 LLM 集成时,它能够提供真实的问答功能,并以来自各种复杂格式数据的有根据的引用为后盾。 二、安装 1.环境要求 CPU ≥ 4 核 (x86…