计算机网络 体系结构_计算机知识

(40) 2024-07-27 22:01:01

1.1 计算机网络在信息时代中的作用

21世纪的一些重要特征就是数字化网络化信息化,它是一个以网络为核心的信息时代。要实现信息化就必须依靠完善的网络,因为网络可以非常迅速地传递信息。网络现在已经成为信息社会的命脉和发展知识经济的重要基础。网络对社会生活和经济发展的很多方面已经产生了不可估量的影响。

有三大类大家很熟悉的网络,即电信网络有线电视网络计算机网络。按照最初的服务分工,

  • 电信网络向用户提供电话、电报及传真等服务;
  • 有线电视网络向用户传送各种电视节目;
  • 计算机网络则使用户能够在计算机之间传送数据文件。

这三种网络在信息化过程中都起着十分重要的作用,但其中发展最快并起着核心作用的则是计算机网络

20世纪90年代以后,以Internet为代表的计算机网络得到了飞速的发展,已从最初的仅供美国人使用的免费教育科研网络逐步发展成为供全球使用的商业网络(有偿使用),成为全球最大的和最重要的计算机网络。可以毫不夸大地说,Internet是人类自印刷术发明以来在存储和交换信息领域的最大变革

Internet的中文译名并不统一。现有的Internet译名有两种:

  1. 因特网,这个译名是全国科学技术名词审定委员会推荐的。虽然因特网这个译名较为准确,但却长期未得到推广。
  2. 互联网,这是目前流行最广的、事实上的标准译名。现在我国的各种报刊杂志、政府文件以及电视节目中都毫无例外地使用这个译名。Internet是由数量极大的各种计算机网络互连起来的,采用互联网这个译名能够体现出Internet最主要的特征。

对于仅在局部范围互连起来的计算机网络,只能称之为互连网,而不是互联网Internet。

注意以下两个意思相差很大的名词internetInternet

  • 以小写字母i开始的internet互连网)是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用TCP/IP协议。
  • 以大写字母I开始的Internet互联网,或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。

起源于美国的互联网现已发展成为世界上最大的覆盖全球的计算机网络。

1.2 计算机网络的概念

计算机网络由若干节点(node)和连接这些节点的链路(link)组成。网络中的节点可以是计算机、集线器、交换机或路由器等。网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起,与网络相连的计算机常称为主机。

计算机网络是通信技术与计算机技术紧密结合的产物。计算机网络就是一种通信网络

计算机网络 = 通信技术 + 计算机技术。 

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第1张

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。

计算机网络是互联的、自治的计算机集合。

  • 互联:互联互通(经过通信链路)
  • 自治:无主从关系

互联网的基础结构大体上经历了三个阶段的演进。但这三个阶段在时间划分上并非截然分开而是有部分重叠的,这是因为网络的演进是逐步的,而并非在某个日期发生了突变。

  1. 第一阶段是从单个网络ARPANET向互连网发展的过程。1969年美国国防部创建的第一个分组交换网 ARPANET最初只是一个单个的分组交换网(并不是一个互连的网络)。所有要连接在ARPANET上的主机都直接与就近的节点交换机相连。但到了20世纪70年代中期,人们已认识到不可能仅使用一个单独的网络来满足所有的通信需求。于是ARPA开始研究多种网络(如分组无线电网络)互连的技术,这就导致了互连网络的出现,成为现今互联网(Internet)的雏形。1983年TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信,因而人们就把1983年作为互联网的诞生时间。1990年ARPANET正式宣布关闭,因为它的实验任务已经完成。
  2. 第二阶段的特点是建成了三级结构的互联网。从1985年起,美国国家科学基金会NSF(National Science Foundation)就围绕六个大型计算机中心建设计算机网络,即国家科学基金网NSFNET。它是一个三级计算机网络,分为主干网地区网校园网(或企业网)。这种三级计算机网络覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。1991年,NSF和美国的其他政府机构开始认识到,互联网必将扩大其使用范围,不应仅限于大学和研究机构。世界上的许多公司纷纷接入到互联网,网络上的通信量急剧增大,使互联网的容量已满足不了需要。于是美国政府决定把互联网的主干网转交给私人公司来经营,并开始对接入互联网的单位收费。1992年互联网上的主机超过100万台。1993年互联网主干网的速率提高到45Mbit/s (T3速率)。
  3. 第三阶段的特点是逐渐形成了全球范围的多层次ISP结构的互联网。从1993年开始,由美国政府资助的NSFNET逐渐被若干个商用的互联网主干网替代,而政府机构不再负责Service互联网的运营。这样就出现了一个新的名词:互联网服务提供者ISP (Internet Provider)。在许多情况下,互联网服务提供者ISP就是一个进行商业活动的公司,因此ISP又常译为互联网服务提供商。例如,中国电信、中国联通和中国移动等公司都是我国最有名的ISP。

