1.6 计算机网络的性能

思维导图:

 1.6.1 计算机网络的性能指标

 前言:

我的理解:

这段前言主要介绍了关于计算机网络性能的两个方面的讨论。首先,计算机网络的性能可以通过一些重要的性能指标来衡量。但除了这些指标之外,还有一些非性能特征(即不直接关于速度、流量、带宽等的特征),它们也会对计算机网络的整体性能产生重要的影响。在这一节中,作者打算详细探讨这两个方面的内容。

 1.速率

**定义:**
速率是计算机网络中最重要的一个性能指标。在网络技术中,速率指的是数据的传送速率,也称为数据率(data rate)或比特率(bit rate)。速率衡量的是单位时间内传输的数据量,用于描述网络的传输能力。

**单位:**

- 基本单位:比特/秒(bit/s 或 b/s 或 bps)
- 当数据率较高时,通常使用不同的前缀来描述:

  - k(kilo)= 10³ = 千bit/s
  - M(Mega)= 10⁶ = 兆bit/s
  - G(Giga)= 10⁹ = 吉bit/s
  - T(Tera)= 10¹² = 太bit/s
  - P(Peta)= 10¹⁵ = 拍bit/s
  - E(Exa)= 10¹⁸ = 艾bit/s
  - Z(Zetta)= 10²¹ = 泽bit/s
  - Y(Yotta)= 10²⁴ = 尧bit/s

例如:4×10⁹ bit/s 的数据率记为 40 Gbit/s。

问题的引出:谁在撒谎?

 

**注意事项:**
1. **常见表述误区:** 在谈到网络速率时,人们常常省略速率单位中应有的bit/s,而使用如“40 G的速率”的不太正确的说法。
2. **额定速率与实际运行速率:** 在讨论网络的速率时,所指的往往是额定速率或标称速率,这并不代表网络实际上的运行速率。

注意:容量和速率的K M G T不一样

**实际应用:**
速率是衡量网络性能的关键参数,影响着用户在浏览网页、下载文件和在线观看视频时的体验。一个较高的速率通常意味着更快的数据传输和更好的网络体验。

例题:考察一下自己有没有掌握

例二: 

 

2.带宽

**定义与含义:**
“带宽”一词具有两个不同的含义。

1. **信号的频带宽度:**
   - **定义:** 原始定义中,带宽是指信号所占据的频率范围,或者说,是信号含有的各种不同频率成分的范围。
   - **例子:** 传统通信线路中的电话信号的标准带宽是3.1kHz(从300 Hz到3.4 kHz,即话音的主要成分的频率范围)。
   - **单位:** 赫兹(Hz),可以是千赫、兆赫、吉赫等。
   - **应用背景:** 在很长一段时间内,主干通信线路传送的是模拟信号。

2. **网络中通道的数据传输能力:**
   - **定义:** 在计算机网络中,带宽主要用来表示网络中某通道传送数据的能力,或者说是“最高数据率”。
   - **单位:** bit/s(比特每秒)。
   - **说明:** 在计算机网络的文献中提到的“带宽”,大多数时候是指这个意思。

**频域与时域:**
- **频域称谓:** 当带宽描述的是信号的频带宽度时,这是在频域中描述的。
- **时域称谓:** 当带宽描述的是通道的数据传输能力时,这是在时域中描述的。
- **关联:** 一条通信链路的带宽越宽,其所能传输的最高数据率也越高。即,带宽在两个定义中具有内在的关联性。

**计算机领域的特殊计量单位:**
- **二进制计量:** 在计算机领域中,数的计算使用二进制,因此,K=2¹⁰=1024,M=2²⁰,G=2³⁰,T=2⁴⁰,P=2⁵⁰,E=2⁶⁰,Z=2⁷⁰,Y=2⁸⁰。
- **数据量单位:** 计算机中的数据量通常用字节(B,代表byte)作为度量单位,而一个字节代表8个比特。

**注意事项:**
- 在通信和计算机领域中,单位的大小写和表示方法可能会有不同,需仔细辨别。
- 在计算中,大写K既可以表示1000,也可以表示1024,因此需要特别小心,以免弄错。

 3.吞吐量

