【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率
计算机网络的性能指标
导读
大家好,很高兴又和大家见面啦!!!
在上一篇内容中我们介绍了计算机网络的三个性能指标——速率、带宽和吞吐量。用大白话来说就是:网速、最高网速和实时网速。 相信大家看到这三个词应该就能够理解这三种性能指标了。
前面我们也说过,计算机网络主要有7个性能指标。在今天的内容中,我们将会介绍剩下的4种性能指标——时延、时延带宽积、往返时延以及信道利用率。下面我们就直接进入今天的主题。
一、时延(Delay)
1.1 定义
时延是指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需的总时间,它由4部分构成;发送时延、传播时延、处理时延和排队时延。
1.1.1 发送时延
发送时延也称传输时延。节点将分组的所有比特推向链路所花的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所花的时间。
1.1.2 传播时延
传播时延是指电磁波在信道(传输介质)中传播一定的距离所花的时间,即一个比特从链路一端传播到另一端所需的时间。
1.1.3 处理时延
处理时延是指分组在交换节点为存储转发而进行的一些必要处理所花的时间。例如分析分组首部、差错检验或查找合适的路由等。
1.1.4 排队时延
排队时延是指分组在路由器的输入队列或输出队列中排队等待所花的时间。
因此数据在网络中经历的总时延就是以上4部分时延之和:
1.2 个人理解
时延就是消耗的总时间,数据在网络中从一端发送到另一端需要经历4个过程:
- 发送:节点将数据分组全部发送到链路中,这一步所花的时间就是发送时延;
- 传播:这些数据在链路中进行传播时需要花费的时间,这就是传播时延;
- 排队:分组在传播到节点后,节点无法一次全部进行接收处理,所有的分组只能一个一个排队等待节点的处理,这一步所消耗的时间就是排队时延;
- 处理:各个节点在处理分组时,并不是瞬间完成,每一个分组都需要进行相应的处理,以确保能够正确的转发到下一个节点中,这时所消耗的时间就是处理时延;
我们以上图为例,分别来介绍这4步:
- 发送:这里总共有4处发送时延:
- 数据分组从计算机1发送到链路中
- 数据分组从路由器1转发到链路中
- 数据分组从路由器2转发到链路中
- 数据分组从路由器3转发到链路中
- 传播:这里总共有4处传播时延:
- 数据分组在计算机1与路由器1之间传播
- 数据分组在路由器1与路由器2之间传播
- 数据分组在路由器2与路由器3之间传播
- 数据分组在路由器3与计算机2之间传播
- 排队:这里总共有3处排队时延:
- 路由器1在接收到分组后,分组需要排队等待处理
- 路由器2在接收到分组后,分组需要排队等待处理
- 路由器3在接收到分组后,分组需要排队等待处理
- 处理:这里总共有3处处理时延:
- 路由器1对分组进行处理
- 路由器2对分组进行处理
- 路由器3对分组进行处理
1.3 注意事项
- 是否要计算目的地的时延?
这时有朋友可能会疑惑,为什么你这里都没有提到计算机2对数据的处理时延与排队时延呢?
- 对于这个问题,我给出的解释是,在这个例子中,我将其忽略了,我这里关注的是网络传播过程中产生的各种时延;
- 但是,严格意义上来说,如果要求计算的是端到端的的时延,那么我们就需要计算最后一个节点——计算机2的处理时延与排队时延。
因此我们在解决实际问题时,一定要注意分清实际的需求:
- 我们在以下3种情况下可以忽略目的地的时延:
- 需要简化模型时,可忽略
- 目的地时延太少,可以忽略不计时,可忽略
- 题目没有明确说明要计算端到端的时延时,可忽略
- 区分传输时延与传播时延
在数据的整个传播过程中,发送时延又可称为传输时延,别看传输与传播只有一字之差,它们二者的含义却截然不同:
- 传输时延:数据从节点传输到链路中所消耗的时间
- 传播时延:数据从链路传播到节点中所消耗的时间
从定义上来看,它们的起始点与目的地就不相同,一个是数据从节点到链路中所消耗的时间;一个是从链路到节点中所消耗的时间。
从影响因素上来看,它们也是有区别的:
- 传输时延:与分组的长度和发送的速率有关
- 传播时延:与信道长度和信道上的传播速率有关
一个是与数据的大小以及节点的性能相关;一个是与信道的长度以及传输介质相关;
因此一定要分清这两种时延,为了避免出错,当我们看到传输时延是,直接将其修改成发送时延。一个发送一个传播这样我们就不会弄混了。
二、时延带宽积
2.1 定义
时延带宽积是指发送端发送的第一个比特即将到达终点时,发送端已发出了多少比特,也称以比特为单位的链路长度,即:
2.2 个人理解
时延带宽积乍一看不太好理解,下面我们将其公式修改一下,相信大家就能够理解了:
时延带宽积 = 传播时延 × 信道带宽↓ ↓ ↓S = t × v
看到这个公式,大家是不是就理解了,所谓的时延带宽积不就是时间与速度的乘积吗!!!因此其结果应该是在时间t内以速度v所行驶的距离。
只不过这里的时间是数据也就是比特在信道上的传播时延,这里的速度是信道的带宽,因此求出来的距离应该是信道的长度。
但是如果只是理解成信道长度的话,还是不太契合,因此我们需要在长度的基础上进一步理解:
从几何的角度理解就是:
- 传播时延:链路对应的圆柱体的高
- 带宽:链路横截面可以容纳的比特数量
- 链路带宽积:链路对应圆柱体可以容纳的比特总数量
三、往返时延(Round-Trip Time, RTT)
往返时延指的是从发送端发出一个短分组,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认)总共经历的时间。
3.2 个人理解
往返时延也就是我们所说的网络延迟,当两台计算机进行通信时,其中一台计算机向另一台计算机发送消息,另一台计算机在接收到消息后,需要回复一个确认信号,用来告诉该计算机,消息我已经收到了。
往返时延就是消息发送完后,到收到确认消息所花费的时间,如下所示:
这里我们假设通信双方是由一条链路直接连接,中间没有交换机啥的,那么在一次信息的发送与确认的过程中,各阶段的时间消耗如下:
- t1是数据在信道中的传播时延
- t2是接收方处理数据的排队与处理时延
- t3是接收方发送确认信息的发送时延
- t4是确认信息在信道中的传播时延
- RTT是整个过程的往返时延
由上图我们可以很清楚的看到,往返时延是不包含发送方的发送时延的,并且由于我们假设的是双方直接由一条链路连接,因此中间就省去了交换机的存储转发这个过程消耗的时间。
不过我们要清楚的是,我们这里没有展示,不代表实际的过程中没有。在互联网中,往返时延还包括各中间节点的处理时延、排队时延及转发数据时的发送时延。
四、信道利用率
信道利用率是指某个信道百分之多少的时间是有数据通过的。
4.2 个人理解
信道利用率实际上就是在数据传输的过程中,对信道使用的百分比。
当信道中有数据通过时,才表示信道在被使用。在实际的数据传输过程中,信道并不会一直都有数据通过,因此信道利用率可以根据信道被使用的时间与信道被占用的总时间的比值求得。
信道利用率太低会浪费网络资源,这里我们可以例举一个最简单的例子——电路交换。
在电路交换中,数据在进行传输前需要发送方和接收方之间建立一条专属的通信通道,此时这条通信通道就被发送方与接收方独占了。
我们不难发现,在数据传播的整个过程中,链路的大部分时间都是没有数据通过的,因此我们说电路交换的信道利用率太低了,严重浪费了通信资源。
但这并不意味着信道利用率并非越高越好,信道利用率太高会产生较大的时延,导致网络拥塞。
结语
在今天的内容中我们介绍了计算机网络的4种性能指标:
- 时延:是数据从网络的一端发送到另一端所需要的总时间,由发送时延、传播时延、排队时延、处理时延组成。
- 时延带宽积:是指链路中可以容纳的比特数量
- 往返时延:是指数据从发送端发送到接收端后,发送端接收到接收端回复的确认信息的总时间,由数据在链路中的传播时延t1,接收方接收到数据后的排队时延与处理时延t2,接收方发送确认信息的发送时延t3以及确认信息在链路中传播的传播时延t4组成。
- 信道利用率:在数据传输的过程中,对信道的实际使用率。
今天的内容到这里就全部结束了,在下一篇内容中我们将介绍《计算机网络的体系结构》,大家记得关注哦!
网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失
相关文章:

