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

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


文章目录

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

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

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



📝结语

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

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

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

相关文章

Oracle导入ixf文件,Shell读取文本批量导出\导入DB2数据

需求背景:由于DB2 exp\imp数据只能一张表一张表的exp\imp所以通过把所有的表都写在一个exp_imp_db2.txt文件中exp_imp_db2.txt格式如下:(i|e) schema_name table_name src_name ---iimport ;eexportexp_imp_db2.sh#!/bin/shdb2 connect to…

oracle tsn 数据库,【Oracle数据库恢复】ORA-00600[25027]错误解析

ORA-00600[25027]错误的触发原因是ORACLE检测到一个无效的表空间号TSN Tablespace Number或者相对文件号Relative File Number。该ORA-00600[25027]的2个变量各代表:arg[a] Tablespace Number表空间号arg[b] 十进制的相对数据块号Relative Data Block Address (RDBA…

怎么查看ip地址下的php文件夹,pe下查看原系统ip的方法

pe下查看原系统ip的方法方法及步骤如下:在PE下加载注册表,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces],在“Interfaces”选项下面可以看到有多个注册表子项,依照不同子项下面的“IP…

如下为利用Linux内核链表创建,Linux内核中链表的实现与应用

链表(循环双向链表)是Linux内核中最简单、最常用的一种数据结构。1、链表的定义struct list_head {struct list_head *next, *prev;}这个不含数据域的链表,可以嵌入到任何数据结构中,例如可按如下方式定义含有数据域的链表:struct my_list {void * mydata;struct l…

linux共享内存示例,linux 进程间共享内存示例

写入端:#include #include #include #include #include using namespace std;struct MappingDataType {int mappingData;};bool SetUsedPID(string mappingName){void *shm NULL;MappingDataType *shared;int shmid shmget((key_t), sizeof(MappingDataType), |IP…

Linux使用cmake编译项目,如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)...

如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)我使用的是ubuntu 14.04,cmake 2.8.12.2,Qt5.6.2(内置版本),GNU make 3.81用cmake PathToSource -G "Eclipse CDT4 - Unix Makefiles"运行cmake之后…

linux cmake 编译项目,使用CMake构建复杂工程

0. 什么是CMakeCMake是一个跨平台的编译、安装、测试以及打包工具;CMake不直接编译软件,而是结合原生构建系统来构建软件。CMake配置文件是CMakeList.txt文件(每个源码文件夹下都要有一个),CMake根据配置文件在生成Unix的Makefile或VS的solut…

Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?

从各方面来看,互联网向 IPv6 的过渡是件很缓慢的事情。不过在最近几年,可能是由于 IPv4 地址资源的枯竭,IPv6 的使用处于上升态势。相应的,开发者也有兴趣确保软件能在 IPv4 和 IPv6 下工作。但是,正如近期 OpenBSD 邮…

linux db2 权限管理,DB2五种管理权限

DB2五种管理权限SYSADM, SYSCTRL SYSMAINT DBADM and LOAD前三个权限是instance-level,and can only be assigned to a group and are done so through the Database Manager Configuration file.后两个权限是database-level,are assigned to a user or group for …

boost 线程 linux,Boost Linux线程第一课

#include#includevoid ThreadFunc(){std::cout<}int main(){boost::thread thrd1(&ThreadFunc);thrd1.join();return 0;}编译指令 g test.cpp -lboost_thread注意&#xff1a;没有链接boost_thread&#xff0c;出错提示如下&#xff1a;undefined reference to boo…

linux 链接文件 通配符,linux globbing文件通配符

在linux中使用ls、cp、mv、rm等命令时可以使用文件通配符匹配操作多个文件。匹配模式*&#xff1a;匹配任意长度的任意字符?&#xff1a;匹配任意单个字符[]&#xff1a;匹配指定范围内的任意单个字符(文件通配不区分字母的大小写)[^]&#xff1a;匹配非制定范围内的任意单个字…