1.3 计算机网络的组成

从组成部分来看

一个完整的计算机网络主要由硬件软件协议三大部分组成,缺一不可。

  • 硬件主要由主机(也称端系统),通信链路(如双绞线、光纤)、交换设备(如路由、交换机等)和通信处理机(如网卡)等组成;
  • 软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如网络操作系统、邮件收发程序、FTP程序、聊天程序等);
  • 协议是计算机网络的核心,协议规定了网络传输数据时所遵循的规范。就如同我们现实生活中的法律一样,网络世界也必须遵循一定的规则。

从工作方式来看

计算机网络(主要指Internet)可分为边缘部分核心部分

  • 边缘部分:由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享。这部分是用户直接使用的
  • 核心部分:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第2张

互联网的边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(endsystem),“端”就是“末端”的意思(即互联网的末端)。端系统在功能上可能有很大的差别,小的端系统可以是一台普通个人电脑(包括笔记本电脑或平板电脑)和具有上网功能的智能手机,甚至是一个很小的网络摄像头,而大的端系统则可以是一台非常昂贵的大型计算机(这样的计算机通常称为服务器server)。

边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。值得注意的是,现今大部分能够向网民提供信息检索、万维网浏览以及视频播放等功能的服务器,都不再是一个孤立的服务器,而是属于某个大型数据中心。

我们先要明确下面的概念。我们说:“主机A和主机B进行通信”,实际上是指:“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”。由于“进程”就是“运行着的程序”,因此这也就是指:“主机A的某个进程和主机B上的另一个进程进行通信”。这种比较严密的说法通常可以简称为“计算机之间通信”。

在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(CIS方式)对等方式(P2P方式)。下面分别对这两种方式进行介绍。

客户-服务器方式

这种方式在互联网上是最常用的,也是传统的方式。我们在上网发送电子邮件或在网站上查找资料时,都使用客户-服务器方式(有时写为客户/服务器方式)。采用客户-服务器方式可以使两个应用进程能够进行通信。

客户(client)和服务器(server))都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。在下图中,主机A运行客户程序而主机B运行服务器程序。在这种情况下,A是客户而B是服务器。客户A向服务器B发出请求服务,而服务器B向客户A提供服务。这里最主要的特征就是:客户是服务请求方,服务器是服务提供方
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第3张

值得注意的是:服务请求方和服务提供方都要使用网络核心部分所提供的服务

在实际应用中,客户程序和服务器程序通常还具有以下一些主要特点。

客户程序

  • 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
  • 不需要特殊的硬件和很复杂的操作系统。

服务器程序

  • 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
  • 系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
  • 一般需要有强大的硬件和高级的操作系统支持。

客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据

对等连接方式

对等连接(peer-to-peer,简写为 P2P。)是指两台主机在通信时,并不区分哪一个是服务请求方和哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P方式。

在下图中,主机C,D,E和F都运行了P2P程序,因此这几台主机都可进行对等通信(如C和 D,E和F,以及C和F)。实际上,对等连接方式从本质上看仍然使用客户-服务器方式,只是对等连接中的每一台主机既是客户同时又是服务器。例如主机C,当C请求D的服务时,C是客户,D是服务器。但如果C又同时向F提供服务,那么C又同时起着服务器的作用。
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第4张

对等连接工作方式可支持大量对等用户(如上百万个)同时工作。

互联网的核心部分

网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信

在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不叫作主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。为了弄清分组交换,下面先介绍电路交换的基本概念。

电路交换的主要特点

在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。显然,若 N N N部电话要两两相连,就需要 N ( N − 1 ) 2 \frac{N(N - 1)}{2} 2N(N1)对电线。当电话机的数量很大时,这种连接方法需要的电线数量就太大了。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如下图©所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。电话发明后的一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换(circuit switching)。
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第5张

当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。

从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。在使用电路交换打电话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换°。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。

