什么是网络体系结构(新手必看)
把不同厂家的软硬件系统、不同的通信网络及各种外部辅助设备连接起来,构成网络系统,实现高速可靠的信息共享,是计算机网络发展面临的主要难题。
为了解决这个难题,人们必须为网络系统定义一个让不同计算机、不同的通信系统和不同的应用能够互联和互操作的开放式网络体系结构。
互联意味着不同的计算机能够通过通信子网互相连接起来进行数据通信;互操作意味着不同的用户能够在联网的计算机上,用相同的命令和相同的操作使用其他计算机中的资源与信息,如同使用本地计算机系统中的资源和信息一样。因此,计算机网络的体系结构应该为不同的计算机之间互联和互操作提供相应的规范和标准。
网络体系结构是指整个网络系统的逻辑组成和功能分配,定义和描述一组用于计算机及其通信设施之间互联的标准和规范的集合。研究网络体系结构的目的在于定义计算机网络各个组成部分的功能,以便在统一的原则指导下进行网络的设计、使用和发展。
计算机网络层次结构包含两个方面的含义,即结构的层次性和层次的结构性。层次的划分依据“层内功能内聚,层间耦合松散”的原则,也就是说,在网络中,功能相似或紧密相关的项目应放置在同一层;层与层之间应保持松散的耦合,使层与层之间的信息流动最小。
层次结构将计算机网络划分成有明确定义的层次,并规定了相同层次的进程通信协议及相邻层次之间的接口及服务。通常将网络的层次结构、相同层次的通信协议集和相邻层的接口及服务,统称为计算机网络体系结构。
因此,层次结构主要包括3项内容:分层和每层功能、服务与层间接口以及各层协议。
层次结构一般以垂直分层模型来表示,如下图所示:

图 1 网络体系的层次结构模型
其相应特点如下:

图 2 网络体系结构中的协议、层、服务与接口
为了解决这个难题,人们必须为网络系统定义一个让不同计算机、不同的通信系统和不同的应用能够互联和互操作的开放式网络体系结构。
互联意味着不同的计算机能够通过通信子网互相连接起来进行数据通信;互操作意味着不同的用户能够在联网的计算机上,用相同的命令和相同的操作使用其他计算机中的资源与信息,如同使用本地计算机系统中的资源和信息一样。因此,计算机网络的体系结构应该为不同的计算机之间互联和互操作提供相应的规范和标准。
网络体系结构是指整个网络系统的逻辑组成和功能分配,定义和描述一组用于计算机及其通信设施之间互联的标准和规范的集合。研究网络体系结构的目的在于定义计算机网络各个组成部分的功能,以便在统一的原则指导下进行网络的设计、使用和发展。
层次结构的概念
对计算机网络进行层次划分就是将计算机网络这个庞大的、复杂的对象划分成若干较小的、简单的对象。通常把一组相近的功能放在一起,形成网络的一个结构层次。计算机网络层次结构包含两个方面的含义,即结构的层次性和层次的结构性。层次的划分依据“层内功能内聚,层间耦合松散”的原则,也就是说,在网络中,功能相似或紧密相关的项目应放置在同一层;层与层之间应保持松散的耦合,使层与层之间的信息流动最小。
层次结构将计算机网络划分成有明确定义的层次,并规定了相同层次的进程通信协议及相邻层次之间的接口及服务。通常将网络的层次结构、相同层次的通信协议集和相邻层的接口及服务,统称为计算机网络体系结构。
层次结构的主要内容
在划分层次结构时,首先需要考虑以下问题:- 网络应该具有哪些层次?每一个层次的功能是什么?(分层与功能);
- 各层之间的关系是怎样的?它们如何进行交互?(服务与接口);
- 通信双方的数据传输需要遵循哪些规则?(协议)。
因此,层次结构主要包括3项内容:分层和每层功能、服务与层间接口以及各层协议。
层次结构划分原则
在划分层次结构时,需要遵循如下原则:- 以网络功能作为划分层次的基础,每层的功能必须明确,层与层之间相互独立。当某一层的具体实现方法更新时,只要保持上下层的接口不变,便不会对邻层产生影响;
- 层间接口必须清晰,跨越接口的信息量应尽可能少;
- 层数应适中,若层数太少,则会造成每一层的协议太复杂;若层数太多,则会造成体系结构过于复杂,使描述和实现各层功能变得困难;
- 第 n 层的实体在实现自身定义的功能时,只能使用第(n−1)层提供的服务。第 n 层在向第(n+1)层提供服务时,此服务不仅要包含第 n 层本身的功能,还要包含下层服务提供的功能;
- 层与层之间仅在相邻层间有接口,每一层所提供服务的具体实现细节对上一层完全屏蔽。
划分层次结构的优越性
我们知道,计算机网络是一个复杂的综合性技术系统,因此,引入协议分层模型是必需的。采用层次结构有很多优势,主要有如下几个方面:- 把网络操作分成复杂性较低的单元,结构清晰,灵活性好,易于实现和维护。如果把网络协议作为整体处理,那么对任何方面的改进都必须要对整体进行修改,这与网络的迅速发展是极不协调的。通过采用分层体系结构,整个系统被分解为若干个易于处理的部分,从而使系统的实现与维护变得容易控制。当任何一层发生变化时,只要保持层间接口不变,层内实现方法可任意改变,其他各层不会受到影响。此外,当某一层提供的服务不再被其他层需要时,可以直接取消该层,进一步简化系统;
- 层与层之间定义了具有兼容性的标准接口,使设计人员能够专心设计和开发其所关心的功能项目;
- 每一层都具有很强的独立性。上层不需要知道下层是采用何种技术实现的,而只需要知道下层通过接口能提供哪些服务,且不需要了解下层的具体内容,这个方法类似于“暗箱操作”。每一层都有一个清晰、明确的任务,以实现相对独立的功能,因而可以将复杂的系统问题分解为一层一层的小问题,当属于每一层的小问题都解决了的时候,整个系统的问题也就接近于完全解决了;
- 一个区域的网络的变化不会影响到另外一个区域的网络,因此每个区域的网络可以单独升级或改造;
- 有利于促进标准化。这主要是因为每一层的协议已经对该层的功能与所提供的服务做了明确的说明;
- 降低关联性。某一层协议的增减或更新,都不影响其他层协议的运行,实现了各层协议的独立性。
网络体系的分层结构
网络体系都是按层的方式来组织的,每一层都能完成一组特定的、有明确含义的功能,每一层的目的都是向上一层提供一定的服务,而上一层不需要知道下一层是如何实现服务的。层次结构一般以垂直分层模型来表示,如下图所示:

图 1 网络体系的层次结构模型
其相应特点如下:
- 在物理介质上进行的是实通信,其余各对等实体间进行的都是虚通信。
- 对等层的虚通信必须遵循该层的协议。
- n 层的虚通信是通过 n 层和(n−1)层间接口处(n−1)层提供的服务及(n−1)层的通信(通常也是虚通信)来实现的。n 层既是(n−1)层的用户,又是(n+1)层的服务提供者。(n+1)层虽然只直接使用了 n 层提供的服务,但是实际上它通过 n 层间接地使用了(n−1)层及以下各层的服务,如下图所示。

图 2 网络体系结构中的协议、层、服务与接口