【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率
计算机网络的性能指标 导读 大家好,很高兴又和大家见面啦!!! 在上一篇内容中我们介绍了计算机网络的三个性能指标——速率、带宽和吞吐量。用大白话来说就是:网速、最高网速和实时网速。 相信大家看到这三个词应该就…...
FreeRTOS第15篇:FreeRTOS链表实现细节03_List_t与ListItem_t的奥秘
文/指尖动听知识库-星愿 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:深入FreeRTOS内核:从原理到实战的嵌入式开发指南 1 FreeRTOS列表的核心数据结构 FreeRTOS的列表实现由两个关键结构体组成:List_t(列表)和ListItem_t(列表项)。它们共同…...
git 添加额外的远程仓库 URL
要使用 git branch -a 查看 net-next 远程仓库中的所有分支,请按照以下步骤操作: 步骤 1: 确保已添加 net-next 远程仓库 如果尚未添加 net-next 远程仓库,请运行以下命令: git remote add net-next git://git.kernel.org/pub/s…...

不同类型光谱相机的技术差异比较
一、波段数量与连续性 多光谱相机 波段数:通常4-9个离散波段,光谱范围集中于400-1000nm。 数据特征:光谱呈阶梯状,无法连续覆盖,适用于中等精度需求场景(如植被分类)。 高光谱相机…...

Swift系列01-Swift语言基本原理与设计哲学
本文将深入探讨Swift的核心原理、设计理念以及与Objective-C的对比 1. Swift与Objective-C的架构差异分析 Swift和Objective-C尽管可以无缝协作,但它们的架构设计存在本质差异。 1.1语言范式 Objective-C是一种动态语言,建立在C语言之上并添加了Smal…...