下图为电路交换的示意图。应当注意的是,用户线是电话用户到所连接的市话交换机的连接线路,是用户独占的传送模拟信号的专用线路,而交换机之间拥有大量话路的中继线(这些传输线路早已都数字化了)则是许多用户共享的,正在通话的用户只占用了中继线里面的一个话路。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第6张

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%,甚至1%。己被用户占用的通信线路资源在绝大部分时间里都是空闲的。例如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时,或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是被白白浪费了。

分组交换的主要特点

分组交换则采用存储转发技术。下图表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,例如,每个数据段为1024bit。在每一个数据段前面,加上一些必要的控制信息组成首部(header)后,就构成了一个分组(packet)。分组又称为“”,而分组的首部也可称为“包头”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第7张

位于网络边缘部分的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。主机为用户进行信息处理的,并且可以和其他主机通过网络交换信息路由器则用来转发分组,即进行分组交换。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

应当注意,分组交换在传送数据之前不必先占用一条端到端的通信资源。分组在哪段链路上传送才占用那段链路的通信资源。分组到达一个路由器后,先暂时存储下来,查找转发表,然后从另一条合适的链路转发出去。分组在传输时就这样逐段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高

从以上所述可知,采用存储转发的分组交换,实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。这对传送突发式的计算机数据非常合适,使得通信线路的利用率大大提高了。

为了提高分组交换网的可靠性,互联网的核心部分常采用网状拓扑结构,使得当发生网络拥塞或少数节点、链路出现故障时,路由器可灵活地改变转发路由而不致引起通信的中断或全网的瘫痪。此外,通信网络的主干线路往往由一些高速链路构成,这样就可以较高的数据率迅速地传送计算机数据。

综上所述,分组交换的主要优点可归纳如下表所示。

优点 所采用的手段
高效 在分组传输的过程中动态分配传输带宽,对通信链路逐段占用
灵活 为每一个分组独立地选择最合适的转发路由
迅速 以分组作为传送单位,不先建立连接就能向其他主机发送分组
可靠 保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性

分组交换也带来一些新的问题。例如,分组在各路由器存储转发时需要排队,这就会造成一定的时延。因此,必须尽量设法减少这种时延。此外,由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。分组交换带来的另一个问题是各分组必须携带的控制信息也造成了一定的开销。整个分组交换网还需要专门的管理和控制机制。

应当指出,从本质上讲,这种断续分配传输带宽的存储转发原理并非是全新的概念。在20世纪40年代,电报通信也采用了基于存储转发原理的报文交换(message switching)。在报文交换中心,一份份电报被接收下来,并穿成纸带。操作员以每份报文为单位,撕下纸带,根据报文的目的站地址,拿到相应的发报机转发出去。这种报文交换的时延较长,从几分钟到几小时不等。现在报文交换已不使用了。

分组交换虽然也采用存储转发原理,但由于使用了计算机进行处理,因此分组的转发非常迅速。分组交换虽然采用了某些古老的交换原理,但实际上已变成了一种崭新的交换技术。

下图显示了电路交换报文交换分组交换的主要区别。图中的A和D分别是源点和终点,而B和C是在A和D之间的中间节点。图的最下方归纳了三种交换方式在数据传送阶段的主要特点:

  • 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
  • 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
  • 分组交换:单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第8张

从上图可看出,若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

从功能组成来看

  • 计算机网络由通信子网资源子网组成
    • 通信子网:由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现计算机之间的数据通信
    • 资源子网:实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。
      计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第9张

1.4 计算机网络的功能

  1. 数据通信(连通性)
    • 数据通信是计算机网络最基本和最重要的功能,实现联网计算机之间的各种信息传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理
  2. 资源共享
    • 资源共享可以是软件共享、数据共享和硬件共享。
    • 计算机网络中的资源互通有无,分工协作,从而极大地提高硬件资源、软件资源和数据资源的利用率
  3. 分布式处理 (Hadoop)
    • 当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其它计算机系统,让它帮你处理,从而利用空闲计算机资源以提高整个系统的利用率。
  4. 提高可靠性
    • 计算机网络中的各台计算机可以通过网络互为替代机,当一台计算机崩了,可以让另一台计算机来完成它的工作。
  5. 负载均衡
    • 将工作任务均衡的分配给计算机网络中的各台计算机
  6. 其它
    • 计算机网络还可以实现电子化办公与服务、远程教育、娱乐等功能

1.5 计算机网络的分类

