【计算机网络】计算机网络的性能指标

news2024/11/24 5:51:16

计算机网络的性能指标被用来从不同方面度量计算机网络的性能常用的八个计算机网络性能指标:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率

一.速率

(1) 数据量

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

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

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

(2) 速率

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

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

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

注意:数据量中的K、M、G、T与速率中的K、M、G、T并不相等,也就说计算时不能直接约掉!!!

  • 数据量单位中的K、M、G、T的数值分别为2 ^ 10、2 ^ 20、2 ^ 30、2 ^ 40
  • 速率单位中的k、M、G、T的数值分别为10 ^ 3、10 ^ 6、10 ^ 9、10 ^ 12

在这里插入图片描述

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

计算过程如下:

在这里插入图片描述

平时我们可以进行估算,这时分子和分母上的兆可以直接约掉,可以看到得到的结果与精确计算的差别很大。但是必须记住,我们这是估算,实际数据量单位与速率单位并不相等!!!

在这里插入图片描述

二.带宽

带宽在模拟信号系统中的意义

  • 某个信号所包含的各种不同频率成分所占据的频率范围
  • 单位:Hz(kHz,MHz,GHz)。

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

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

两者关系:线路的频率带宽越宽,其所传输数据的最高数据率也越高。

需要注意:数据传送速率应从主机接口速率、线路带宽以及交换机或路由器的接口速率中取小者。

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

在这里插入图片描述

因此,在构建网络时应该做到各设备以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能(不然带不动啊)。

三.吞吐量

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

假设某用户接入因特网的带宽为100Mb/s,该用户同时进行观看网络视频、浏览网页、给文件服务器上传文件,则此时网络吞吐量为视频、网页下载速率 + 文件上传速率。

在这里插入图片描述

四.时延

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

假设如下源主机给目的主机发送一个分组,该分组在整个传输过程中所耗费的时间(总时延)主要由以下几部分组成:

  • 发送时延:源主机将分组发往传输线路。
    • 计算公式分组长度(b)/发送速率(b/s)
  • 传播时延:分组的电信号在链路上传播。
    • 计算公式信道长度(m)/信号传播速率(m/s)
  • 排队时延:分组在路由器的输入队列和输出队列中排队缓存所耗费的时间。当分组进入路由器后,会在路由器的输入队列中排队缓存并等待处理,在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存并等待转发。
    • 计算公式:在分组从源主机传送到目的主机的过程中,分组往往要经过多个路由器的转发,分组在每个路由器上产生的排队时延的长短往往取决于网络当时的通信量和各路由器的自身性能,由于网络的通信量随时间变化很大,各路由器的性能也可能并不完全相同,因此排队时延一般无法用一个简单的公式进行计算
  • 处理时延:路由器从自己的输入队列中取出排队缓存并等待处理的分组后会进行一系列处理工作,这需要耗费一定的时间。
    • 计算公式一般也无法用一个简单的公式进行计算

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

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

在这里插入图片描述

图解时延

假设主机A和主机B通过一个路由器两端链路互连,主机A给主机B发送一个分组时延:

在这里插入图片描述

假设主机A和主机B通过一个路由器两端链路互连,主机A给主机B发送多个分组时延(下图省略了排队时延和处理时延):

在这里插入图片描述

假设主机A和主机B通过两个个路由器三端链路互连,主机A给主机B发送多个分组时延(下图省略了排队时延和处理时延):

在这里插入图片描述

由此可以推导出:在不考虑排队时延和处理时延的情况下,源主机通过n个路由器的转发,给目的主机发送m个分组的总时延计算公式(假设各分组等长、各链路等长、主机和路由器的发送速率相等):m * 发送时延 + (n + 1) * 传播时延 + n * 发送时延

五.时延带宽积

链路的时延带宽积是传播时延和带宽的乘积,也称为以比特为单位的链路长度

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

在这里插入图片描述

六.往返时间

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

在这里插入图片描述

在window系统中,我们可以在命令行通过ping 域名/IP指令测量计算机与某个目的主机的连通性和往返时间RTT,例如测量我的电脑与B站的连通性和往返时间:

在这里插入图片描述