**定义与意义:**
- **定义:** 吞吐量表示在单位时间内通过某个网络(或信道、接口)传输的数据的实际数量。
- **实用性:** 吞吐量常用于实际网络的性能测量,它能反映出实际中有多少数据能够通过网络。

**与速率和带宽的关系:**
- 吞吐量受到网络的带宽和网络的额定速率的限制。
- 例如,对于一个额定速率为1 Gbit/s的以太网,这个速率值就是该以太网吞吐量的上限值。

**实际吞吐量与额定速率的差异:**
- 实际的吞吐量可能远低于网络的额定速率。
- 以1 Gbit/s的以太网为例,其实际的吞吐量可能只有100 Mbit/s,远未达到其额定速率。

**表示单位:**
- 吞吐量通常以bit/s(比特每秒)来表示,但有时也可用每秒传送的字节数或帧数来表示。

**实例与注意事项:**
- 对网络性能的实际测量和理论值之间可能存在差异,需要对实际的吞吐量进行测量以获取准确的网络性能数据。
- 当评估网络性能时,理解吞吐量、带宽和速率之间的关系与区别是非常重要的,这有助于准确地理解和解释网络的实际运行状态。

 4.时延

**定义:**
- 时延(也称为延迟或迟延)指的是数据(无论是报文、分组还是单一比特)从网络的一个端传到另一个端所需的时间。
- 它是网络性能的重要指标。

**时延的组成:**
1. **发送时延(Transmission Delay):**
   - 发送时延是指主机或路由器发送整个数据帧所需的时间。
   - 计算公式:发送时延 = 数据帧长度(bit) / 发送速率(bit/s)。
   - 发送时延与发送的数据帧长度成正比,与发送速率成反比。

2. **传播时延(Propagation Delay):**
   - 传播时延是指电磁波在信道中传播一定距离所需的时间。
   - 计算公式:传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)。
   - 光在自由空间的传播速率为3.0×10^8 km/s。而在网络传输媒体如光纤或铜线中,传播速率通常较低。

3. **处理时延:**
   - 当主机或路由器收到分组时,需要花费一定的时间来处理分组,这产生了处理时延。

4. **排队时延:**
   - 分组在经过网络时,经常需要在路由器的输入或输出队列中等待。这造成了排队时延。
   - 排队时延受网络的通信量影响,当网络拥塞时,排队时延会增加,甚至导致分组丢失。

**总时延的计算:**
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

**时延的影响:**
- 通常,低时延的网络性能优于高时延的网络。
- 在某些情况下,一个低速但低时延的网络可能比一个高速但高时延的网络性能更好。

**其他概念:**
- 时延和速率:提高数据的发送速率可能减小发送时延,但不会影响信道中的电磁波传播速率。传播速率取决于信道的物理介质。
- **往返时间(RTT)**:在许多网络交互中,需要考虑往返时间,即数据从发送端发送到接收端并返回确认的总时间。

**注意点:**
- 高速网络链路提高的是数据的发送速率,而不是电磁波在信道中的传播速率。
- 电磁波在光纤中的传播速率实际上可能低于在铜线中的传播速率。

 5.时延带宽积

**定义:**
传播时延带宽积是一个网络性能的关键度量,它表示链路上可容纳的比特数量,即链路的“有效容量”。 

**计算公式:**
\[ 时延带宽积 = 传播时延 × 带宽 \]
 
例如:链路的传播时延为20ms, 带宽为10 Mbit/s。
\[ 时延带宽积 = 20×10^{-3} × 10 × 10^6 = 2 × 10^5 \] bit

这意味着,如果发送端连续发送数据,当发送的第一个比特即将达到终点时,发送端已经发送了20万个比特,这20万个比特都在链路上进行传输。

**时延带宽积的实际意义:**
- 时延带宽积又被称为链路的“比特长度”,因为它表示链路上同时存在的比特数量。
- 从几何视角看,可以将链路想象为一个管道,其中:
  - 管道的长度 = 链路的传播时延 (以时间为单位)
  - 管道的面积 = 链路的带宽
  - 时延带宽积 = 管道的体积 = 链路可以容纳的比特数量

