【计算机网络】计算机网络的性能指标(上篇)

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️计算机网络】


文章目录

  • 前言
  • 计算机网络的性能指标
  • 速率
    • 数据量
    • 速率的定义
    • 计算方法与测量
    • 影响因素
    • 优化方法
  • 带宽
    • 带宽的定义
    • 影响因素
    • 计算方法
    • 优化方法
  • 吞吐量
    • 定义
    • 测量与测试
    • 影响因素
    • 与带宽的区别
    • 提升方法


前言

嗨咯,各位小伙伴们大家好啊,在上一章的内容中我们简单的介绍了一下关于计算机网络基础的相关知识,计算机网络的性能指标是衡量网络质量和效率的关键参数。这些指标帮助我们了解网络在不同场景下的表现,从而进行网络规划、优化和维护。今天我们就来认识一下这些有趣的概念吧,想了解更多《计算机网络》相关内容请订阅内容【计算机网络】。
注:本教程为《计算机网络基础课》,适用于《计算机网络》初学以及考研一轮复习的同学学习,并非为考研复习课,内容更偏向基础知识


计算机网络的性能指标

计算机网络的性能指标在《计算机网络中》占有很大一段篇幅,这得益于在之后的学习中。我们有许多知识点和计算内容与之息息相关,可以输,没有掌握这方面的知识,在接下来的学习中你将寸步难行。
我们常常谈到的性能指标网络性能指标主要有三个:

  1. 带宽 bandwidth
    常用的带宽单位是
    千比每秒,即 kb/s (103 b/s)
    兆比每秒,即 Mb/s(106 b/s)
    吉比每秒,即 Gb/s(109 b/s)
    太比每秒,即 Tb/s(1012 b/s)

换算规则
k=10^3 Kilo(千)
M=10^6 Mega(百万)
G=10^9 Giga(十亿)
T=10^12 Tera(兆)
P=10^15 Peta(千兆)
E=10^18 Exa(百京)
B=10^21 Bronto(十垓)

注:这里主要要注意一下前三个单位的换算,后面的只做了解。
1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024Byte
注:Byte就是B也就是字节 KB是千字节 MB是兆 GB是千兆 TB是千千兆=
一般情况把他们看作是按千进位就行,准确的是1024也就是2的10次方。

  1. 时延 latency/delay
    一个报文或分组从一个网络(或一条链路)的一端传送到另一端所需要的时间.
    总时延=发送时延+传播时延+处理时延+排队时延
  2. 带宽时延积
    带宽乘以传播时延,即链路上的最大比特数。

速率

计算机网络中的“速率”是一个重要的性能指标,它指的是单位时间内传输的比特位数,即数据的传输速率

数据量

计算机网络中的数据量是指在网络中传输或处理的数据的总量,它通常以字节(Byte)或其倍数(如KB、MB、GB等)为单位来衡量。在计算机网络中,数据量的大小直接反映了网络活动的繁忙程度以及用户对网络资源的需求。

