计算机网络相关发展以及常见性能指标

目录

一、因特网概述

1.1 基本概念

1.2 因特网发展的三个阶段

1.3 英特网服务提供者ISP

1.4 英特网的标准化工作

1.5 因特网的组成

1.6 简单总结

二、3种交换方式

2.1 电路交换(Circuit Switching)

2.2 分组交换(Packet Switching)

2.3 报文交换(Message Switching)

2.4 对比

2.5 优缺点

2.5.1 电路交换的优缺点

2.5.1.1 优点

2.5.1.2 缺点

2.5.2 报文交换的优缺点

2.5.2.1 优点

2.5.2.2 缺点

2.5.3 分组交换的优缺点

2.5.3.1 优点

2.5.3.2 缺点

2.6 简单总结

三、计算机网络的定义与分类

3.1 计算机网络的定义

3.2 计算机网络的分类

3.2.1 按交换技术

3.2.2 按网络的使用者

3.2.3 按传输介质

3.2.4 按网络的覆盖范围

3.2.5 按拓扑结构

四、计算机网络的性能指标

4.1 速率

4.1.1 什么是比特

4.1.2 速率的介绍

4.2 带宽

4.2.1 模拟信号系统中的带宽

4.2.2 计算机网络中的带宽

4.3 吞吐量

4.4 时延

4.4.1 发送时延

4.4.2 传播时延

4.4.3 处理时延

4.5 时延带宽积

4.6 往返时间

4.7 利用率

4.8 丢包率

4.9 简单总结


一、因特网概述

1.1 基本概念

网络(Network)是由若干节点(Node)和连接这些节点的链路(Link)组成的。例如下图所示,笔记本电脑是一个节点,台式电脑是一个节点,网络打印机是一个节点,而将它们互联起来的交换机也是一个节点。

当然了,节点之间的互联还需要使用链路,可以是有线链路,也可以是无线链路。在本例中,四个节点和三段链路就构成了一个简单的网络。多个网络还可以通过路由器互联起来,这样就构成了一个范围更大的网络及互联网。例如下图所示,这些网络可以通过路由器进行互联,形成一个更大的互联网。因此互联网也可称为网络的网络

我们几乎每天都在使用的英特网是世界上最大的互联网,它的用户数以亿计,互联的网络数以百万计。在我们今后的讲述中,英特网常常用一朵云表示。连接在英特网上的计算机称为主机,而英特网内部的细节也就是路由器是怎样把许多网络连接起来的,往往省略不用给出。

这里我们需要区分一下【internet】【Internet】两个英文单词的含义:

1、以小写字母i开头的英文单词internet是一个通用名词,翻译为互联网,它泛指由多个计算机网络互联而成的网络,在这些网络之间的通信协议可以是任意的;

2、以大写字母I开头的英文单词Internet则是一个专用名词,翻译为英特网,它指当前全球最大的开放的由众多网络互联而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

1.2 因特网发展的三个阶段

因特网的基础结构大体上经历了三个阶段的演进。

第一阶段,从单个网络ARPANET向互联网发展。1969年,美国国防部创建第一个分组交换网ARPANET。到了20世纪70年代中期,人们已认识到不可能仅使用一个单独的网络来满足所有的通信问题,这就导致了后来互联网的出现,这样的互联网就成为了现在的因特网的雏形。1983年,TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互联网相互通信,因而人们就把1983年作为因特网的诞生时间。

第二阶段,逐步建成三级结构的英特网。从1985年起,美国国家科学基金会NSF就围绕六个大型计算机中心建设计算机网络,也就是国家科学基金网NSFNET。它是一个三级结构的网络,分为主干网、地区网和校园网或者是企业网。该网络覆盖了全美国主要的大学和研究所,并且成为英特网中的主要组成部分。1990年,正式关闭ARPANET。1991年,美国国家科学基金会NSF和美国的其他政府机构开始认识到,英特网必将扩大其使用范围不应仅限于大学和研究机构,于是美国政府决定将英特网的主干网转交给私人公司来运营,并开始对接入因特网的单位收费。

第三阶段,逐渐形成了多层次ISP结构的英特网。从1993年开始,由美国政府资助的NSFNET逐渐被若干个商用的因特网主干网取代,而政府机构不再负责英特网的运营,而是让各种因特网服务提供者ISP来运营。1994年,由欧洲原子核研究组织开发的万维网,也就是3W技术在英特网上被广泛使用,促使英特网迅猛发展。1995年,NSFNET停止运作,因特网彻底商业化。

1.3 英特网服务提供者ISP

想想看普通用户是如何接入到英特网的呢?实际上是通过ISP接入因特网的。ISP(Internet Service Provider)可以从英特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备。任何机构和个人只要向ISP缴纳规定的费用,就可以从ISP得到所需要的IP地址。这一点很重要,因为英特网上的主机都必须有IP地址才能进行通信,这样就可以通过该ISP接入到英特网。

我国主要的ISP是我们大家都比较熟悉的中国电信、中国联通和中国移动这三大电信运营商。来自中国互联网络信息中心2019年2月发布的第43次《中国互联网络发展状况统计报告》显示,他们的国际出口带宽分别是中国电信4.5Tbps,中国联通2.2Tbps,中国移动2Tbps。