如图1-15所示,链路就像一个圆柱形的空心管道。管道中的比特表示从发送端发送出去但还未到达接收端的比特。

**关于利用率:**
- 对于正在传输数据的链路,只有当这个“管道”充满比特时,链路的利用率才达到最大。这意味着链路的传输能力被完全使用。
- 提高链路的利用率意味着更高的传输效率和更好的网络性能。

**其他概念:**
- 带宽是链路在单位时间内能传输的最大数据速率。
- 传播速率是数据在链路中传播的速度,例如光在光纤中的传播速度与其在铜线中的速度是不同的。

**结论:**
时延带宽积是评估网络链路效率的关键度量。理解并最大化链路的时延带宽积对于实现高效的网络通信至关重要。

6.往返时间RTT

问题哪个阶段耗时较多?

卫星链路耗时较多 

 

**定义:**
往返时间RTT是计算机网络中描述数据从源点发送到目的地,然后从目的地返回到源点所需的总时间的性能指标。在许多网络交互中,信息通常需要双向传输,所以RTT是一个关键的度量。

**计算示例:**

2. 当B正确地收到100 MB的数据后,它向A发送确认。A只能在接收到B的确认后继续向B发送数据。因此,A必须等待一个往返时间RTT。在此,我们假定确认信息很短,所以忽略B发送确认的时间。如果RTT = 2s,则:

   这意味着,考虑到RTT,A的实际有效发送速率为80.7 Mbit/s,这比原始速率100 Mbit/s小。

**其他要点:**
- 在互联网中,RTT不仅仅包括信号在通信媒介中传播的时间,还包括中间节点的处理延迟、队列延迟以及数据的转发延迟。
- 在使用卫星通信的情况下,由于信号需要在地面和卫星之间往返,RTT会相对较长,成为一个非常重要的性能指标。

**结论:**
了解和管理RTT是网络性能优化的关键。尤其是在需要频繁的双向交互的应用中,如实时在线游戏或VoIP,高RTT可能导致不良的用户体验。因此,时常测量和优化RTT对于确保良好的网络性能至关重要。

7.利用率

**定义:**
利用率描述了网络或信道的使用情况。它有两种类型:信道利用率和网络利用率。

- **信道利用率**: 表示某一信道在多少时间内是被使用的(即有数据通过)。信道完全空闲时,其利用率为零。
  
- **网络利用率**: 表示整个网络的信道利用率的加权平均值。

**重要性:**
信道利用率并非越高越好。与实际道路交通类似,网络上的“流量”过大会导致堵塞和增加的延迟。在网络中,数据包可能需要在路由器或交换机上排队,等待处理,导致网络延迟的增加。

**公式关系:**

**实际应用:**
当网络的利用率接近其最大值时,其延迟接近无穷大。这强调了信道或网络的过度利用会导致巨大的延迟。为此,许多大型ISP会控制主干网络的利用率,确保其不超过50%。如果利用率超过这个阈值,ISP可能会考虑扩展网络或增加带宽以满足需求。

**结论:**
了解并管理网络和信道的利用率至关重要,以确保网络的高效运行和低延迟。过高的利用率可能导致显著的网络延迟,从而降低用户体验和网络应用的效率。

8.丢包率

**定义**:
- **丢包率 (Packet Loss Rate)**: 是计算机网络中,在传输数据包过程中,数据包丢失的比例。通常,它表示为丢失的数据包数与总传输数据包数的比值,经常以百分比来表示。

---

**原因**:
1. **网络拥塞**: 当网络上的数据流量过大,超出网络或网络设备的处理能力时,就可能会出现丢包。
2. **路由器或交换机资源不足**: 当它们的缓冲区满时,可能会丢弃新到达的包。
3. **网络信号干扰**: 特别是在无线网络中,其他电磁信号可能会干扰数据包传输。
4. **物理设备故障**: 如有问题的网线、接口或硬件设备。
5. **协议超时**: 例如,TCP需要确认每个发送的包。如果在指定时间内未收到确认,数据包可能会被视为已丢失。
6. **恶意攻击**: 如拒绝服务攻击(DoS)可能导致网络资源饱和,从而引起丢包。

