计算机网络概述
计算机网络的概念及功能
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言之,计算机网络就是一些互联(通过通信链路互联互通)的、自治(无主从关系)的计算机系统的集合。
在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义,这些定义反映了当时网络技术发展的水平。这些定义可分为以下三类:
广义观点:只要是能实现远程信息处理的系统或能进一步达到资源共享的系统,都是计算机网络。广义的观点定义了一个计算机通信网络,它在物理结构上具有计算机网络的雏形,但资源共享能力弱,是计算机网络发展的低级阶段。
资源共享观点:计算机网络是“以能够相互共享资源的方式互联起来的自治计算机系统的集合"。该定义包含三层含义:
- 目的:资源共享;
- 组成单元:分布在不同地理位置的多台独立的“自治计算机”;
- 网络中的计算机必须遵循的统一规则:网络协议。
该定义符合目前计算机网络的基本特征。
用户透明性观点:存在一个能为用户自动管理资源的网络操作系统,它能够调用用户所需要的资源,而整个网络就像一个大的计算机系统一样对用户是透明的。用户使用网络就像使用一台单一的超级计算机,无须了解网络的存在、资源的位置信息。用户透明性观点的定义描述了一个分布式系统,它是网络未来发展追求的目标。
计算机网络的主要功能:
- 数据通信:最基本和最重要的功能,用来实现联网计算机之间各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。
- 资源共享:资源共享可以是软件共享、数据共享,也可以是硬件共享。它使计算机网络中的资源互通有无、分工协作,从而极大地提高硬件资源、软件资源和数据资源的利用率。
- 分布式处理:当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
- 提高可靠性:计算机网络中的各台计算机可以通过网络互为替代机。
- 负载均衡:将工作任务均衡地分配给计算机网络中的各台计算机。
因特网发展阶段:
(互联网) (因特网)。因特网是最大的互联网。 - 三级结构的因特网:校园网(企业网)、地区网、主干网
- 多层次
结构的因特网: 是因特网服务提供者,是一个向广大用户综合提供互联网接入业务、信息业务和增值业务的公司,如中国电信等。分为主干 、地区 和本地 。为了加快不同 之间通信,在 之间增加了 因特网交换点。
计算机网络的组成与分类
从不同的角度,可以将计算机网络的组成分为如下几类:
从组成部分上看,一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。
硬件主要由主机(端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机等)和通信处理机(如网卡)等组成。
软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如网络操作系统、邮件收发程序、
程序等),软件部分多属于应用层。 协议是计算机网络的核心,协议规定了网络传输数据时所遵循的规范。
从工作方式上看,计算机网络(这里主要指Internet,即因特网)可分为边缘部分和核心部分。
边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或视频)和资源共享,有
(客户/服务器)方式和 (对等连接)方式; 核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。
从功能组成上看,计算机网络由通信子网和资源子网组成。
通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。(物理层、数据链路层、网络层:集线器、交换机、路由器)
资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。(会话层、表示层、应用层)
按分布范围分类:
广域网(
):广域网的任务是提供长距离通信,运送主机所发送的数据,其覆盖范围通常是直径为几十千米到几千千米的区域,因而有时也称远程网。广域网是因特网的核心部分。连接广域网的各结点交换机的链路一般都是高速链路,具有较大的通信容量。 城域网(
):城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖区域的直径范围是 。城域网大多采用以太网技术,因此有时也常并入局域网的范围讨论。 局域网(
):局域网一般用微机或工作站通过高速线路相连,覆盖范围较小,通常是直径为几十米到几千米的区域。局域网在计算机配置的数量上没有太多的限制,少的可以只有两台,多的可达几百台。传统上,局域网使用广播技术,而广域网使用交换技术。局域网接入广域网主要是通过称为路由器的互联设备来实现的。 个人区域网(
):个人区域网是指在个人工作的地方将消费电子设备(如平板电脑、智能手机等)用无线技术连接起来的网络,也常称为无线个人区域网 ,覆盖区域的直径约为 。 若中央处理器之间的距离非常近(如仅
的数量级或甚至更小),则一般称为多处理器系统,而不称为计算机网络。
按传输技术分类:
- 广播式网络:所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会“收听”到这个分组。接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术。局域网工作在数据链路层,因此不需要网络层,因而也不存在路由选择问题。但数据链路层使用物理层的服务必须通过服务访问点实现。
- 点对点网络:每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间结点进行接收、存储和转发,直至目的结点。是否采用分组存储转发与路由选择机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络。
按拓扑结构分类:网络拓扑结构是指由网中结点(路由器、主机等)与通信线路(网线)之间的几何关系表示的网络结构,主要指通信子网的拓扑结构。
- 总线形网络:用单根传输线把计算机连接起来。总线形网络的优点是建网容易、增/减结点方便、节省线路。缺点是重负载时通信效率不高、总线任意一处对故障敏感。
- 星形网络:每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机现在一般是交换机或路由器。星形网络便于集中控制和管理,因为端用户之间的通信必须经过中央设备。缺点是成本高、中心设备对故障敏感。
- 环形网络:所有计算机接口设备连接成一个环。环形网络最典型的例子是令牌环局域网。环可以是单环,也可以是双环,环中信号是单向传输的。
- 网状网络:一般情况下,每个结点至少有两条路径与其他结点相连,多用在广域网中。其有规则型和非规则型两种。其优点是可靠性高,缺点是控制复杂、线路成本高。
按使用者分类:
- 公用网:指电信公司出资建造的大型网络。公用的意思是指所有愿意按电信公司的规定交纳费用的人都可以使用这种网络,因此也称公众网。
- 专用网:指某个部门为满足本单位特殊业务的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如铁路、电力、军队等部门的专用网。
按交换技术分类:交换技术是指各台主机之间、各通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。
电路交换网络:在源结点和目的结点之间建立一条专用的通路用于传送数据,包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网是传统电话网络。该类网络的主要特点是整个报文的比特流连续地从源点直达终点,好像是在一条管道中传送。
优点:数据直接传送、时延小。
缺点:线路利用率低、不能充分利用线路容量、不便于进行差错控制。
报文交换网络:用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后,再转发给下一个结点,重复这一过程直到到达目的结点。每个报文可以单独选择到达目的结点的路径。报文交换网络也称存储-转发网络,主要特点是整个报文先传送到相邻结点,全部存储后查找转发表,转发到下一个结点。
优点:可以较为充分地利用线路容量;可以实现不同链路之间不同数据传输速率的转换;可以实现格式转换;可以实现一对多、多对一的访问;可以实现差错控制。
缺点:增大了资源开销(如辅助信息导致处理时间和存储资源的开销);增加了缓冲时延;需要额外的控制机制来保证多个报文的顺序不乱序;缓冲区难以管理(因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小)。
分组交换网络,也称包交换网络:其原理是,将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以存储-转发方式传输。其主要特点是单个分组(它只是整个报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。
除具备报文交换网络的优点外,分组交换网络还具有自身的优点:缓冲易于管理;包的平均时延更小;网络占用的平均缓冲区更少;更易于标准化;更适合应用。现在的主流网络基本上都可视为分组交换网络。
按传输介质分类:传输介质可分为有线和无线两大类,因此网络可以分为有线网络和无线网络。有线网络又分为双绞线网络、同轴电缆网络等。无线网络又可分为蓝牙、微波、无线电等类型。
计算机网络的性能指标
速率(数据传输速率、数据率、比特率):网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据位数的速率,单位为
带宽:本来表示通信线路允许通过的信号频带范围,单位是赫兹(
吞吐量:指单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或网络额定速率的限制。
时延:指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的总时间,它由
发送时延:结点将分组的所有比特推向(传输)链路所需的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间,因此也称传输时延。计算公式为:
传播时延:电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一端所需的时间。计算公式为:
处理时延:数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。
排队时延:分组在进入路由器后要先在输入队列中排队等待处理。路由器确定转发端口后,还要在输出队列中排队等待转发,这就产生了排队时延。
做题时,排队时延和处理时延一般可忽略不计(除非题目另有说明)。另外,对于高速链路,提高的仅是数据发送速率而非比特在链路上的传播速率。提高数据的发送速率只是为了减少数据的发送时延。
时延带宽积:指发送端发送的第一个比特即将到达终点时,发送端已经发出了多少个比特,又称以比特为单位的链路长度。考虑一个代表链路的圆柱形管道,其长度表示链路的传播时延,横截面积表示链路带宽,则时延带宽积表示该管道可以容纳的比特数量。
往返时延(
信道利用率:指出某一信道有百分之多少的时间是有数据通过的。
网络利用率:信道利用率加权平均值。
计算机网络体系结构与参考模型
计算机网络分层结构
把计算机网络的各层及其协议的集合称为网络的体系结构。计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议及层间接口的集合。这些功能究竞是用何种硬件或软件完成的,是一个遵循这种体系结构的实现问题。体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。
计算机网络体系结构简称网络体系结构是分层结构。网络体系结构是从功能上描述计算机网络结构。每层遵循某个/些网络协议以完成本层功能。网络模型分层的目标是:提供标准语言、定义标准界面和增加功能之间的独立性等。
分层的基本原则如下:
- 各层之间相互独立,每层都实现一种相对独立的功能,降低大系统的复杂度。
- 各层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分割开,各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化工作。
层次越多,有些功能在不同层中难免重复出现,产生额外的开销,导致整体运行效率越低;层次越少,就会使每层的协议太复杂。
将分层后的网络从低层到高层依次称为第
对等层次之间传送的数据单位(该层的
服务数据单元(
):为完成用户所要求的功能而应传送的数据。第 层的服务数据单元记为 。 协议控制信息(
):控制协议操作的信息。第 层的协议控制信息记为 。 协议数据单元(
):对等层次之间传送的数据单位称为该层的 。第 层的协议数据单元记为 。每层的协议数据单元都有一个通俗的名称,如物理层的 称为比特,数据链路层的 称为帧,网络层的 称为分组,传输层的 称为报文段。 在各层间传输数据时,把从第
层收到的 作为第 层的 ,加上第 层的 ,就变成了第 层的 ,交给第 层后作为 发送,接收方接收时做相反的处理,因此可知三者的关系为 ,其变换过程如图1.5所示。
上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务;下一层所提供服务的实现细节对上一层透明。
两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。
计算机网络协议、接口、服务的概念
协议就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。不对等实体之间是没有协议的。网络协议也简称为协议。协议由语法、语义和同步三部分组成:
语法规定了传输数据的格式;
语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答;
同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。一个完整的协议退常应具有绒路官理(建L、狎放连接)、差错控制、数据转换等功能。
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上,同一结点相邻两层的实体通过服务访问点(
服务是指下层为紧邻的上层提供的功能调用,它是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。
上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在
请求:由服务用户发往服务提供者,请求完成某项工作。
指示:由服务提供者发往服务用户,指示用户做某件事情。
响应:由服务用户发往服务提供者,作为对指示的响应。
证实:由服务提供者发往服务用户,作为对请求的证实。
这
类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部 类原语,而无应答服务则只有请求和指示两类原语。
协议和服务的联系:协议是控制两个对等实体之间通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下一层提供的服务。
协议和服务的区分:
- 协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上面的服务用户是透明的。
- 协议是“水平的”,即协议是控制两个对等实体之间的通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。
计算机网络提供的服务可按以下三种方式分类:
面向连接服务与无连接服务:
- 在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放三个阶段。
- 在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这是一种不可靠的服务。这种服务常被描述为“尽最大努力交付”,它并不保证通信的可靠性。
可靠服务和不可靠服务:
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。
对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,如果不正确,那么用户要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。
有应答服务和无应答服务:
- 有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。所发送的应答既可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。
- 无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。
ISO/OSI参考模型
国际标准化组织(
应用层是
参考模型的最高层,是用户与网络的界面,提供用户和网络的接口。应用层为特定类型的网络应用提供访问 参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传送的 、用于电子邮件的 、用于万维网的 等。服务访问点是“用户界面”。 不需要联网使用的程序不属于应用层的范围、
表示层主要处理在两个通信系统中交换信息的表示方式(语法和语义)。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据格式变换、数据压缩和恢复、数据加密和解密也是表示层可提供的数据表示变换功能。
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(
)。 会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点使通信会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
传输层也称运输层,传输单位是报文段(
)或用户数据报( ),传输层负责主机中两个进程之间的通信,复制增加相应源和目的端口信息。为端到端连接提供流量控制、差错控制、拥塞控制、复用分用、分组排序、数据传输管理(建立、维护和拆除端到端的连接)等服务。 传输层的协议有
、 。服务访问点是“端口号”。 数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或
地址,网络中参与通信的主机是通过硬件地址或 地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信。 使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。
以上
层的通信才能称为端到端,下面 层称为点到点通信。 网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务,实现主机到主机的通信。主要功能:
- 路由选择:根据网络的情况,利用相应的路由算法计算出一条合适的路径,使这个分组可以顺利到达。
- 流量控制:协调发送速率和接受速率。
- 拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
- 差错控制:差错控制是通信两结点之间约定的特定检错规则,如奇偶校验码,接收方根据这个规则检查接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。
- 网际互联、等。
因特网是一个很大的互联网,它由大量异构网络通过路由器相互连接起来。因特网的主要网络层协议是无连接的网际协议(
)和许多路由选择协议,因此因特网的网络层也称网际层或 层。 注意,网络层中的“网络”一词并不是我们通常谈及的具体网络,而是在计算机网络体系结构中使用的专有名词。
网络层的协议有
、 、 、 、 、 和 等。设备有路由器。服务访问点是“网络地址( 地址)”。 数据链路层的传输单位是帧,任务是将网络层传来的
数据报组装成帧,将有差错的物理线路变成无差错的数据链路,保证数据正确的顺序和完整性,实现点到点的数据传输。数据链路层在分组上增加源和目的地址、控制信息。数据链路层的功能可以概括为: - 成帧:将网络层传来的
数据报组装成帧。 - 差错控制:由于外界噪声的干扰,原始的物理连接在传输比特流时可能发生错误。两个结点之间如果规定了数据链路层协议,那么可以检测出这些差错,然后把收到的错误信息丢弃。
- 流量控制:在两个相邻结点之间传送数据时,由于两个结点性能的不同,可能结点
发送数据的速率会比结点 接收数据的速率快,如果不加控制,那么结点 就会丢弃很多来不及接收的正确数据,造成传输线路效率的下降。流量控制可以协调两个结点的速率,使结点 发送数据的速率刚好是结点 可以接收的速率。 - 访问/接入控制:广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的一个特殊的子层:介质访问子层,就是专门处理这个问题的。
- 传输管理:链路连接的建立、拆除、分离;帧界定和帧同步。
- 物理寻址、数据重发等。
典型的数据链路层协议有
、 、 、 和帧中继等。设备有以太网交换机。服务访问点是“网卡地址( 地址)”。 - 成帧:将网络层传来的
物理层的传输单位是比特,任务是在物理媒体上为数据端设备透明传输(指不管所传数据是什么样的比特组合,都应当能够在链路上传送)原始比特流。物理层的功能有定义接口特性、定义传输模式、定义传输速率、比特同步、比特编码。
物理层主要定义数据终端设备(
)和数据通信设备( )的物理与逻辑连接方法,所以物理层协议(物理层规程)也称物理层接口标准。服务访问点是“网卡接口”。 物理层接口标准很多,如
、 、 的 等。设备有集线器。主要协议: 传输信息所利用的一些物理媒体,如双绞线、光缆、无线信道等,并不在物理层协议之内而在物理层协议下面。因此,有人把物理媒体当作第
层。
TCP/IP模型
网络接口层的功能类似于
网际层(主机—主机)是
传输层(应用—应用或进程—进程)的功能同样和
- 传输控制协议(
):它是面向连接的,数据传输的单位是报文段,能够提供可靠的交付。 - 用户数据报协议(
):它是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
应用层(用户—用户)包含所有的高层协议,如虚拟终端协议(
网络层/网际层 | 无连接+面向连接 | 无连接 |
传输层 | 面向连接 | 无连接+面向连接 |
五层参考模型
五层参考模型综合了
- 应用层:支持各种网络应用,协议有
- 传输层:进程-进程的数据传输,协议有
- 网络层:源主机到目的主机的数据分组路由与转发,协议有
- 数据链路层:把网络层传下来的数据报组装成帧,协议有
- 物理层:比特传输