根据提供服务的覆盖面积大小及所拥有的IP地址块数量不同,ISP也分成不同的层次。下面给出基于ISP的三层结构因特网示意图。

最高级别的第一层ISP的服务面积最大,第一层ISP通常也被称为英特网主干网,一般都能够覆盖国际性区域范围,并拥有高速链路和交换设备。第一层ISP之间直接互联。第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或国家性覆盖规模,与少数第一层ISP相连接。第三层ISP又称为本地ISP,他们是第二层ISP的用户,且只拥有本地范围的网络。一般的校园网或企业网以及住宅用户和无线移动用户,都是第三层ISP的用户。

从该图可以看出,英特网逐渐演变成基于ISP的多层次结构网络。但今天的英特网由于规模太大,已经很难对整个网络的结构给出细致的描述。但下面这种情况是经常遇到的,就是相隔较远的两台主机间的通信可能需要经过多个ISP。

顺便提一下,一旦某个用户能够接入到英特网,那么它也可以成为一个ISP。所需要做的就是购买一些如调制解调器或路由器这样的设备,让其他用户能够和它相连。因此该图所示的仅仅是个示意图,一个ISP可以很方便地在英特网拓扑上添加新的层次和分支。

1.4 英特网的标准化工作

英特网的标准化工作对英特网的发展起到了非常重要的作用。

英特网在制定其标准上的一个很大的特点就是面向公众。英特网所有的RFC技术文档都可以从因特网上免费下载,任何人都可以随时用电子邮件发表对某个文档的意见或建议。

英特网协会ISOC是一个国际性组织,他负责对英特网进行全面管理。IAB负责管理英特网有关协议的开发。IAB下的因特网工程部IETF负责研究中短期工程问题,主要针对协议的开发和标准化。IAB下的因特网研究部IRTF从事理论方面的研究和开发一些需要长期考虑的问题。

制定英特网的正式标准要经过以下四个阶段,在这个阶段还不是RFC文档。第二个阶段是建议标准,从该阶段开始成为RFC文档。第四个阶段是英特网标准。

值得注意的是,并非所有的RFC文档都是因特网标准,只有一小部分RFC文档最后才能变成因特网标准。

1.5 因特网的组成

因特网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从功能上看,可以划分为以下两部分,一个是边缘部分,另一个是核心部分

边缘部分由所有连接在英特网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享。边缘部分中的主机可以是台式电脑或大型服务器,也可以是笔记本电脑,平板电脑,还可以是智能手机,智能手表以及物联网智能硬件,例如空气质量监测仪,智能摄像头等。

核心部分由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的,也就是提供连通性和交换。在网络核心部分起特殊作用的是路由器,它是一种专用计算机,但我们不称它为主机。路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能,我们将在后面详细介绍。

1.6 简单总结

本节,我们主要介绍了以下四个内容:

  1. 网络互联网和因特网的基本概念

  2. 因特网发展的三个阶段

  3. 英特网的标准化工作

  4. 英特网的组成

重点对第一和第四这两部分内容做到理解,对第二和第三部分的内容了解即可。


二、3种交换方式

2.1 电路交换(Circuit Switching)

在电话问世后不久,人们就发现要让所有的电话机都两两相连接是不现实的。例如两部电话只需要用一对电线就能够互相连接起来,但若有五部电话要两两相连,则需要十对电线;当电话机的数量很大时,这种连接方法需要的电线数量就太大了。例如如果有n部电话机需要两两相连,那么一共需要n/2 * (n-1)根电线。

于是人们认识到:要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机

每一部电话都连接到电话交换机上,可以把电话交换机简单地看成是一个有多个开关的开关器,可以将需要通信的任意两部电话的电话线路按需接通,从而大大减少了电话线的数量。当电话机的数量增多时,就需要使用很多彼此连接起来的电话交换机来完成全网的交换任务,用这样的方法就构成了覆盖全世界的电信网,电话交换机接通电话线的方式称为电路交换

从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态的分配传输线路的资源

我们来看下面这个电路交换的示意图,为了简单起见,图中没有区分市话交换机和长途电话交换机。

应当注意的是,用户线归电话用户专用,而电话交换机之间拥有的大量话路的中继线,则是许多用户共享的。

电路交换有以下三个步骤:

  1. 建立连接,也就是分配通信资源。例如在使用电路交换打电话之前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音,并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路,这条链接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。

  2. 通话,也就是主教和被教双方互相通电话。在整个通话期间,第一步建立连接所分配的通信资源始终被占用。

  3. 释放连接,也就是通话完毕。挂机后,电话交换机释放刚才使用的这条专用的物理通路,换句话说是把刚才占用的所有通信资源归还给电信网。


请大家思考一下,如果使用电路交换来传送计算机数据是否可行?

应该说,尽管采用电路交换可以实现计算机之间的数据传送,但是线路的传输效率往往很低。这是因为计算机数据是突发式的出现在传输线路上的,试想一下这种情况:当用户正在输入和编辑一份带传输的文件时,用户所占用的通信资源暂时未被利用,该通信资源也不能被其他用户利用,宝贵的通信线路资源白白被浪费了。因此计算机网络通常采用分组交换,而不是电路交换。


