【网络奇遇记】揭秘计算机网络的性能指标:速率|带宽|吞吐量|时延

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:网络奇遇记、数据结构
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 📋前言
  • 一. 速率
    • 1.1 数据量
    • 1.2 速率
  • 二. 带宽
  • 三. 吞吐量
  • 四. 时延
    • 4.1 发送时延
    • 4.2 传播时延
    • 4.3 排队时延
    • 4.4 处理时延
  • 📝结语

📋前言

    计算机网络的性能指标是用来衡量和评估网络的各种性能方面的指标。常用的有速率带宽吞吐量时延时延带宽积往返时间利用率丢包率这8个性能指标。通过对这些指标的监测和优化,可以提升网络的性能和效率。



一. 速率

1.1 数据量

首先我们先来看看数据量的单位:

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

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

单位换算关系
比特(b)基本单位
字节(B)1 B = 8 bit
千字节(KB)1 KB = 1024 B = 2^10 B
兆字节(MB)1 MB = 1024 KB = 2^20 B
吉字节(GB)1 GB = 1024 MB = 2^30 B
太字节(TB)1 TB = 1024 GB = 2^40 B

1.2 速率

计算机网络中的速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率或比特率。

  • 速率的基本单位:比特/秒(bit/s,可简记为b/s。有时也记为bps,即bit per second)。

  • 速率的常用单位:千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)以及太比特/秒(Tb/s)。

单位换算关系
比特/秒(b/s)基本单位
千比特/秒(kb/s)1 kb/s = 10^3 b/s
兆比特/秒(Mb/s)1 Mb/s = 10^3 kb/s = 10^6 b/s
吉比特/秒(Gb/s)1 Gb/s = 10^3 Mb/s = 10^9 b/s
太比特/秒(Tb/s)1 Tb/s = 10^3 Gb/s = 10^12 b/s

注意:

  • 数据量单位中的K、M、G、T的数值分别为2^102^202^302^40
  • 速率单位中的k、M、G、T的数值分别为10^310^610^910^12


二. 带宽

带宽的两种含义:
带宽在模拟信号系统中的意义

  • 带宽在模拟信号系统中的意义:是指某个信号所包含的各种不同频率成分所占据的频率范围;
  • 单位 :赫兹(Hz),简称 “赫”。常用的单位有千赫(kHz)、兆赫(MHz)以及吉赫(GHz)等等。

带宽在计算机网络中的意义

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

  • 基本单位:比特/秒(b/sbps)。

  • 常用单位:千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)以及太比特/秒(Tb/s)。

补充:
带宽的上述两种表述有着密切的关系:线路的 “频率带宽” 越宽,其所传输数据的 “最高数据率” 也越高。

    在实际应用中,主机的接口速率、线路带宽、交换机或路由器的接口速率遵循 “木桶原则”,也就是数据传送速率从主机接口速率、线路带宽以及交换机或路由器的接口速率这三者中取最小值。
在这里插入图片描述

课外小知识:
    木桶原则:一个水桶无论有多高,它盛水的高度取决于其中最低的那块木板。因此,也称为短板原则。
在这里插入图片描述



三. 吞吐量

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

    举例说明吞吐量的概念,假设某用户接入因特网的带宽为100Mb/s,该用户同时使用观看网络视频、浏览网页以及给文件服务器上传文件这三个网络应用。播放网络视频的下载速率为20Mb/s,访问网页的下载速率为600kb/s,向文件服务器上传速率为1Mb/s,则网络吞吐量就是下载速率和上传速率的总和,即20Mb/s+600kb/s+1Mb/s=21.6Mb/s。

注意:吞吐量会受网络带宽的限制。



四. 时延

        时延是指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。数据可由一个或多个分组、甚至是一个比特构成。网络中的时延由发送时延、传播时延、排队时延以及处理时延这四部分组成。

4.1 发送时延

