【网络奇遇记】揭秘计算机网络性能指标:全面指南

本文主要是介绍【网络奇遇记】揭秘计算机网络性能指标:全面指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


文章目录

  • 📋前言
  • 一. 速率
    • 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 处理时延

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

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



五. 时延带宽积

    时延带宽积是传播时延和带宽的乘积。时延带宽积的计算公式如下所示:
在这里插入图片描述
    我们可以将链路想象成一个圆形管道,管道的长度是链路的传播时延(即以时间作为单位来表示链路长度),管道的横截面积是链路的带宽,如下图所示。时延带宽积就相当于管道的容积,表示这样的链路可以容纳的比特数量。
在这里插入图片描述



六. 往返时间

    往返时间(RTT)是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共耗费的时间。我们将网络简化成主机A和主机B通过一台路由器进行相连,共两段链路。主机A给主机B发送数据分组(下图 ①),主机B收到数据分组后给主机A发送相应的确认分组(下图 ②)。从主机A发送分组数据分组开始,到主机A收到主机B发发来的相应确认分组为止,就是一次交互的往返时间。
在这里插入图片描述



七. 利用率

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

链路利用率:

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

网络利用率

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

当某链路的利用率增大时,该链路引起的时延就会迅速增加。例如,当公路上的车流量增大时,公路上的某些地方会出现拥堵,所需行车时间就会变长。网络也是如此,当网络的通信量较少产生的时延并不大,但网络的通信量不断增大时,分组在交换节点(路由器或交换机)中的排队时延会随之增大,因此网络引起的时延就会增大。



八. 丢包率

    丢包率是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。丢包率可以分为接口丢包率、节点丢包率、链路丢包率、路径丢包率以及网络丢包率等等,如下图所示:
在这里插入图片描述

分组丢失主要有以下两种情况:

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

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

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

当网络的丢包率较高时,通常无法正常使用网络应用。



📝结语

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

这篇关于【网络奇遇记】揭秘计算机网络性能指标:全面指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633868

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py