2.2 分组交换(Packet Switching)

假设这是英特网的一部分,在英特网中最重要的分组交换机就是路由器,他负责将各种网络互联起来,并对接收到的分组进行转发,也就是在进行分组交换。

我们来看这样一个例子,假设主机H6 的用户要给主机H2 的用户发送一条消息,通常我们把表示该消息的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,在每一个数据段前面加上一些有必要的控制信息组成的首部后,就构成了一个分组,也可称为“包”,相应地,首部也可称为“包头”。

请大家思考一下,添加手部的作用是什么?这不是额外加大了带传输的数据量吗?

实际上手部起到非常关键的作用,相信大家至少能想到,否则分组传输路径中的各分组交换机,也就是个路由器,就不知道如何转发分组了。

分组交换机收到一个分组后,先将分组暂时存储下来,再检查其手部,按照手部中的目的地址进行查表转发,找到合适的转发接口,通过该接口将分组转发给下一个分组交换机。

在本地中,主机h6 将所构造出的各分组依次发送出去,各分组经过图中各分组交换机的存储转发,最终到达主机H2。主机H2收到这些分组后,去掉他们的首部,将各数据段组合还原出原始报文。

需要说明的是,为了初学者容易理解,在本例中,我们只演示出了分组传输过程中的两种情况:一种是各分组从原站到达目的站可以走不同的路径,也就是不同的路由;另一种是分组乱序,也就是分组到达目的站的顺序不一定与分组在原站的发送顺序相同。对于可能出现的分组、丢失、误码、重复等问题并没有演示,这些内容将在后续讲述中详细介绍。

在上述的分组交换过程中,发送方所要完成的任务是构造分组和发送分组。路由器,也就是分组交换机所要完成的任务是缓存分组和转发分组,简称为“存储转发”。接收方所要完成的任务是接收分组和还原报文。


2.3 报文交换(Message Switching)

与分组交换类似,报文交换中的交换结点也采用存储转发方式。但报文交换对报文的大小没有限制,这就要求交换结点需要有较大的缓存空间。

需要注意的是,报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代,因此我们不再详细介绍报文交换了。


2.4 对比

接下来我们对电路交换、报文交换、分组交换这三种交换方式进行一下对比。

假设a→b→c→d是分组传输路径上所要经过的四个节点交换机,纵坐标为时间。那么这三种交换方式的示意图如下:

对于电路交换:通信之前首先要建立连接,连接建立好之后,就可以使用已建立好的连接进行数据传送,数据传送结束后需要释放连接,以归还之前建立连接所占用的通信线路资源。

对于报文交换:可以随时发送报文,而不需要事先建立连接。整个报文先传送到相邻节点交换机,全部存储下来后进行查表转发,转发到下一个节点交换机。

对于分组交换:可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各个节点交换机上存储转发。各结点交换机在发送分组的同时,还缓存接收到的分组。

当使用电路交换时,一旦建立连接,中间的各节点交换机就是直通形式的,比特流可以直达终点

当使用报文交换时,整个报文需要在各节点交换机上进行存储转发,由于不限制报文的大小,因此需要各节点交换机都具有较大的缓存空间

当使用分组交换时,构成原始报文的一个个分组在各节点交换机上进行存储转发。相比报文交换减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制


2.5 优缺点

2.5.1 电路交换的优缺点

2.5.1.1 优点
  1. 通信时延小。这是因为通信线路为通信双方用户专用数据直达,因此通信时延非常小。当连续传输大量数据时这一优点非常明显。

  2. 有序传输。这是因为通信双方之间只有一条专用的通信线路,数据只在这一条线路上传输,因此不存在失序问题。

  3. 没有冲突。不同的通信双方拥有不同的信道,不会出现征用物理信道的问题。

  4. 适用范围广。电路交换既适用于传输模拟信号,也适用于传输数字信号。

  5. 实时性强。这主要得益于其通信时延小的优点。

  6. 控制简单。电路交换的节点交换机及其控制都比较简单。

2.5.1.2 缺点
  1. 建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长了。

  2. 线路独占,使用效率低。电路交换一旦建立连接,物理通路就被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率很低。

  3. 灵活性差。只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。

  4. 难以规格化。电路交换时数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。

2.5.2 报文交换的优缺点

2.5.2.1 优点
  1. 无需建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送报文。

  2. 动态分配线路。当发送方把报文传送给节点交换机时,节点交换机先存储整个报文,然后选择一条合适的空闲线路将报文发送出去。

  3. 提高线路可靠性。如果某条传输路径发生故障,会重新选择另一条路径传输数据,因此提高了传输的可靠性。

  4. 提高线路利用率。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路。

  5. 提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。

2.5.2.2 缺点
  1. 引起了转发时延。这是因为报文在节点交换机上要经历存储转发的过程。

  2. 需要较大的存储缓存空间。这是因为报文交换对报文的大小没有限制。

  3. 需要传输额外的信息量。这是因为报文需要携带目标地址、原地址等信息。

2.5.3 分组交换的优缺点