在这里插入图片描述
    发送时延是主机或路由器发送分组所耗费的时间,也就是从发送分组的第一个比特开始,到该分组的最后一个比特发送完毕为止所耗费的时间。如上图所示,有两个发送时延:一个是主机A将分组发送给路由器所耗费的时间,另一个是路由器将该分组转发出去所耗费的时间。

发送时延的计算公式如下图所示:
在这里插入图片描述

4.2 传播时延

在这里插入图片描述
    传播时延是电磁波在链路(传播介质)上传播一定的距离所耗费的时间。如上图所示,有两个传播时延:一个是分组的最后一个比特信号从主机A传播到路由器所耗费的时间,另一个是该分组的最后一个比特的信号从路由器传播到主机B所耗费的时间。

发送时延的计算公式如下图所示:
在这里插入图片描述
电磁波在链路上的传播速率主要有一下三种:

  • 电磁波下自由空间中的传播速率约为3x10^8 m/s
  • 电磁波下铜线电缆中的传播速率约为2.3x10^8 m/s
  • 电磁波下光纤中的传播速率约为2x10^8 m/s

4.3 排队时延

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

排队时延一般无法用一个简单的公式进行计算。


4.4 处理时延

在这里插入图片描述
路由器从自己的输入队列中取出排队缓存并等待处理的分组后,会进行一系列处理工作。例如,检查分组的首部是否误码、提取分组首部中的目的地址、为分组查找相应的转发接口以及修改分组首部中的部分内容(例如生存时间)等。路由器对分组进行这一系列处理工作所耗费的时间就是处理时延。

与排队时延类似,处理时延一般也无法用一个简单的公式进行计算。



📝结语

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编解码异常分析

前言 最近在做的项目,有H264解码的需求。部分H264文件解码播放后,显示为绿屏或者花屏。 分析 如何确认是否是高通硬解码的问题 adb 指令 adb root adb remount adb shell setenforce 0 adb shell setprop vendor.gralloc.disable_ubwc 1 adb shell c…

基于JAVA的校园电商物流云平台 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 商品数据模块2.3 快递公司模块2.4 物流订单模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 商品表3.2.2 快递公司表3.2.3 物流订单表 四、系统展示五、核心代码5.1 查询商品5.2 查询快递公司5.3 查…

模型稳定性评估 简介

OOT OOT(Out of Time)是在建模过程中用于描述模型在时间维度上的性能变化的术语。当模型在训练时使用的数据集与实际应用场景中的数据分布发生差异,特别是在时间上存在间隔时,就可能出现OOT问题。 OOT通常指的是模型在训练时使用…

nestjs swagger文档调用需要鉴权的接口

目标 nestjs经常需要设置一些鉴权(登录后)才能访问的接口,但是生成的swagger文档可以发起接口请求,文档发起的请求默认是不携带登录token的,所以需要移除swagger文档发起请求的守卫拦截。 nestjs守卫拦截设置见另一篇…

C++力扣题目20--有效的括号

给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

【FPGA】Verilog 实践:优先级编码器 | Priority encoder

0x00 优先级编码器(Priority encoder) "能将多个二进制输入压缩成更少数目输出的电路或算法的编码器" 优先级编码器是一种编码器,它考虑了两个或更多输入位同时变为 1 但没有收到输入的情况。当输入进来时,优先级编码…

直线中点算法