linux 升级centos7,Linux之从Centos 6.x 升级Centos7

1、安装升级工具依赖的软件包yum -y install openscap pcre-devel libxml2-devel libxslt-devel m2crypto python-simplejson mod_wsgi2、安装以下软件的最新版&#xff0c;可以到这里查找&#xff1a;http://dev.centos.org/centos/6/upg/x86_64/Packagesrpm -ihv http://dev.…

linux和pe修复win10启动项,pe下如何重建win10引导?pe下win10引导修复图文教程

[文章导读] 随着win10系统的流行&#xff0c;越来越多的小伙伴经常遇到win10系统引导丢失的情况&#xff0c;我们知道win10系统现在采用的是uefi引导&#xff0c;以前的一些修复工具都只能修复传统模式mbr格式下的硬引导&#xff0c;但对于uefi引导不是很清楚&#xff0c;uefi引…

linux下实现定时器,在Linux操作系统下实现定时器简介

在Linux实现一个定时器&#xff0c;不像Win32下那样直观。在Win32调用SetTimer就行了&#xff0c;在Linux下则没有相应函数可以直接调用。定时器作为一个常用的功能&#xff0c;在Linux当然也有相应实现。下面我们看看几种常用的方法。要实现定时器功能&#xff0c;最土的办法实…

c语言课程设计大作业模版,c语言课程设计报告模板下载

c语言课程设计报告模板是一款专业的设计模板&#xff0c;对于在大学有需要些设计报告的朋友&#xff0c;可以下载这款模板作为参考&#xff0c;了解设计报告的需求&#xff0c;基本上毕业的论文设计也是在这个基础上严格要求的&#xff0c;欢迎下载使用。C语言介绍C语言是一门面…

c语言error和,C语言ERROR精选.doc

C语言ERROR精选Ambiguous operators need parentheses ) ~. [1 L: f& a/ J不明确的运算需要用括号括起 # n5 J! G c( m: ! o& \( P. CAmbiguous symbol xxx - n# d??i/ t0 K8 M不明确的符号 6 r% o0 \- N! _2 UArgument list syntax error % l, j/ O9 \; x1 j1 e参数…

c语言如何把变量按位颠倒,求答案,用C语言编程,用户输入一个正整数,把他的各位数字前后颠倒,并输入点到后的结果...

满意答案q15173278975推荐于 2017.11.26采纳率&#xff1a;58% 等级&#xff1a;13已帮助&#xff1a;5665人用字符串处理很简单#include #include void main (){int n,i;char s[20];scanf("%d", &n);sprintf(s,"%d", n);printf("%d\n",s…

中南大学12月13日考c语言,中南大学2010级C语言试卷

中南大学考试试卷2010 -- 2011 学年 1 学期 时间110分钟学时学分 考试形式&#xff1a;班级 学号 姓名 总分100分,占总评成绩70 %一、选择题(每小题1.5分,共计30分)1. C语言中变量定义与使用的关系是 。A) 必须先定义&#xff0c;后使用 B)可以先使用&#xff0c;后定义 C) 可以…

c语言123报数,新人求解一道C语言题。。。麻烦了

有一百个人按编号排成一队&#xff0c;从1开始按123123报数&#xff0c;报3者退出&#xff0c;直到队尾&#xff0c;又从队尾向队首报数(1开始)&#xff0c;依旧报3的退出&#xff0c;重复执行直至队列剩2个&#xff0c;求此2人的原始编号&#xff0c;这是题目&#xff0c;下面…

素数 c语言 时间少,C语言判断素数怎么优化时间,1000000以内,不用代码,指点一下就好...

匿名用户1级2016-09-04 回答基本思想用筛法求素数的基本思想是&#xff1a;把从1开始的、某一范围内的正整数从小到大顺序排列&#xff0c; 1不是素数&#xff0c;首先把它筛掉。剩下的数中选择最小的数是素数&#xff0c;然后去掉它的倍数。依次类推&#xff0c;直到筛子为空时…