2.5.3.1 优点
  1. 无需建立连接。分组交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接的时延,用户可以随时发送分组。

  2. 线路利用率高。通信双方不是固定占用一条通信线路,而是在不同的时间分段部分占用物理线路,因而大大提高了通信链路的利用率。

  3. 简化了存储管理。这是相对于报文交换而言的,因为分组的长度固定,相应的缓冲区的大小也固定,管理起来相对容易。

  4. 加速传输。由于分组是逐个传输的,这就使得后一个分组的存储操作与前一个分组的转发操作可以同时进行。

  5. 减少出错概率和重发数据量。因为分组比报文小,因此出错概率必然减小,即便分组出错,也只需重传出错的部分,这比重传整个报文的数据量小很多。这样不仅提高了可靠性,也减少了传输时延。

2.5.3.2 缺点
  1. 引起了转发时延。这是因为分组在节点交换机上要经历存储转发的过程。

  2. 需要传输额外的信息量。将原始报文分割成等长的数据块,每个数据块都要加上原地址、目的地址等控制信息,从而构成分组,因此使得传送的信息量增大了。

  3. 当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组。分组到达目的节点时,需要重新还原成原始报文,比较麻烦。若分组交换采用虚电路服务,虽然没有分组失序问题,但由呼叫建立、数据传输和蓄电路释放三个过程。


2.6 简单总结

本节,我们介绍了电路交换、分组交换以及报文交换这三种交换方式,其中分组交换是重点内容


三、计算机网络的定义与分类

3.1 计算机网络的定义

首先我们来说说计算机网络定义。计算机网络的精确定义并未统一,换句话说,全世界没有一个对计算机网络的公认的唯一定义。这里我们给出一个计算机网络的最简单定义,即计算机网络是一些互相连接的自治的计算机的集合。我们可以从该定义中找出三个关键词,他们是互连自治集合

  • 互连是指计算机之间可以通过有线或无线的方式进行数据通信。

  • 自治是指独立的计算机,它有自己的硬件和软件可以单独运行使用。

  • 集合是指至少需要两台计算机。

那么,基于以上概念,请大家思考一下,该图所示是否是一个计算机网络?

很显然这不是计算机网络,因为图中所示的各终端机只是具有显示和输入设备的终端,而并不是自制的计算机。因此这只是一个运行分时系统的大型机。系统集合是指至少需要两台计算机。

需要注意的是,在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义。这些定义反映了当时网络技术发展的水平。

下面我们给出现阶段计算机网络的较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用

该定义表明:

  1. 计算机网络所连接的硬件并不限于一般的计算机,而是包括了智能手机等智能硬件。

  2. 计算机网络并非专门用来传送数据,而是能够支持很多种应用,包括今后可能出现的各种应用。

3.2 计算机网络的分类

我们可以从不同的角度对计算机网络进行分类:

3.2.1 按交换技术

可以分为电路交换网络报文交换网络分组交换网络。由于这些是我们之前已经介绍过。所以这里不再赘述。

3.2.2 按网络的使用者

可以分为公用网专用网

  1. 公用网是指电信公司出资建造的大型网络,公用的意思就是所有愿意按电信公司的规定缴纳费用的人,都可以使用这种网络,因此公用网也可称为公众网。

  2. 专用网是指某个部门为本单位的特殊业务工作的需要而建立的网络,这种网络不向本单位以外的人提供服务,例如军队、铁路、电力等系统均有本系统的专用网。

3.2.3 按传输介质

可以分为有线网络无线网络

  1. 有线网络包括双绞线网络、光纤网络等;

  2. 无线局域网所使用的WiFi技术目前应用比较普遍。

3.2.4 按网络的覆盖范围

可以分为广域网(WAN)城域网(MAN)局域网(LAN)个人区域网(PAN)。我们需要能记住这几个比较常见的英文缩写词,尤其是WAN和PAN。如果感兴趣可以去看看自己家装路由器背面的各接口,很可能标记为1个WAN和多个LAN,而不是标记为中文的广域网接口和局域网接口。

  1. 广域网的覆盖范围通常为几十公里到几千公里,可以覆盖一个国家、地区甚至横跨几个洲,因而有时也称为远程网。广域网是英特网的核心部分,其任务是为核心路由器提供远距离(例如跨越不同的国家)的高速连接,互连分布在不同区域的城域网和局域网。

  2. 城域网的覆盖范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离为5~50km。城域网通常作为城市骨干网,互连大量企业机构和校园局域网。近几年,城域网已开始成为现代城市的信息服务基础设施,为大量用户提供接入和各种信息服务,并有趋势将传统的电信服务、有线电视服务和互联网服务融为一体。

  3. 局域网一般用微型计算机或工作站通过高速通信线路相连,速率通常在10Mbit/s以上,但地理上则局限在较小的范围内,如一个实验室、一幢楼或一个校园内,距离一般在1km左右。局域网通常由某个单位单独拥有、使用和维护。在局域网发展的初期,一个学校或工厂往往只拥有一个局域网。现在局域网已被非常广泛的使用,一个学校或企业大都拥有许多个互连的局域网,这样的网络通常称为校园网或企业网。

  4. 个人区域网(PAN)不同于上述网络,不是用来连接普通计算机的,而是在个人工作的地方,把属于个人使用的电子设备(例如便携式计算机、打印机、鼠标键盘、耳机等)用无线技术连接起来的网络,因此也常称为无线个人区域网(WPAN),其覆盖范围大约为10米。