---

**检测工具**:
- **Ping**: 最常用的工具之一,用于测试两个网络节点之间的可达性,同时也可以用于估计丢包率。
- **Traceroute**: 跟踪数据包经过的路径并报告关于每一跳的信息,包括丢包。

---

**影响**:
1. **通话质量下降**: 在VoIP通话或视频会议中,高的丢包率可能导致通话中断或质量降低。
2. **在线游戏延迟**: 游戏玩家可能会经历所谓的"卡顿"。
3. **文件传输速度降低**: TCP在检测到丢包时会减少其发送速度。

---

**缓解策略**:
1. **增加带宽**: 减少网络拥塞,为数据传输提供更大的空间。
2. **使用QoS (Quality of Service)**: 确保关键数据的优先传输。
3. **升级网络设备**: 新的设备可能提供更大的缓冲区和更好的数据处理能力。
4. **使用前向纠错**: 通过发送额外的纠错信息来减少需要重新传输的数据包。
5. **改进路由策略**: 确保数据包选择最佳的路径传输。

---

这就是关于丢包率的基础知识。了解丢包率对于网络管理员来说是非常重要的,因为它直接影响到用户的网络体验。

总结:

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

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

相关文章

JAVA学习(4)-全网最详细~

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

Flutter开发之Package与Plugin

前言 在flutter中有包和插件两个概念,插件 (plugin) 是 package 的一种,全称是 plugin package,我们简称为 plugin,中文叫插件。包(Package)主要指对flutter相关功能的封装,类似于Android中的插件和iOS中的三方库。而插…

CUDA+cuDNN+TensorRT 配置避坑指南

深度学习模型加速部署的环境配置,需要在本地安装NVIDIA的一些工具链和软件包,这是一个些许繁琐的过程,而且一步错,步步错。笔者将会根据自己的经验来提供建议,减少踩坑几率。当然可以完全按照官方教程操作,…

插入排序:简单而有效的排序方法

在计算机科学中,排序算法是一个重要且常见的主题,它们用于对数据进行有序排列。插入排序(Insertion Sort)是其中一个简单但有效的排序算法。本文将详细解释插入排序的原理和步骤,并提供Java语言的实现示例。 插入排序的…

B2主题优化:WordPress文章每次访问随机增加访问量

老站长都知道,一个新站刚开始创建,内容也不多的时候,用户进来看到文章浏览量要么是0,要么是 个位数,非常影响体验,就会有一种“这个网站没人气,看来不行”的感觉。 即使你的内容做的很好&#x…

全志ARM926 Melis2.0系统的开发指引②

全志ARM926 Melis2.0系统的开发指引② 编写目的4. 编译工具链使用4.1.工具链通用配置4.2.模块的工具链配置4.3.简单的 makefile 5. 固件烧录工具的安装5.1.PhoenixSuit 的安装步骤5.2.检验 USB 驱动安装5.3.使用烧录软件 PhoenixSuit -全志相关工具和资源-.1 全志固件镜像修改工…

HTTP协议,请求响应