(1)按分布范围分类

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第10张

  • 广域网(WAN)。也称远程网。关于网提供长距离通信,通常是几十千米到几千千米的区域,比如跨国通信。广域网是互联网的核心部分,其任务是长距离运送主机所发送的数据。连接关于网的各结点交换机的链路一般都是高速链路,具有较大的通信容量。
  • 城域网(MAN)。覆盖范围跨越几个街区甚至整个城市,覆盖范围约5~50km,城域网大多采用以太网技术,因此有时也常并入局域网的范围进行讨论。
  • 局域网(LAN)。范围几十米到几千米的区域。一般用微机或工作站通过高速线路相连。传统上,局域网使用广播技术,而广域网使用交换技术
  • 个人区域网(PAN)。覆盖范围大约十米左右。指在个人工作的地方将消费电子设备(如平板电脑、智能手机等)用无线技术连接起来的网络,也常称为无线个人区域网(WPAN)

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第11张

(2)按传输技术分类

  • 广播式网络。所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他计算机都会收听到这个分组。接受到该分组的计算机将通过检查目的地之来决定是否接受该分组。
  • 点对点网络。每条物理线路连接一对计算机。 使用分组存储转发路由选择机制

(3)按拓扑结构分类

  • 网络拓扑结构是指网络总的结点(路由器、主机等)于通信线路(网线)之间的几何关系(如总线形、环形)表示的网路结构,主要指通信子网的拓扑结构。
  • 分为四类:总线形、星形、环形、网状形
    • 总线形:用单根传输线把计算机连接起来
    • 星形:每个终端或计算机都以单独的线路和中央设备相连
    • 环形:所有计算机接口设备连接成一个环
    • 网状形:一般情况下,每个结点至少有两条路径与其他结点相连,多用于广域网

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第12张

(4)按使用者分类

  • 公用网(Public Network)。也称公众网。指电信公司出资建造的大型网络
  • 专用网(Private Network)。指某个部门为满足本单位特殊业务需要而建造的网络。这种网络不向本单位以外人提供服务。如铁路、典礼、军队等部门专用网络。

(5)按交换技术分类

  • 电路交换网络。在源结点和目的结点之间建立起一条专用的通路用于传输数据,包括建立连接(占用通信资源)传输数据(一直占用通信资源)断开连接(释放通信资源)三个阶段。最典型的电路交换网是传统电话网络。该类网络的特点是整个报文的比特流连续的从源点直达终点,好像在一条管道中传送。
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第13张
  • 报文交换网络。也称存储-转发网络。用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文、这个报文传送到相邻结点,全部存储后,再转发给下一个结点,重复这一过程直到到达目的结点,每个报文可以单独选择到达目的结点的路径。
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第14张
  • 分组交换网络。也称包交换网络。其原理是将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以储存-转发方式传输。
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第15张

(6)按传输介质分类

传输介质可分为有线无线两大类

  • 有线网络可分为双绞线网络、同轴电缆网络等
  • 无线网络可分为蓝牙、微波、无线电等类型

1.6 标准化工作及其相关组织

标准化工作

标准化对计算机网络至关重要。

要实现不同厂商的硬、软件之间相互连通,必须遵从统一的标准。

标准的分类:

  • 法定标准:由权威机构制定的正式的、合法的标准(OSI)
  • 事实标准:某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准。 (TCP/IP)

RFC(Request For Comments)——因特网标准的形式

RFC要上升为因特网正式标准的四个阶段:

  • 因特网草案
  • 建议标准:从这个阶段开始成为RFC文档
  • 草案标准 (IETF、IAB)
  • 因特网标准

相关组织

  • 国际标准化组织 ISO OSI参考模型、HDLC协议
  • 国际电信联盟 ITU 制定通信规则
  • 国际电气电子工程师协会 IEEE 学术机构、IEEE802系列标准、5G
  • Internet工程任务组 IETF 负责因特网相关标准的制定

1.7 计算机网络的性能指标

性能指标从不同的方面来度量计算机网络的性能。下面介绍常用的7个性能指标。

速率

网络技术中的速率指的是数据的传送速率,它也称为数据率(data rate)或比特率(bit rate)。速率是计算机网络中最重要的一个性能指标。速率的单位是bit/s(比特每秒)。

连接在计算机网络上的主机在数字信道上传送数据位数的速率。

比特:二进制数字, 1/0 位

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第16张
需要注意的是,当提到网络的速率时,往往指的是额定速率标称速率,而并非网络实际上运行的速率。

带宽

带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)

计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的最高数据率。单位是比特每秒。

网络设备所支持的最高速度。(这是理想情况,现实中达不到)

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第17张

吞吐量