需要注意的是,**若中央处理机之间的距离非常近,例如仅1米的数量级甚至更小,则一般就称之为多处理机系统,而不称它为计算机网络。**

3.2.5 按拓扑结构

可以分为总线型网络星型网络环形网络网状型网络

  1. 总线型网络使用单根传输线把计算机连接起来,它的优点是建网容易增减节点方便节省线路,缺点是重负载时通讯效率不高,总线任意一处出现故障,则全网瘫痪。

  2. 星型网络是将每个计算机都以单独的线路与中央设备相连,中央设备早期是计算机,后来是集线器,现在一般是交换机或路由器。这种网络拓扑便于网络的集中控制和管理,因为端用户之间的通信必须经过中央设备,缺点是成本高,中央设备对故障敏感。

  3. 环形网络是将所有计算机的网络接口连接成一个环,最典型的例子是令牌环局域网,还可以是单环,也可以是双环,环中信号是单向传输的。

  4. 网状型网络一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域网中,其优点是可靠性高,缺点是控制复杂线路成本高。

需要注意的是,以上四种基本的网络拓扑还可以互联为更复杂的网络。


本节内容并没有什么难点内容,只需要我们对这些内容做到了解即可。


四、计算机网络的性能指标

本次我们介绍计算机网络的性能指标。性能指标可以从不同的方面来度量计算机网络的性能。常用的计算机网络性能指标有以下八个:它们是速率、带宽、吞吐量、时延(包括发送时延、传播时延和处理时延)、丢包率、利用率等。本节课我们介绍其中的四个。


4.1 速率

为了能够更好地理解速率,我们需要先了解比特。

4.1.1 什么是比特

比特(bit)是计算机中数据量的单位,也是信息论中信息量的单位,常简写为b。一个比特就是二进制数字的一个“1”或“0”。常用的数据量单位有字节(Byte),常简写为B一个字节包含8个比特

  1. 千字节(KB):这里的K为2^10,因此等于2^10个字节。

  2. 兆字节(MB):它等于K * KB,因此等于2^20个字节。

  3. 吉字节(GB):它等于K * MB,因此等于2^30个字节。

  4. 太字节(TB):它等于K * GB,因此等于2^40个字节。

这里顺便提一下,也许大家有购买新硬盘或U盘的经历,在使用中会发现操作系统给出的容量与厂家标称的容量不同。例如这是计算机中的一块固态硬盘,标称容量为250GB,但操作系统给出的容量为232.8GB。

这是什么原因呢?下面的计算公式就可以说明这个问题:

厂家给出的单位GB中的G为10^9,而操作系统中数据量单位GB中的G为2^30。

4.1.2 速率的介绍

有了比特的概念,我们就可以引出计算机网络中的一个重要性能指标——速率。它具体是指连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率。常用的数据率单位有比特每秒(bps),可以简写为小写字母b/s或者bps

  1. 千比特每秒(kbps):这里的k常用小写,而数据量单位中的k常用大写。小写k在速率单位中的值为10^3,也就是1000。

  2. 兆比特每秒(Mbps):尽管这里的大写字母M与数据量单位中的相同,但在速率单位中其值为10^6,而在数据量单位中其值为2^20。

  3. 吉比特每秒(Gbps):尽管这里的大写字母G与数据量单位中的相同,但在速率单位中其值为10^9,而在数据量单位中其值为2^30。

  4. 太比特每秒(Tbps):尽管这里的大写字母T与数据量单位中的相同,但在速率单位中其值为10^12,而在数据量单位中其值为2^40。

这里,在对比一下比特和速率的单位换算,方便区分它们的单位换算关系。

下面我们来做个练习,看看大家是否已经掌握了比特和速率的知识。

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

解题步骤: 用数据块的大小100MB除以网卡的发送速率100Mbps,就是网卡发送完该块数据所花费的时长。分子和分母上的100可以约掉,而分子和分母上的“兆”是否可以约掉呢?严格来说是不能约掉的,因为分子上的“兆”是数据量单位中的,其值为2的二十次方,而分母上的“兆”是速率单位中的,其值为10的六次方。我们还需要将分子上的字节转换为八个比特,这样分子和分母上的比特就可以约掉,只剩下秒单位。最终计算结果为8.388608秒。


4.2 带宽

由于带宽涉及到多个领域,因此在不同的知识领域它有着不同的意义。

4.2.1 模拟信号系统中的带宽

带宽的意义是指信号所包含的各种不同频率成分所占据的频率范围,其基本单位是赫兹(Hz),常用单位有千赫(kHz)、兆赫(MHz)及吉赫(GHz)。例如,在传统的通信线路上传送的电话信号的标准带宽为3.1KHz,范围从300Hz~3400Hz,这是语音的主要成分的频率范围。

4.2.2 计算机网络中的带宽

带宽的意义是用来表示网络的通信线路所能传送数据的能力。因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率。因此带宽这个计算机网络性能指标的单位与我们刚刚介绍的速率这个性能指标的单位是相同的,基本单位是比特每秒(bps),常用单位有千比特每秒(kbps)、兆比特每秒(Mbps)、吉比特每秒(Gbps)、太比特每秒(Tbps)。