中点算法是基于隐函数方程设计的,使用像素网格中点来判断如何选取距离理想直线最近的像素点,直线的中点算法不仅与 Bresenham 算法产生同样的像素点集,二期还可以推广到圆和椭圆。 原理 直线的隐函数表示 F ( x , y ) y − k x − b 0 F(…

ClickHouse 入门与实战教程

目录 1. ClickHouse 简介 什么是 ClickHouse? ClickHouse 的优势和特点 适用场景 2. 安装 ClickHouse 3. ClickHouse 的基本概念 4. ClickHouse 的基本操作 创建数据库和表、插入和查询数据 使用 MergeTree 引擎处理时序数据 管理分区 创建带有分区的 Mer…

电路设计(6)——彩灯控制器的multism仿真

1.功能设计 使用两个运算放大器、两个计数器芯片,实现了彩灯的循环移位控制。 整体原理图如下所示: 运行效果截图如下: 小灯分为两组,一组十个,在脉冲的驱动下,轮流发光! 2.设计思路 两个运放…

视觉学习(4) —— 添加地址传递数据

Modbus Slave 选择一个地址右键,选择发送的数据类型 视觉软件 一、添加地址 当地址为100时,先将首地址改为100,第0个地址为100,第1个地址为101,往后累加 若想使用100—150的地址,即首地址为100&#xff…

基于Java SSM框架实现电子药品商城系统项目【项目源码+论文说明】

基于java的SSM框架实现电子药品商城系统演示 摘要 随着社会的发展,计算机的优势和普及使得电子商城系统的开发成为必需。电子商城系统主要是借助计算机,通过对信息进行管理。减少管理员的工作,同时也方便广大用户对个人所需信息的及时查询以…

程序设计语言与语言处理程序基础

内容概要 编译与解释 正规式(重点) 例题 答案:D,C 有限自动机 例题 答案:C 表达式(重点) 把表达式构造成一颗树,然后再根据树的前序,中序,后序遍历来得出答…

递归如何书写?

目录 第一步:首先你分析问题,要有递归的思路,知道要递归什么来解决问题。 第二步:先按照思路(第一层)写出函数的定义与函数体 第三步:根据函数的定义与函数体进一步确定需要的参数 第四步&a…

golang基于window下实现文件遍历(效率高于filepath.Wlak)

golang基于window下实现文件遍历(效率高于filepath.Wlak) package mainimport ("fmt""os""path""path/filepath""syscall""time""unsafe" )const MAX_PATH 260type FILETIME struct {dwLowDateTime …

html之为什么使用表单,常用表单元素使用?

文章目录 一、为什么使用表单呢?二、常用表单元素使用三、总结 一、为什么使用表单呢? 为什么使用表单呢,使用表单是为了更好的收集用户数据,并且安全 二、常用表单元素使用 1、password密码框 密码框:会隐藏数据&a…

06.微服务组件 Gateway

1、Gateway 简介 在SpringCloud中网关的实现包括两种: Zuul是基于Servlet的实现,属于阻塞式编程。SpringCloudGateway是基于Spring5中提供的WebFlux心属于响应式编程的实现,具备更好的性能。 2、搭建网关服务 步骤一:创建gatewa…

TwIST算法MALTLAB主程序详解

TwIST算法MALTLAB主程序详解 关于TwIST算法的具体原理可以参考: 链接: https://ieeexplore.ieee.org/abstract/document/4358846 链接: https://blog.csdn.net/jbb0523/article/details/52193209 该算法的MATLAB源代码: 链接: http://www.lx.it.pt/~bi…

Unity查安卓Native Crash的方法,定位SO报错函数

需要用到两个工具Il2CppDumper和IDA_Pro,网上可以下到对应的软件 可以看到报错的位置是libil2cpp.so 0000000000AFF820 接下来要做的事情就是找到0000000000AFF820对应的函数是哪个 解包 Il2CppDumper解析so文件和符号表,查看对应的函数表 把apk后缀…

Cloudstack多个管理服务器节点

https://docs.cloudstack.apache.org/en/4.18.0.0/adminguide/reliability.html 参考翻译: 代理上支持多个管理服务器 在具有多个管理服务器的Cloudstack环境中,可以根据算法配置代理,将其连接到哪个管理服务器。这对于内部负载均衡器或高可…

大数据----MapReduce实现统计单词

目录 一、简介二、实现单词统计数据准备编程MapReduceJob 三、运行四、结果 一、简介 Hadoop MapReduce 是一个编程框架,它可以轻松地编写应用程序,以可靠的、容错的方式处理大量的数据(数千个节点)。 正如其名,MapReduce 的工作模式主要分…