七.利用率

利用率有链路利用率网络利用率两种:

  • 链路利用率:某条链路有百分之几的时间是被利用的(即有数据通过)。完全空闲的链路的利用率为零。
  • 网络利用率:网络中所有链路的链路利用率的加权平均。

根据排队论可知,当某链路的利用率增大时,该链路引起的时延就会迅速增加。当网络的通信量较少时,产生的时延并不大,但在网络通信量不断增大时,分组在交换节点(路由器或交换机)中的排队时延会随之增大,因此网络引起的时延就会增大。

理想条件下,可以得到如下关系:

在这里插入图片描述

时延D随网络利用率U的增大而增大,当网络利用率接近100%时,时延逐渐趋于无穷大。因此网络利用率并不是越大越好,应该控制在一个合理的范围。

八.丢包率

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

在这里插入图片描述

造成丢包的两种情况:

  • 分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃。
  • 分组正确到达传输路径中的某个交换节点,但该交换节点的输入缓存的队列长度达到了某个阈值,根据丢弃策略,主动丢弃分组

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

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

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

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

相关文章

JavaWEB 框架安全:Spring 漏洞序列.(CVE-2022-22965)

什么叫 Spring 框架. Spring 框架是一个用于构建企业级应用程序的开源框架。它提供了一种全面的编程和配置模型,可以简化应用程序的开发过程。Spring 框架的核心特性包括依赖注入(Dependency Injection)、面向切面编程(Aspect-Or…

c++ 线程交叉场景试验

1.需求 1.处理一个列表的数据,要求按照列表的数据处理10个数据 2.可以使用多线程处理,但是针对每个线程,1~10的处理顺序不能变。 3.每个数据的处理必须原子,即只有一个线程可以针对某个数据进行处理,但是10个数据是可…

2024年CSC公派联合培养博士项目申报即将开始~

一、选派计划 联合培养博士研究生面向全国各博士学位授予单位选拔。 联合培养博士研究生的留学期限、资助期限为6-24个月。留学期限应根据拟留学单位学制、外方录取通知(或正式邀请信)中列明的留学时间确定。个人申报的资助期限应不超过留学期限&#…

79、贪心-跳跃游戏II

思路: 首先理解题意:从首位置跳最少多少次到达末尾。 第一种:使用递归,将所有跳转路径都获取到进行求出最小值。 第二种:使用动态规划,下一次最优取决上一次的最优解 第三针:贪心&#xff…

python数据分析常用基础语法

Python语言基础——语法基础 前言一、变量的介绍与使用变量的介绍变量命名规则变量的使用拓展 二、标识符标识符命名命名规则注意事项 三、数据类型数据类型的介绍数据类型的查看示例 四、输入与输出输入和输出的介绍format格式化输出占位符 五、代码缩进与注释代码缩进 前言 …

Spring Cloud 整合Sentinel

1、引入依赖 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 父pom <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <spring.cloud.alibaba.version>2.2.10-RC1</spring.cloud.alibaba.version>Sentinel应用直接引用starter <…

0508_IO2

练习&#xff1a; 将一张图片修改为德国国旗 1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 #include <sys/types.h>5 #include <unistd.h>6 #include <sys/stat.h>7 #include <fcntl.h>8 #include <pthrea…

Codigger:Web应用赋能的分布式操作系统让用户卓越体验

Codigger&#xff0c;作为一个分布式操作系统&#xff0c;其独特之处在于其采用的浏览器/服务器&#xff08;Browser/Server&#xff0c;简称B/S&#xff09;架构。这种架构的核心思想是&#xff0c;通过浏览器来进入工作界面&#xff0c;页面交互部分事务逻辑在前端&#xff0…

1-1ARM开发环境搭建(GD32)

1:安装MDK最好是5.27以及以上版本&#xff0c;避免后续学习中出现相关错误 2&#xff1a;安装芯片支持包 双击安装即可&#xff0c;也可以是默认路径&#xff0c;也可以自己更改路径 3&#xff1a;安装jlink下载器驱动&#xff08;下载调试器&#xff09; 具体安装步骤如下所示…

Mac虚拟机软件哪个好用 mac虚拟机parallels desktop有什么用 Mac装虚拟机的利与弊 mac装虚拟机对电脑有损害吗

随着多系统使用需求的升温&#xff0c;虚拟机的使用也变得越来越普遍。虚拟机可以用于创建各种不同的系统&#xff0c;并按照要求设定所需的系统环境。另外&#xff0c;虚拟机在Mac电脑的跨系统使用以及测试软件系统兼容性等领域应用也越来越广泛。 一、Mac系统和虚拟机的区别 …

v-for中的key是什么作用

在使用v-for进行列表渲染时&#xff0c;我们通常会给元素或者组件绑定一个key属性。 这个key属性有什么作用呢?我们先来看一下官方的解释&#xff1a; key属性主要用在Vue的虚拟DOM算法&#xff0c;在新Inodes对比时辨识VNodes&#xff1b; 如果不使用key&#xff0c;Vue会使用…

上传文件至linux服务器失败

目录 前言异常排查使用df -h命令查看磁盘使用情况使用du -h --max-depth1命令查找占用空间最大的文件夹 原因解决补充&#xff1a;删除文件后&#xff0c;磁盘空间无法得到释放 前言 使用XFTP工具上传文件至CentOS服务器失败 异常 排查 使用df -h命令查看磁盘使用情况 发现磁盘…

牛客 | 字符金字塔

请打印输出一个字符金字塔&#xff0c;字符金字塔的特征请参考样例 #include <stdio.h> #include <string.h> using namespace std; int main() {char c;scanf("%c", &c);for (int i 1; i < (c - 64); i)//第一个循环决定了有多少行{//c:67 第三…

Sentinel-Dashboard安装

1. Docker官方镜像 找到跟你版本相对于的镜像进行拉取&#xff1a; &#xfeff;https://hub.docker.com/r/bladex/sentinel-dashboard # 运行容器 Sentinel默认端口 8858 docker run --name sentinel-dashboard -p 8858:8858 -d bladex/sentinel-dashboard:1.8.6 &#xfeff…

Google Play开发者账号为什么会被封?如何解决关联账号问题?

Google Play是Google提供的一个应用商店&#xff0c;用户可以在其中下载并安装Android设备上的应用程序、电影、音乐、电子图书等。Google Play是Android平台上较大的应用市场&#xff0c;包含了数百万个应用程序和游戏。但是谷歌对于上架应用的审核越趋严格&#xff0c;开发者…

【再探】设计模式—适配器、装饰及外观模式

结构型设计模式是用于设计对象和类之间关系的一组设计模式。一共有7种&#xff1a;适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式及代理模式。 1 适配器模式 需求&#xff1a;在软件维护阶段&#xff0c;已存在的方法与目标接口不匹配&#xff0c;需要个中…

动态内存开辟(下)

前言 动态内存开辟以及柔性数组的介绍 一、 几个经典的笔试题 1. 题目一 void Getmemory(char*p) {p (char*)malloc(100); } int main() {char* str NULL;Getmemory(str);strcpy(str, "hello world");printf(str);return 0; } 这段代码我们可以发现两个很明显…

看完这篇文章我奶奶都懂Opentracing了 (二)

二. 概念分析 1. Span和SpanContext 结合上述示例&#xff0c;我们从Span开始入手来进行概念分析&#xff0c;但是说在最前面&#xff0c;Span在不同的分布式链路实现中&#xff0c;其定义是不全一样的&#xff0c;尽管Opentracing已经进行了概念的统一&#xff0c;但是具体到…

基于FPGA的数字锁控制电路VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的数字锁控制电路VHDL代码Quartus仿真&#xff08;文末获取) 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 任务及要求 硬件描述语言VHDL是一种用形式化方法描述数字电路和系统的语言。利用这种语 ,数字电路系统的设计可…

使用 GPT-4-turbo+Streamlit+wiki+calculator构建Math Agents应用【Step by Step】

&#x1f496; Brief&#xff1a;大家好&#xff0c;我是Zeeland。Tags: 大模型创业、LangChain Top Contributor、算法工程师、Promptulate founder、Python开发者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 个人说明书&#xff1a;Zeeland&…