你可能有过这样的经历,有朋友问你家的出口网速有多大,你可能回答说200M,这里我们往往省略说比特每秒,完整的描述应该是最高速率为200Mbps,而这个最高速率其实就是你家网络的出口带宽,这当然是一个很重要的计算机网络性能指标,它直接关系到我们的网络应用体验。

其实,“带宽”的两种表述之间有着密切的联系。一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。


4.3 吞吐量

吞吐量表示在单位时间内通过某个网络或信道接口的数据量。吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络带宽或额定速率的限制

例如,这是一个带宽为1Gbps的以太网,其吞吐量受带宽限制,最高为1Gbps,通常只能达到700Mbps。


4.4 时延

接下来我们介绍下一个计算机网络性能指标——时延。我们来看看分组从原主机传送给目的主机的过程中,都会在哪些地方产生时延:

  1. 发送时延:原主机将分组发往传输线路,这需要花费一定的时间。

  2. 传播时延:代表分组的电信号在链路上传输,这也需要花费一定的时间。

  3. 处理时延:路由器收到分组后,对其进行存储转发,这也需要花费一定的时间。

一般来说,原主机和目的主机之间的路径会由多段电路和多个路由器构成,因此会有多个传播时延和处理时延。通过本例可知,网络时延由三部分构成:它们是发送时延传播时延处理时延

4.4.1 发送时延

发送时延的计算公式为分组长度/发送速率。这里需要对发送速率做一下说明:如图所示,这是家庭局域网的一部分,网卡的发送速率、信道带宽、交换机的接口速率他们共同决定着主机的发送速率。

若网卡的发送速率为1Gbps,信道带宽为1Gbps,交换机的接口速率为1Gbps,则主机的发送速率理论上最大可以达到1Gbps;若网卡的发送速率为100Mbps,现在带宽为1Gbps,交换机的接口速率为1Gbps,则主机的发送速率理论上最大只能达到100Mbps;若网卡的发送速率为1Gbps,信道带宽为100Mbps,交换机的接口速率为1Gbps,则主机的发送速率理论上最大也只能达到100Mbps。

从这里可以看出,在构建网络时应该做到各设备间以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能。我们也需要重视这一点,因为大家今后都可能面临新房装修时网络布线以及相关设备的采购问题,如果未认真考虑即可能造成网络性能无法满足自己的应用需求的情况,如果再进行改造将会是非常麻烦的事情。目前主流的家庭局域网带宽是1000兆,有些发烧友甚至打造家庭万兆局域网。

4.4.2 传播时延

传播时延的计算公式是信道长度/电磁波传播速率

  1. 电磁波在自由空间的传播速率是光速,即3x10^8 m/s。

  2. 电磁波在网络传输媒体中的传播速率比在自由空间要略低一些。在铜线中的传播速率约为 2.3x10^8 m/s;

  3. 在光纤中的传播速率约为 2.0x10^8 m/s。

因此要计算传播时延首先应该确定采用的是什么传输媒体,进而可以确定电磁波在该传输媒体中的传播速率。我们需要尽可能将电磁波的上述三种传播速率作为常识并记住。

4.4.3 处理时延

处理时延没有简单的计算公式,因为它不方便计算。这并不难理解,因为网络中的数据流量是动态变化的,因此路由器的繁忙程度也是动态变化的。另外,各种路由器的软硬件性能也可能有所不同,因此很难用一个公式计算出处理时延。

这里需要说明的是,有的教材中还有一个排队时延,而这里将排队时延与处理实验合并,称为处理时延。由于处理实验不方便计算,因此一般在有关计算实验的考题中,题目往往会指明“处理实验忽略不计”。

那么请大家思考一下,在处理时延忽略不计的情况下,网络总时延中是传播时延占主导还是发送时延占主导呢?

我们来看这个例子:数据块长度为100MB,信号带宽为1Mb/s,传送距离为1000km,计算发送时延传播时延

通过前面讲述的发送时延和传播时延的计算公式可知,发送时延 = 分组长度 / 发送速率,将题目给定的相应已知量带入公式,这里2^20是数据量单位中的M,这里10^6是速率单位中的M,计算结果为800多秒;传播时延 = 信道长度 / 电磁波传播速率,将题目给定的相应已知量带入公式,由于题目并未给出传输介质,因此为了方便计算,我们假设传输介质是光纤,所以电磁波传输速率这里为2x10^8 m/s,计算结果为0.005s。很显然在本例中发送时延占主导。计算过程如下图所示。

我们再看一个例子:数据块长度为1 B,信号带宽为1Mb/s,传送距离为1000km,计算发送时延传播时延

同理,我们使用公式,带入数据计算可得,如下图所示。

很显然在这个例子中,传播时延是占主导的

通过以上两个例子可以看出,构成网络实验的发送时延、传播时延以及处理时延在处理实验忽略不计的情况下,我们不能想当然地认为发送时延占主导或传播实验占主导,而应该具体问题具体分析

不知大家是否做对了,如果没做对也不要灰心,再好好看一下这两个例子,加深理解和记忆,相信大家总会理解的,加油!