数据量的单位换算关系
比特(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

速率的定义

速率,又称为数据率(data rate)或比特率(bit rate),是指连接在计算机网络上的主机在数字信道上传送数据的速率。

速率是衡量计算机网络性能的一个重要指标,它反映了网络传输数据的能力。当数据率较高时,表示网络在单位时间内能够传输更多的数据。

在这里插入图片描述
信道的概念

速率的单位换算关系
比特/秒(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

在这里插入图片描述
在这里插入图片描述

我们可以发现这里分母上的M和分子上的M是不能直接约分的,因为分子上的M是数据量单位中的,而分母上的M是速率单位中的,它们的值并不一样。
(如果是估算的话是可以直接约分的)但是它俩的比特(b)是可以直接约分的

注:数据量中的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。

计算方法与测量

速率可以通过数据量除以传输时间来计算,即速率 = 数据量 ÷ 传输时间。其中,数据量可以用比特(bit)或字节(byte)来表示,传输时间用秒(s)来表示。

为了更准确地测量网络速率,通常需要进行多次测量并计算平均值,以排除网络延迟和其他因素对测量结果的影响。同时,测量时还需要确保数据量和传输时间的单位一致,并且传输时间是实际的网络传输时间。

影响因素

  • 网络设备:网络设备的性能直接影响网络的传输速率。例如,路由器的有线端口或无线频段的速率、交换机的转发能力等都会影响网络的速率。
  • 网络线路:网络线路的带宽和质量也会影响网络的传输速率。带宽越宽,传输的数据量就越大;线路质量越好,传输过程中的信号衰减和干扰就越小。
  • 其他因素:如电磁干扰、网络拥堵、网络协议等因素也会对网络的传输速率产生影响。

优化方法

  • 升级网络设备:选择性能更高的网络设备,如千兆路由器、高速交换机等,可以提高网络的传输速率。
  • 优化网络线路:选择带宽更宽、质量更好的网络线路,可以减少信号衰减和干扰,提高传输速率。
  • 调整网络设置:通过调整路由器的位置、天线方向、信道选择等设置,可以优化网络的信号覆盖和传输速率。
  • 关闭不必要的进程和服务:减少电脑上的进程和服务数量,可以减少网络资源的占用,提高网络传输效率。

带宽

带宽描述了在单位时间内从网络中的某一点到另一点所能通过的最高数据率

带宽的定义

带宽在计算机网络中指的是网络可通过的最高数据率,即每秒多少比特(bit),常用的单位是bps(bit per second,比特每秒)。在计算机网络中,带宽可以比喻为高速公路,表示单位时间内的能通过的车辆数(即数据量)。

常见的带宽单位有bps、Kbps(千比特每秒)、Mbps(兆比特每秒)、Gbps(吉比特每秒)等。这些单位表示的是每秒钟传输的二进制位数。需要注意的是,虽然在日常生活中我们可能会遇到KB/s、MB/s等表示每秒传输字节数的单位,但它们并不是带宽单位,而是数据速率的表示方式。

影响因素

  • 网络设备:网络设备(如交换机、路由器、网卡等)的性能和配置直接影响网络的带宽。例如,网卡的带宽限制会限制计算机与网络之间的数据传输速率。
  • 网络线路:网络线路的带宽和质量也是影响网络带宽的重要因素。光纤等高质量线路可以提供更高的带宽和更稳定的数据传输。
  • 网络拓扑结构:网络拓扑结构(如星型、环型、网状等)也会影响网络的带宽和性能。合理的拓扑结构可以优化数据传输路径,提高带宽利用率。
  • 用户数量和数据类型:网络中的用户数量和数据类型也会对带宽产生影响。用户数量增多或传输大量数据会占用更多的带宽资源。

计算方法

理论带宽指网络传输数据的最大速率,通常用网络的物理特性来计算。例如,以太网的理论带宽可以是10Mbps、100Mbps、1Gbps等。
实际带宽指网络传输数据的实际速率,它受到多种因素的影响(如用户计算机性能网络设备质量资源使用情况网络高峰期网站服务能力线路衰耗信号衰减等),因此通常低于理论带宽。

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

优化方法

  • 升级网络设备:选择性能更高的网络设备,如千兆路由器、高速交换机等,可以提高网络的带宽和性能。
  • 优化网络线路:选择带宽更宽、质量更好的网络线路,如光纤线路,可以提高数据传输速率和稳定性.
  • 优化网络拓扑结构:通过合理的网络拓扑结构设计,可以优化数据传输路径,减少带宽浪费和冲突。
  • 使用数据压缩技术:在数据传输过程中使用数据压缩技术可以减小数据大小,从而提高带宽利用率。

吞吐量

吞吐量反映了网络在单位时间内成功传输数据的总量

定义

吞吐量(Throughput)是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。在计算机网络中,它特指单位时间内通过网络传输的数据量,通常用比特每秒(bps)或字节每秒(Bps)来表示。

测量与测试

吞吐量的测试方法通常涉及在测试中以一定速率发送一定数量的数据帧,并计算待测设备成功传输的帧数量。如果发送的帧与接收的帧数量相等,则逐步提高发送速率并重新测试;如果接收帧少于发送帧,则降低发送速率重新测试,直至得出最终结果。测试结果以比特/秒或字节/秒表示。

影响因素

  • 带宽限制:网络带宽是影响吞吐量的直接因素。尽管网络带宽可能很高,但由于各种低效率因素(如协议开销、网络拥塞等),实际吞吐量可能远低于带宽值。
  • 网络设备性能:网络设备的性能(如路由器、交换机、防火墙等)对吞吐量有重要影响。设备的硬件性能、软件算法、缓存大小等都会影响其处理数据的能力。
  • 网络拓扑结构:网络拓扑结构的设计也会影响吞吐量。例如,星型拓扑结构相比于总线型拓扑结构,在数据传输的效率和可靠性方面通常更优。
  • 网络协议:不同的网络协议有不同的开销和效率。一些协议可能具有更高的吞吐量,但也可能需要更多的资源来实现。
  • 网络负载:网络负载的大小也会影响吞吐量。当网络负载过高时,可能会导致网络拥塞和数据包丢失,从而降低吞吐量。

与带宽的区别

吞吐量和带宽是两个容易混淆的概念。带宽通常指链路上每秒所能传送的比特数(即线速),它取决于链路时钟速率和信道编码。而吞吐量则是指实际链路中每秒所能传送的比特数,它受到带宽、网络设备性能、网络拓扑结构、网络协议和网络负载等多种因素的影响。因此,即使一条链路的带宽很高,其实际吞吐量也可能因为各种因素而降低。

提升方法

提升计算机网络吞吐量的方法主要包括优化网络配置升级网络设备改善网络拓扑结构采用高效的网络协议以及进行负载均衡等。例如,通过增加网络带宽、升级网络设备硬件、优化网络协议减少开销、合理配置负载均衡器以及采用CDN等技术手段,都可以在一定程度上提升网络吞吐量
在这里插入图片描述

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

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

相关文章

数据结构(栈)

文章目录 一、概念与结构 栈:⼀种特殊的线性表,其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压…

docker compose 容器 编排分组

遇到问题:执行docker compose up -d 后docker compose 创建的容器们 在desktop-docker 中都在docker下一堆 搜索想着能不能把这个docker名字改一下,但是都没有找到这样的一个方案; 最后发现,我执行docker compose up -d 命令所在…

7. LangChain4j如何使用统一api调用?

前言 当我们对接LangChain4j的时候,面对复杂的各种各样的大模型的api的对接,让很多开发者感到力不从心。在每个大模型的api都不一样的时候?该如何快捷的切换模型的使用呢? 这时,One-API应运而生,它以其简洁…

面向初学者和专家的 40 大机器学习问答(2024 年更新)

面向初学者和专家的 40 大机器学习问答(2024 年更新) 一、介绍 机器学习是人工智能的重要组成部分,目前是数据科学中最受欢迎的技能之一。如果你是一名数据科学家,你需要擅长 python、SQL 和机器学习——没有两种方法。作为 DataFest 2017 的一部分,我们组织了各种技能测…

windows ssh的登录,私钥权限太开放 WARNING: UNPROTECTED PRIVATE KEY FILE!

问题描述 ssh -i wang -D localhost:1080 wangsg.ks99.topBad permissions. Try removing permissions for user Permissions for xxx are too open. F:\pms\pms-gpg-key\ssh-key\wang>ssh -i wang -D localhost:1080 wangsg.ks99.top Bad permissions. Try removing perm…

flutter 充电气泡

前言: 之前一直看到 有手机充电的时候 有气泡从Type-C 的位置冒泡上来 慢慢上移, 然后和上面的圆圈 会和,感觉还是挺好看的。今天试了下用 Flutter 实现了一版本。大致效果如下,而且气泡 和 气泡直接还可以粘黏 实现原理&#xff…

【开发实战】QT5 + OpenCV4 开发环境配置应用演示

前言 作为深度学习算法工程师,必须要掌握应用开发技能吗?搞工程肯定是必须要会界面开发,QT就是一个很不错的选择。本文以QT5.15 OpenCV4.8 OpenVINO2023为例,搭建应用开发环境,演示深度学习模型的QT应用案例。 开发…

windows USB 设备驱动开发-开发Type C接口的驱动程序(三)

编写 USB Type C 端口控制器驱动程序 如果 USB Type-C 硬件实现 USB Type-C 或电源传送 (PD) 物理层,但未实现供电所需的状态机,则需要编写 USB Type-C 端口控制器驱动程序。 在 Windows 10 版本 1703 中,USB Type-C 体系结构已得到改进&am…

pytorch学习(十)优化函数

优化函数主要有,SGD, Adam,RMSProp这三种,并且有lr学习率,momentum动量,betas等参数需要设置。 通过这篇文章,可以学到pytorch中的优化函数的使用。 1.代码 代码参考《python深度学习-基于pytorch》&…

Java里的引用详解

1.体验方法引用 方法引用的出现原因 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作 那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要…

2024最新教程,在docker中安装kali,并配置ssh连接

docker的基本使用:搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门 拉取kali官方镜像 docker pull kalilinux/kali-rolling 启动一个kali镜像,将容器中的22端口映射到主机100端口,方便ssh直接连接 docker run -it…

Java 集合框架:Java 中的优先级队列 PriorityQueue 的实现

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 018 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

用不同的url头利用Python访问一个网站,把返回的东西保存为txt文件

这个需要调用requests模块(相当于c的头文件) import requests 还需要一个User-Agent头(这个意思就是告诉python用的什么系统和浏览器) Google Chrome(Windows): Mozilla/5.0 (Windows NT 10.0; Win64; x64…

【Git命令】git rebase之合并提交记录

使用场景 在本地提交了两个commit,但是发现根本没有没必要分为两次,需要想办法把两次提交合并成一个提交;这个时候可以使用如下命令启动交互式变基会话: git rebase -i HEAD~N这里 N 是你想要重新调整的最近的提交数。 如下在本地…

vscode配置django环境并创建django项目(全图文操作)

文章目录 创建项目工作路径下载python插件:创建虚拟环境选择虚拟环境在虚拟环境中安装Django创建Django项目 创建项目工作路径 下载python插件: 创建虚拟环境 >python:create 于是会多出一个.venv的目录 选择虚拟环境 在虚拟环境中安装Django …

MySQL 数据库 day 7.16

ok了家人们今天继续记录一下数据库,看看今天学了什么。 一.事物概述 1.1 环境准备 -- 账户表 create table account( id int primary key auto_increment, name varchar(20), money double );insert into account values (null,张三,1000); insert into account values (n…

解决Linux桌面初始化问题

问题 启动vnc桌面,提示问题 定位 从[t]csh手册 可以看到,其初始化流程 经定位,是.cshrc的这段代码存在,导致桌面初始化异常。 [wanlin.wangicinfra-cn-172-16-0-115 ~]$ cat .cshrc ...部分省略... # Environment for anac…

Unity UGUI 之 Canvas Scaler

本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 1.什么是Canvas Scaler Unity - 手册:Canvas Scaler 重点:虽然叫…

【springboot】中使用--WebMvcConfigurer

WebMvcConfigurer 一、页面跳转控制器step1:创建视图,resources/templates/index.htmlstep2:创建SpringMVC配置类step3:测试功能 二、数据格式化step1:创建 DeviceInfo 数据类step2:自定义 Formatterstep3: 登记自定义的 DeviceFormatterstep4: 新建 Con…

Flutter中GetX的用法(超详细使用指南之路由依赖管理篇)

目录 1.前言 2.GetX 依赖管理概述 1.GetX 依赖管理的基本概念 2.与其他依赖管理工具的比较 3. 基础依赖注入 1.Get.put 2.Get.lazyPut 3.Get.putAsync 4.高级依赖注入 1.使用Get.create 2.依赖生命周期管理 5. 参考资料 1.前言 今天这篇博客主要介绍Getx的三大功能…