、概述 二、HTTP请求协议 三、HTTP响应协议 四、请求数据 1.简单实体参数 RequestMapping("/simpleParam")public String simpleParam(RequestParam(name "name" ,required false ) String username, Integer age){System.out.println (username "…

Boost程序库完全开发指南:1.2-C++基础知识点梳理

主要整理了N多年前&#xff08;2010年&#xff09;学习C的时候开始总结的知识点&#xff0c;好长时间不写C代码了&#xff0c;现在LLM量化和推理需要重新学习C编程&#xff0c;看来出来混迟早要还的。 1.const_cast <new_type> (expression)[1] 解析&#xff1a;const_c…

基于Vue+ELement实现增删改查案例与表单验证(附源码)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《ELement》。&#x1f3af;&#x1f3af; &#x1…

mysql双主+双从集群连接模式

架构图&#xff1a; 详细内容参考&#xff1a; 结果展示&#xff1a; 178.119.30.14(主) 178.119.30.15(主) 178.119.30.16(从) 178.119.30.17(从)

全志ARM926 Melis2.0系统的开发指引①

全志ARM926 Melis2.0系统的开发指引① 1. 编写目的2. Melis2.0 系统概述3. Melis2.0 快速开发3.1. Melis2.0 SDK 目录结构3.2. Melis2.0 编译环境3.3. Melis2.0 固件打包3.4. Melis2.0 固件烧录3.5.串口打印信息3.6. Melis2.0 添加和调用一个模块3.6.1. 为什么划分模块&#xf…

【学习笔记】CF1817F Entangled Substrings(基本子串结构)

前置知识&#xff1a;基本子串结构&#xff0c;SAM的结构和应用 学长博客 字符串理论比较抽象&#xff0c;建议直观的去理解它 子串 t t t的扩展串定义为 ext(t) : t ′ \text{ext(t)}:t ext(t):t′&#xff0c;满足 t t t是 t ′ t t′的子串&#xff0c;且 occ(t) occ(t…

水浒传数据集汇总

很喜欢《水浒传》&#xff0c;希望能将它融入我的考研复习中&#xff0c;打算用水浒传数据来贯穿数据结构的各种知识&#xff0c;先汇总下找到的数据集 天池上看到的一个水浒传文本数据集&#xff1a;https://tianchi.aliyun.com/dataset/36027 Hareric/masterworkNLP: 基于社…

基于 SpringBoot 2.7.x 使用最新的 Elasticsearch Java API Client 之 ElasticsearchClient

1. 从 RestHighLevelClient 到 ElasticsearchClient 从 Java Rest Client 7.15.0 版本开始&#xff0c;Elasticsearch 官方决定将 RestHighLevelClient 标记为废弃的&#xff0c;并推荐使用新的 Java API Client&#xff0c;即 ElasticsearchClient. 为什么要将 RestHighLevelC…

【C语言】内存函数的详细教学和模拟实现

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是gugugu。希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f194;本文由 gugugu 原创 CSDN首发&#x1f412; 如需转载还请通知⚠…

【再识C进阶4】详细介绍自定义类型——结构体、枚举和联合

学习目标&#xff1a; 在上一篇博客中&#xff0c;我们已经详细地学习了字符分类函数、字符转换函数和内存函数。那这一篇博客和上一篇博客的关系不是那么相连。 这一篇博客主要介绍一下自定义类型&#xff0c;因为在解决实际问题时&#xff0c;由于世界上的因素有很多&#xf…

karmada v1.7.0安装指导

前言 安装心得 经过多种方式操作&#xff0c;发现二进制方法安装太复杂&#xff0c;证书生成及其手工操作太多了&#xff0c;没有安装成功&#xff1b;helm方式的安装&#xff0c;v1.7.0的chart包执行安装会报错&#xff0c;手工修复了报错并修改了镜像地址&#xff0c;还是各…

一文拿捏Spring事务之、ACID、隔离级别、失效场景

1.&#x1f31f;Spring事务 1.编程式事务 事务管理代码嵌入嵌入到业务代码中&#xff0c;来控制事务的提交和回滚&#xff0c;例如TransactionManager 2.声明式事务 使用aop对方法前后进行拦截&#xff0c;然后在目标方法开始之前创建或者加入一个事务&#xff0c;执行完目…

一键AI高清换脸——基于InsightFace、CodeFormer实现高清换脸与验证换脸后效果能否通过人脸比对、人脸识别算法

前言 AI换脸是指利用基于深度学习和计算机视觉来替换或合成图像或视频中的人脸。可以将一个人的脸替换为另一个人的脸,或者将一个人的表情合成到另一个人的照片或视频中。算法常常被用在娱乐目上,例如在社交媒体上创建有趣的照片或视频,也有用于电影制作、特效制作、人脸编…

MySQL5.7版本与8.0版本在CentOS系统安装

目录 前置要求 1. MySQL5.7版本在CentOS系统安装 1.1 安装 1.1.1 配置yum仓库 1.1.2 使用yum安装MySQL 1.1.3 安装完成后&#xff0c;启动MySQL并配置开机自启动 1.1.4 检查MySQL的运行状态 1.2 配置 1.2.1 获取MySQL的初始密码 1.2.2 登陆MySQL数据库系统 …