4.5 时延带宽积

从字面意思就可以看出,该性能指标是时延与带宽的乘积。但是时延由发送时延、传播时延和处理时延三部分构成,该性能指标中的时延具体是指哪一个呢?

答案是传播时延。也就是说,时延带宽积是传播时延与带宽的乘积

我们可以把传输链路看成是一个管道,且长度为传播时延,横截面积为带宽,则时延带宽积就是该管道的体积,可以想象成管道中充满了比特。

因此,我们可以发现:若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积的比特。链路的时延带宽积又称为以比特为单位的链路长度

4.6 往返时间

在许多情况下,英特网上的信息不仅仅单方向传输,而是双向交互。我们有时很需要知道双向交互一次所需的时间,因此往返时间RTT(Round-Trip Time)也是一个重要的性能指标。

来看下图这个例子,以太网上的某台主机要与无线局域网中的某台主机进行信息交互(红色箭头流向及源主机到目的主机;橙色相反),往返时间RTT是指从原主机发送分组开始,直到原主机收到来自目的主机的确认分组为止所需要的时间

请大家根据我们上节课介绍的有关时延的知识来分析一下,分组是在这个以太网上耗时较多,还是在这个无线局域网上耗时较多,又或者是在卫星链路上耗时较多呢?

答案是卫星链路耗时较多

一般情况下,卫星链路的距离比较远,所带来的传播时延比较大。例如地球同步卫星距离地球36000km,那么可以计算出通过同步卫星转发分组所带来的传播时间大约为240ms。

4.7 利用率

利用率有两种,一种是信道利用率,另一种是网络利用率

信道利用率用来表示某信道有百分之几的时间是被利用的,也就是有数据通过的百分比。而网络利用率是指全网络的信道利用率加权平均

根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此信道利用率并非越高越好

如果令D0 表示网络空闲时的时延,D表示网络当前的时延,那么在适当的假定条件下,可以利用下面的简单公式来表示D、D0 和利用率U之间的关系:D = D0 / (1 - U)。我们可以按该式画出时延D随利用率U的变化曲线。

可以看出,时延D从网络空闲时的时延D0 随利用率U的增加而迅速增长:当网络的利用率达到50%时,时延就要加倍;当网络的利用率超过50%时,时延急剧增大;当网络的利用率接近100%时,时延趋于无穷大。

因此,一些拥有较大主干网的ISP通常会控制他们的信道利用率不超过50%,如果超过了,就要准备扩容,增大线路的带宽。当然也不能使信道利用率太低,这会使宝贵的通信资源白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。

4.8 丢包率

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

丢包率具体可分为接口丢包率节点丢包率链路丢包率路径丢包率网络丢包率等。

丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说,往往并不关心这个指标,因为他们通常意识不到网络丢包。

分组丢失主要有两种情况,我们来举例说明。一种情况是分组在传输过程中出现误码,被节点交换机丢弃。如图所示,主机发送的分组在传输过程中出现了误码,当分组进入传输路径中的节点交换机时,被节点交换机检测出了误码,进而被丢弃。

至于节点交换机是如何检测出分组有误码的,我们会在后续课程中介绍。

另一种情况是分组到达一台存储队列已满的分组交换机时被丢弃。在通信量较大时,就可能造成网络拥塞。如下图所示。

假设路由器R5 当前的输入缓冲区已满,此时主机发送的分组到达该路由器,路由器没有存储空间存放该分组,只能将其丢弃。

需要说明的是,实际上路由器会根据自身拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组

因此丢包率反映了网络的拥塞情况

  1. 无拥塞时,路径丢包率为零;

  2. 轻度拥塞时,路径丢包率为1%到4%;

  3. 严重拥塞时,路径丢包率为5%到15%。

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


4.9 简单总结

关于计算机网络的几大性能指标的介绍到这里就结束了,我们将本次所介绍的几个常用的计算机网络性能指标的要点总结如下图所示。


以上便是本次文章的所有内容,欢迎各位朋友在评论区讨论,本人也是一名初学小白,愿大家共同努力,一起进步吧!

鉴于笔者能力有限,难免出现一些纰漏和不足,望大家在评论区批评指正,谢谢!

 

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

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

相关文章

Java 面试实录:从Spring到微服务的技术探讨

在一个明亮的会议室里,严肃的面试官与搞笑的程序员谢飞机正进行一场关于Java技术栈的面试。场景设定在一家知名互联网大厂,他们的对话充满了技术性与娱乐性。 第一轮:Spring框架与数据库 面试官:“谢飞机,能解释一下…

OpenCV CUDA模块图像过滤------创建一个 Scharr 滤波器函数createScharrFilter()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于创建一个 Scharr 滤波器(基于 CUDA 加速),用于图像的一阶导数计算。它常用于边缘检测任务中&#…

yolov8分割任务的推理和后处理解析