表示在单位时间内通过某个网络(或信道、接口)的实际数据量。单位b/s kb/s Mb/s等

吞吐量受网络的带宽或网络的额定速率的限制。

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第18张

时延

时延指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的总时间,它由4部分构成:发送时延、传播时延、处理时延、排队时延

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 

(1)发送时延

结点将分组的所有比特推向(传输)链路所需要的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特推向传输链路所需要的时间。也称传输时延。
 发送时延  =  分组长度(数据长度)   信道宽度(发送速率)  \text { 发送时延 }=\frac{\text { 分组长度(数据长度) }}{\text { 信道宽度(发送速率) }}  发送时延 = 信道宽度(发送速率 分组长度(数据长度
假设我们的发送速率为10b/s ,数据长度为10个bit,所以我们的发送时延为1秒。

(2)传播时延

电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一端所需要的时间
 传播时延  =  信道长度(链路长度)   电磁波在信道中的传播速率 \text { 传播时延 }=\frac{\text { 信道长度(链路长度) }}{\text { 电磁波在信道中的传播速率}}  传播时延 = 电磁波在信道中的传播速率 信道长度(链路长度
我们假设AB之间的链路长度为100米,传输数率为10m/s,则传播时延为10秒。

发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。但传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

一般在链路中,传输速率为2.0×10^8 m/s 左右

一道题目,计算发送时延和传播时延

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第19张

(3)排队时延

分组在进入路由器后要先在输入队列中排队等待处理。因为路由器可能也同时在处理其他链路传过来的数据,所以需要等待。然后终于等到路由器来处理你的数据了,路由器处理完你的数据后,会给你一个转发端口,然后你就拿着这个端口号又在输出队列中排队等待转发,因为等待转发的不止你一个啊,路由器一下会处理很多的数据,这就产生了排队时延。

(4)处理时延

数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如:分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。

时延带宽积

指发送端发送的第一个比特即将到达终点时,发送端已经发出了多少个比特。

时延带宽积 = 传播时延 × 信道带宽 

我们可以用下图的示意图来表示时延带宽积。这是一个代表链路的圆柱形管道,管道的长度是链路的传播时延(请注意,现在以时间作为单位来表示链路长度),而管道的截面积是链路的带宽。因此时延带宽积就表示这个管道的体积,表示这样的链路可容纳多少个比特。这就表明,若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了20万个比特,而这20万个比特都正在链路上向前移动。因此,链路的时延带宽积又称为以比特为单位的链路长度
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第20张

往返时延(RTT)

从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。

RTT越大,在收到确认之前,可以发送的数据越多。(一直收不到确认,就可以一直发送信息,所以就一直发一直发)

RTT包括:

  • 往返传播时延 = 传播时延 * 2
  • 末端处理时间:还包括各中间节点的处理时延、排队时延及转发数据时的发送时延

信道利用率

利用率有信道利用率网络利用率两种。

  • 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
  • 网络利用率则是全网络的信道利用率的加权平均值。

信道利用率并非越高越好。这是因为,根据排队论的理论,当采信道的利用率增大时,该信道引起的时延也就迅速增加。这和高速公路的情况有些相似。当高速公路上的车流量很大时,由于在公路上的某些地方会出现堵塞,因此行车所需的时间就会变长。

因此网络引起的时延就会增大。如果令 D 0 D_0 D0表示网络空闲时的时延, D D D表示网络当前的时延(设现在的网络利用率为 U U U),那么在适当的假定条件下,可以用下面的简单公式来表示 D D D D 0 D_0 D0以及利用率 U U U之间的关系:
D = D 0 1 − U D=\frac{D_0}{1-U} D=1UD0
这里 U U U是网络利用率,数值在0到1之间。当网络利用率达到其容量的1/2时,时延就要加倍。特别值得注意的就是:当网络利用率接近最大值1时,网络产生的时延就趋于无穷大。因此我们必须有这样的概念:信道利用率或网络利用率过高就会产生非常大的时延

1.8 计算机网络体系结构与参考模型

计算机网络的分层结构、协议、服务和接口

(1)为什么要分层?

计算机网络是个非常复杂的系统。为了说明这一点,可以设想一种最简单的情况:连接在网络上的两台计算机要互相传送文件。显然,在这两台计算机之间必须有一条传送数据的通路。但这还远远不够至少还有
以下几项工作需要去完成:

  1. 发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活”就是要发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收。
  2. 告诉网络如何识别接收数据的目的主机。
  3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
  4. 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好接收文件和存储文件的准备工作。
  5. 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能
  6. 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个节点交换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。

由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时即提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理

(2)如何分层?

分层就根据功能来划分,每个层次即是对相应功能的具体定义。

分层的基本原则:

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界面自然清晰,易于理解,相互交流尽可能少
  3. 结构上可分割开。每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性上层单向使用下层提供的服务
  5. 整个分层结构应该能促进标准化工作

分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂;但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完成的功能主要有以下一些:

  1. 差错控制:使相应层次对等方的通信更加可靠。
  2. 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
  3. 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
  4. 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  5. 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

分层当然也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生额外开销。

(3)正确认识体系结构

计算机网络的各层及其协议的集合就是网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义

需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现的问题。体系结构的英文名词architecture的原意是建筑学或建筑的设计和风格。它和一个具体的建筑物的概念很不相同。例如,我们可以走进一个明代的建筑物中,但却不能走进一个明代的建筑风格之中。同理,我们也不能把一个具体的计算机网络说成是一个抽象的网络体系结构。总之,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

(4)协议的组成

在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(例如,应当发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。网络协议也可简称为协议。

更进一步讲,网络协议主要由以下三个要素组成:

  • 语义,需要发出何种控制信息,完成何种动作以及做出何种响应,即“要做什么”;
  • 语法,数据与控制信息的结构或格式,即“要怎么做”;
  • 同步,事件实现顺序的详细说明,即“什么时候做”。

网络协议是计算机网络不可缺少的组成部分

(5)服务原语

注意:在一层内完成的全部功能并非都称之为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务

上层使用下层所提供的服务必须与下层交换一些指令,这些指令在OSI中被称为服务原语

OSI将原语划分为4类:

  • 请求(Request):由服务用户发往服务提供者,请求它完成某项工作。
  • 指示(Indication):由服务提供者发往服务用户,指示发生了某些事件。
  • 响应(Response):由服务用户发往服务提供者,对前面发生的指示的响应。
  • 证实(Confirmation):由服务提供者发往服务用户,对前面发生的请求的证实。

这4类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部4种原语,无应答服务则只有请求和指示。

(6)协议、接口、服务之间的关系

计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第21张

  1. 实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
  2. 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】
    • 语法:规定传输数据的格式 000
    • 语义:规定所要完成的功能
    • 同步:规定各种操作的顺序
  3. 接口(访问服务点SAP):上层使用下层服务的入口。
  4. 服务:下层为相邻上层提供的功能调用。【垂直】
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第22张
  • SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
  • PCI协议控制信息:控制协议操作的信息。
  • PDU协议数据单元:对等层次之间传送的数据单位。
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第23张

概念总结

  • 网络体系结构是从功能上描述计算机网络结构。
  • 计算机网络体系结构简称网络体系结构是分层结构
  • 每层遵循某个/些网络协议以完成本层功能。
  • 计算机网络体系结构是计算机网络的各层及其协议的集合。
  • 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
  • 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
  • 体系结构是抽象的,而实现是指能运行的一些软件和硬件。

OSI参考模型

计算机网络分层结构:

  • 7层OSI参考模型 (法定标准)
  • 4层TCP/IP参考模型 (事实标准)

OSI的目的:支持异构网络系统的互联互通

国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。

OSI的结构:(物联网淑慧试用
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第24张

上面四层是端到端的,下面三层是点到点的。

OSI数据传输图:
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第25张

OSI七层结构概述:

(1)应用层(Application Layer)

  • 应用层是OSI模型的最高层,是用户与网络的界面;
  • 应用层为特定类型的网络应用提供访问OSI环境的手段;
  • 因为用户的实际应用多种多样,就要求应用层采用不同的协议来解决不同应用类型的需求,互联网中的应用层协议很多,典型的协议有:文件传输协议FTP电子邮件协议SMTP域名系统DNS万维网HTTP等;
  • 应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序;
  • 应用层交互的数据单元称为报文(message)。

应用层:所有能和用户交互和产生网络流量的应用程序。

(2)表示层(Presentation Layer)

  • 主要处理两个通信系统中交换信息的表示方式(语法和语义)
  • 不同机器采用的编码和表示方法不同,使用的数据结构不同
  • 为了使不同的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构
  • 主要协议:JPEG、ASCII

表示层功能:

  • 数据格式变换(翻译官)
  • 数据加密解密
  • 数据压缩和恢复

表示层:加密 压缩 开发人员要考虑的

(3)会话层(Session Layer)

  • 会话层允许不同主机上的各个进程进行会话。
  • 会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务
  • 增值服务:向表示层实体/用户进程提供建立连接并在连接上有序传输数据。这是会话,也是建立同步。
  • 会话之间相互独立,互不影响。

会话层功能:

  • 建立、管理、终止会话
  • 使用校验点可使会话在通信失效时从校验点/同步点继续回复通信,实现数据同步。

会话层:服务端和客户端建立会话。可以查木马:netstat -nb

(4)传输层(Transport Layer)

  • 传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制差错控制服务质量数据传输管理等服务。
  • 数据链路层是点到点的通信,传输层是端到端的通信
    • 点到点:可以理解为主机到主机之间的通信,一个点指一个硬件地址或IP地址,网络中参与通信的主机通过硬件地址或IP地址标识的;
    • 端到端:指运行在不同主机内的两个进程之间的通信,一个进程由一个端口号来标识,所以称端到端通信

传输层功能: (可差也能留用??)

  • 可靠传输(大数据)、不可靠传输(小数据) (有无接收方确认信息)
  • 差错控制
  • 流量控制 (拥堵的控制)
  • 复用分用
    • 复用:多个应用层进程可同时使用下面传输层的服务
    • 分用:传输层把收到的信息分别交付给上面应用层中相应的应用

传输层:可靠传输建立会话、不可靠传输、流量控制

(5)网络层(Network Layer)

  • 因为因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层
  • 网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报
  • 主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF

网络层功能:

  • 路由选择 (最佳路径)
  • 流量控制
  • 差错控制
  • 拥塞控制

若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞。

网络层:IP地址,选择最佳路径

(6)数据链路层(Data Link Layer)

  • 主要任务是把网络层传下来的数据包组装成帧。数据链路层的传输单位是
  • 主要协议:SDLC、HDLC、PPP、STP

数据链路层功能:

  • 成帧(定义帧的开始和结束)
  • 差错控制 (帧错+位错)
  • 流量控制
  • 访问(接入)控制 控制对信道的访问

数据链路层:输入如何封装,添加物理层地址 MAC

(7)物理层(Physical Layer)

  • 主要任务是在物理媒体上实现比特流的透明传输。物理层的传输单位是比特
    • 透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
  • 主要协议:Rj45、802.3

物理层功能:

  • 定义结构特性
  • 定义传输模式(单工、半双工、双工)
  • 定义传输速率
  • 比特同步
  • 比特编码

物理层:电压,接口标准

TCP/IP参考模型

TCP/IP、OSI、五层参考模型结构图:
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第26张

TCP/IP、OSI的相同点

  • 都分层:将复杂问题分解为子问题
  • 基于独立的协议栈的概念
  • 可以实现异构网络互连:实现将不同产家生产的计算机之间的通信

TCP/IP、OSI的不同点

  • OSI定义三点:服务、协议、接口 (TCP/IP无明确划分)

  • OSI先出现,参考模型先于协议发明,不偏向特定协议

  • TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次

  • 第四点:
    计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第27张

  • 面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。

  • 而面向无连接没有这么多阶段,它直接进行数据传输。

5层参考模型 (综合了OSI和TCP/IP的优点)
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第28张

五层参考模型数据封装与解封装(数据传输)
计算机网络 体系结构_计算机知识 (https://mushiming.com/)  第29张

1.9 总结

(1)计算机网络与分布式计算机系统的主要区别是什么?

  • 分布式系统最主要的特点是,整个系统中的各个计算机对用户都是透明的。用户通过输入命令就可以运行程序,但用户并不知道是哪台计算机在为它运行程序。操作系统为用户选择一台最合适的计算机来运行其程序,并将运行的结果传送到合适的地方。
  • 计算机网络则与之不同,用户必须先登录欲运行程序的计算机,然后按照计算机的地址,将程序通过计算机网络传送到该计算机上运行,最后根据用户的命令将结果传送到指定的计算机
  • 二者的区别主要是软件的不同

(2)为什么一个网络协议必须考虑到各种不利的情况?

  • 因为网络协议如果不全面考虑不利的情况,那么当情况发生变化时,协议就会保持理想状况直等下去!就如同两位朋友在电话中约好下午3点在公园见面,并且约定不见不散。这一协议很不科学,因为任何一方如果有事耽搁而来不了,且无法通知对方,那么另一方就须一直等下去!所以判断一个计算机网络是否正确,不能只看在正常情况下是否正确,还必须非常仔细地检查协议能否应付各种异常情况。

(3)因特网使用的IP协议是无连接的,因此其传输是不可靠的。这样客易使人们感到因特网很不可靠,那么为什么当初不把因特网的传输设计为可靠的呢?

  • 传统电信网的主要用途是电话通信,并且普通电话机不是智能的,因此电信公司必须花费大的代价把电信网设计得非常好,以保证用户的通信质量 ;
  • 数据的传送显然必须非常可靠。当初在设计ARPANET时,很重要的讨论内容之一是:“谁应当负责数据传输的可靠性?”一种意见是主张应当像电信网那样,由通信网络负责数据传输的可靠性(因为电信网的发展历史及其技术水平已经证明人们可以将网络设计得相当可靠);另一种意见则坚决主张由用户的主机负责数据传输的可靠性,理由是这样可使计算机网络便宜,灵活;
  • 计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大,于是,他们采用了“端到端的可靠传输”策略,即在传输层使用面向连接的TCP协议,这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输。

(4)有人说,宽带信道相当于高速公路车道数目增多了,可以同时并行地跑更多数量的汽车,虽然汽车的时速并没有提高(相当于比特在信道上的传播速率未提高),但整个高速公路的运输能力却增多了,相当于能够传送更多数量的比特。这种比喻合适否?

  • 可以这样比喻。但一定不能误认为“提高信道的速率是设法使比特并行地传输” ;
  • 如果一定要用汽车在高速公路上行驶和比特在通信线路上传输相比较,那么可以这样来想象低速信道相当于汽车进入高速公路的时间间隔较长。例如,每隔一分钟有一辆汽车进入高速公路。“信道速率提高”相当于进入高速公路的汽车的时间间隔缩短了,例如,现在每隔6秒就有一辆汽车进入高速公路。虽然汽车在高速公路上行驶的速率无变化,但在同样的时间内,进入高速公路的汽车总数却增多了(每隔1分钟进入高速公路的汽车现在增加到10辆),因而吞吐量也就增大了;
  • 也就是说,当带宽或发送速率提高后,比特在链路上向前传播的速率并未提高,只是每秒注入链路的比特数增加了。“速率提高”就体现在单位时间内发送到链路上的比特数增多了,而并不是比特在链路上跑得更快。

(5)端到端通信和点到点通信有什么区别?

  • 从本质上说,由物理层,数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。
  • 直接相连的结点之间的通信称为点到点通信,它只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念,同时,点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
  • 端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,以完成应用程序(进程)之间的通信。“端”是指用户程序的端口,端口号标识了应用层中不同的进程。

(6)如何理解传输速率、带宽和传播速率?

  • 传输速率指主机在数字信道上发送数据的速率,也称数据率或比特率,单位是比特/秒(b/s),更常用的速率单位是千比特秒(kb/s),兆比特秒(Mb/s)、吉比特秒(Gb/s)、太比特/秒(Tb/s)。
  • 带宽(Bandwidth)在计算机网络中指数字信道所能传送的“最高数据传输速率”,常用来表示网络的通信线路传送数据的能力,其单位与传输速率的单位相同
  • 传播速率是指电磁波在信道中传播的速率,单位是米/秒(ms),更常用的单位是千米/秒(km/s)。电磁波在光纤中的传播速率约为2x108m/s
  • 在一段时间内,链路中有多少比特取决于带宽(或传输速率),而1比特“跑”了多远取决于传播速率。

(7)如何理解传输时延、发送时延和传播时延?

传输时延又称发送时延,是主机或路由器发送数据帧所需的时间,即从数据帧的第一个比特算起,到该数据帧的最后一个比特发送完毕所需要的时间。计算公式是

 发送时延  =  分组长度  (  数据长度、数据帧长度  )  信道宽度 (发送速率)  \text { 发送时延 }=\frac{\text { 分组长度 }(\text { 数据长度、数据帧长度 })}{\text { 信道宽度 (发送速率) }}  发送时延 = 信道宽度 (发送速率 分组长度 ( 数据长度、数据帧长度 )

传播时延是电磁波在信道中传播一定的距离所花费的时间。计算公式是:

 传播时延  =  信道长度(链路长度)   电磁波在信道中的传播速率 \text { 传播时延 }=\frac{\text { 信道长度(链路长度) }}{\text { 电磁波在信道中的传播速率}}  传播时延 = 电磁波在信道中的传播速率 信道长度(链路长度

THE END

发表回复