《OpenCV》——dlib(人脸应用实例)
文章目录 dlib库dlib库——人脸应用实例——表情识别dlib库——人脸应用实例——疲劳检测 dlib库 dlib库的基础用法介绍可以参考这篇文章:https://blog.csdn.net/lou0720/article/details/145968062?spm1011.2415.3001.5331,故此这篇文章只介绍dlib的人…...
以太网通讯
接口开发笔记-WebApi-CSDN博客 以太网常用通讯协议 1、modbus tcp using EasyModbus; using System;class Program {static void Main(string[] args){// 创建Modbus客户端实例ModbusClient modbusClient new ModbusClient("192.168.1.100"); // IP地址modbusCli…...
UDP学习笔记(一)为什么UDP需要先将数据转换为字节数组
UDP 发送数据时需要先将数据转换为字节数组再发送,主要是因为计算机网络传输的最基本单位是“字节”(Byte)。让我们从以下几个方面来深入理解这个设计选择: 1. 计算机网络只能传输“字节” 在网络通信中,无论是 TCP 还…...
数据分析/数据科学常见SQL题目:连续登录用户、留存率、最大观看人数
文章目录 1. SQL的执行顺序是什么?on和join谁先执行,为什么?on和where的区别?2. 已知表user,字段id, date,求新用户的次日留存率3. 已知表user,字段id,date,求每个日期新用户的次日留…...

【Conda】Windows安装conda/Anaconda环境
安装conda并配置powershell 访问该网址,下载安装即可: Anaconda下载 安装完成后,打开Anaconda,并访问Powershell Prompt 弹出Windows Terminal,并正常进入Conda 【非必须】如果不是通过Windows Terminal打开&#x…...

olmOCR:高效精准的 PDF 文本提取工具
在日常的工作和学习中,是否经常被 PDF 文本提取问题困扰?例如: 想从学术论文 PDF 中提取关键信息,却发现传统 OCR 工具识别不准确或文本格式混乱?需要快速提取商务合同 PDF 中的条款内容,却因工具不给力而…...

数字投屏叫号器-发射端python窗口定制
窗口 本系列前章介绍,叫号器的显示端,完成了视频音频的形成和传输的介绍。本章节开始定制小窗口。 最终实现,处于桌面最前端,发送指令,集合前篇即可完成: 处理本地text.txt更新,随之被rtsp采集…...

从零开始实现大语言模型(十四):高阶训练技巧
1. 前言 预训练大语言模型的流程与训练普通神经深度网络模型本质上并没有任何不同。可以使用深度学习实践中已经被证明非常有效的高阶训练技巧,优化大语言模型预训练流程,使大语言模型预训练效率更高,训练过程更稳定。 本文介绍深度学习领域…...

Spring-framework源码编译
版本统一(搭配其他版本会遇到不可知错误): 1)spring 5.2.X(5.5.26) 2)JDK8 3)Gradle:5.6.4 可以在gradle-wrapper.properties中修改 https\://services.gradle.org/distribution…...
分布式系统的核心挑战与解决方案
1、分布式系统的引入 在移动互联网、云计算和物联网的推动下,现代软件系统需要处理亿级用户请求、PB级数据存储和毫秒级响应需求。传统的单体架构受限于单机性能瓶颈和容灾能力,逐渐被分布式系统取代。例如,电商平台在“双十一”期间需应对每…...
fastjson漏洞
fastjson漏洞 fastjson工作原理攻击原理补充 例子 fastjson工作原理 fastjson的作用是将JAVA对象转换成对应的json表示形式,也可以反过来将json转化为对应的Java对象。fastjson使用AutoType功能进行反序列化,AutoType使用type标记字符的原始类型&#x…...

upload-labs详解(13-20)文件上传分析
目录 upload-labs-env upload-labs-env第十三关 文件包含漏洞 代码 测试 上传一个.jpg图片 上传一个.png文件 上传一个.gif图片 upload-labs-env第十四关 代码 思路 upload-labs-env第十五关 代码 思路 upload-labs-env第十六关 代码 思路 测试 上传gif格式…...

HTML第四节
一.复合选择器 1.后代选择器 注:1.后代选择器会选中后代所有的要选择的标签 2.儿子选择器 3.并集选择器 注:1.注意换行,同时选中多种标签 4.交集选择器 注:1.标签选择器放在最前面,例如放在类选择器的前面 2.两个选择…...

基于 LeNet 网络的 MNIST 数据集图像分类
1.LeNet的原始实验数据集MNIST 名称:MNIST手写数字数据集 数据类型:灰度图 (一通道) 图像大小:28*28 类别数:10类(数字0-9) 1.通过torchvision.datasets.MNIST下载并保存到本地…...

win11编译llama_cpp_python cuda128 RTX30/40/50版本
Geforce 50xx系显卡最低支持cuda128,llama_cpp_python官方源只有cpu版本,没有cuda版本,所以自己基于0.3.5版本源码编译一个RTX 30xx/40xx/50xx版本。 1. 前置条件 1. 访问https://developer.download.nvidia.cn/compute/cuda/12.8.0/local_…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...

算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...