文章目录 一、前言二、分割模型的前向推理1. 检测结果:来自Detect类的输出2. 分割结果(最终)3. 与Detect的主要区别4. 工作流程 三、后处理1. 非极大值抑制(NMS)过滤检测框2. 分割原型(Mask Prototypes&…

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一个模块,专门用于处理结构化数据。它引入了DataFrame这一编程抽象,DataFrame是带有Schema信息的分布式数据集合,类似于关系型数据库中的表。用户可以通过SQL、DataFrames API和Datasets API三种方式操作结构化数据…

华为OD机试真题——书籍叠放(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

尚硅谷redis7 63-69 redis哨兵监控之理论简介

63 redis哨兵监控之理论简介 什么是哨兵 master挂了如何办?从机原地待命。此时数据只能读取不能更新。因此需要: 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库, 哨兵的作用 1、监控redis运行状态,包括master和slave…

word文档格式规范(论文格式规范、word格式、论文格式、文章格式、格式prompt)

文章目录 prompt prompt [格式要求] - 字体:中文宋体小四;英文Times New Roman 12pt;标题黑体 - 行距:1.5倍(段前段后0行) - 边距:A4默认(上下2.54cm,左右3.17cm&…

SpringBoot+tabula+pdfbox解析pdf中的段落和表格数据

一、前言 在日常业务需求中,往往会遇到解析pdf文件中的段落或者表格数据的需求。 常见的做法是使用 pdfbox 来做,但是它只能提取文本数据,没有我们在文件页面上面的那种结构化组织,文本通常是散乱的包含各种换行回车空格等格式&a…

【Elasticsearch】stored_fields

在 Elasticsearch 中,stored_fields 是一个非常重要的概念,主要用于控制文档存储和检索时的行为。以下是对 stored_fields 的详细解释: 1\. stored_fields 的作用 stored_fields 用于指定在检索文档时需要返回的字段。默认情况下,…

计算机网络 | 1.1 计算机网络概述思维导图

附大纲: 计算机网络的概念 一个通过通信设备与线路把不同计算机系统连接起来,实现资源共享和信息传递的系统 计算机网络的组成 从组成成分上 硬件:主机、通信链路、交换设备、通信处理机软件:网络操作系统、聊天软件等协议&…

HOW - 简历和求职面试宝典(三)

文章目录 1. 面试邀约2. 开始面试和自我介绍第一、面试前的准备工作第二、如何全面地介绍自己1. 面试邀约 第一、先认识日常HR 的工作流程 首先,电话沟通是 HR 核心工作内容的一部分。电话沟通分为两种:一种是电话预约;另外一种是电话确认。 电话预约很清晰,就是确认面试…

Java基础 Day24

一、进程和线程 1、进程 (1)概念 进程 (Process) 是计算机中的程序关于某数据集合上的一次运行活动 是系统进行资源分配的基本单位 简单理解:程序的执行过程(正在运行的应用程序) (2)特性…

C#学习:基于LLM的简历评估程序

前言 在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。 准备不同的简历: 查看效果: 不足之处是现实的简历应该是pdf格式的,后面可以…

git怎么合并两个分支

git怎么合并分支代码 注意: 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去 git 命令 查看本地所有分支 git branch切换分支 例如切换到release分支 git checkout release拉取代码 git pull up release 合并分支 …

Android-kotlin协程学习总结

Kotlin协程实战对话​ ​真题1:协程与线程的本质区别是什么?为什么说协程是轻量级的?​​ ​面试官​: “我看你项目中用协程替代了线程池,能说说协程和线程的核心区别吗?为什么协程更适合高并发&#xf…

uni-app学习笔记十四-vue3中emit的使用

在组件传值中&#xff0c;无论是props还是slot都是单向数据流&#xff0c;父组件向子组件传值&#xff0c;子组件不能直接对父组件传过来的值进行重新赋值。 下面学习子组件向父组件传值的工具--emit。 在子组件emit设置传递的函数名和值 <template><view>子组件…

Java设计模式从基础到实际运用

第一部分&#xff1a;设计模式基础 1. 设计模式概述 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结&#xff0c;它描述了在软件设计过程中一些不断重复出现的问题以及该问题的解决方案。设计模式是在特定环境下解决软件设计问题…

鸿蒙OSUniApp 制作自定义的进度条组件#三方框架 #Uniapp

使用 UniApp 制作自定义的进度条组件 在移动应用开发中&#xff0c;进度条是非常常见的 UI 组件&#xff0c;无论是文件上传、下载、任务进度还是表单填写反馈&#xff0c;进度条都能为用户提供直观的进度提示。虽然 UniApp 提供了一些基础的进度条能力&#xff0c;但在实际项…

Python爬虫实战:研究Beautiful Soup框架相关技术

1. 引言 1.1 研究背景与意义 随着互联网的快速发展,网络上的数据量呈爆炸式增长。如何从海量的网页数据中高效提取有价值的信息,成为信息科学领域的重要研究课题。网络爬虫作为一种自动获取网页内容的技术,能够按照预设规则遍历互联网并采集数据,为信息检索、舆情分析、商…

【Tips】关于PCI和PCIe的配置空间差异和io/memory io读写

最近在看同事2023年讲的PCI基础课&#xff0c;感觉确实是豁然开朗了&#xff0c;赞美同事。 PCIe实际上是PCI的扩展&#xff08;extended&#xff09;&#xff0c;PCIe设备相当于是迭代升级产品。 而PCIe的配置空间基于PCI原有的0xFF&#xff08;256字节&#xff09;配置空间…