计算机网络的功能是及时(不一定实时)正确而有效地将数据从网络的一端传至另一端,保证数据经网络到达目的用户后正确无误,从语法和语义上均能为接收用户识别。在数据通信中,信号的可识别(可懂)是到至关重要的,因为它是机器与机器间的通信。在通信开始之前,有关终端用户必须一致同意并建立起特定的规程协议。随着网络规模和数量的迅猛增长,它们之间的互连变得越来越复杂,为解决这个问题,国际标准化组织(ISO)研究了许多网络方案,认识到需要建立一种可以有助于网络建设、通信和协同工作的网络模型,因此在 1984 年公布了 OSI 参考模型。
1. 网络体系结构的基础概念
网络模型使用分层来简化网络的功能。它采用了层次化结构的方法来描述复杂的网络系统,将复杂的网络问题分解成许多较小的、界限比较清晰而又简单的部分来处理。层次结构和协议的集合被称为网络体系结构。体系结构定义:描述了一组用于计算机及其通信设施之间互连的标准和规范的集合。遵循这组规范可以方便地实现计算机设备之间的通信。
1.1 协议的基本概念:
在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为协议。事实上,人与人之间的交流所使用的规则(协议)无处不在。下面以大家都熟悉的邮政通信系统为例进行说明,如图所示。
邮政通信系统实际上分为用户子系统、邮政子系统和运输部门子系统三层业务。
在用户子系统中,发信者必须遵守一定的规则书写信件的内容,比如使用中文书写,收信人则必须遵守相同中文规则阅读,否则不可能理解信件的内容。
在邮政子系统中,发送方(邮政人员)需要按照邮政业务规范进行收集信件、加盖邮戳、分拣信件,而接收方(邮政人员)同样需要按照邮局业务规范进行分拣信件和分发邮件。
运输部门之间需要按照自己的行规来选择运输路线、使用各种运输工具传送邮件包。
同时,邮政通信系统的上层给下层提出要求,并按照相邻层的约定与其下层交接,下层则为其上层提供服务。用户层中的发信者需要遵守用户与邮局间的约定,按照国内信件信封的书写标准书写信封,即收信人和发信人的地址必须按照一定的位置书写,粘贴邮票后,投递到邮箱转交其下层——邮局业务层,实现了两层之间的交接。邮局则需要按照邮局与运输部门之间的约定将信件打包,书写正确的目的地后转交其下层——运输部门。运输部门根据发送方邮局的要求将信件包运输到接收方运输部门,后者再按照邮局与运输部门之间的约定转交目的邮局。最后将信件送给收信者,完成信件的投递业务。这里不同的层次之间需要按约定交接。
与邮政通信系统类似,计算机之间能够相互通信,也必须有一套通信管理机制使得通信双方能正确地接收信息,并能理解对方所传输信息的含义。也就是说,当用户进行程序应用、文件传输等互相通信时,他们必须事先约定一种规则即协议,这与互通信件双方的中文约定相类似。
在计算机网络系统中,每个节点都必须遵守一些事先约定好的通信协议进行通信。
网络协议是由语法、语义和时序三部分组成的。
(1)语法:规定数据与控制信息的结构和格式。
(2)语义:指定通信双方需要发出何种控制信息、完成何种动作以及做出何种应答。
(3)时序:对事件实现顺序的详细说明。
由于网络协议设计的复杂性,网络的通信规则不是一个网络协议就能描述清楚的。协议的设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是采用把复杂的通信问题按一定层次,划分为许多相对独立的子功能,然后为每一个子功能设计一个单独的协议,即每层对应一个协议。因此,在计算机网络中存在多种协议,每一种协议都有其设计目标和需要解决的问题,同时,每一种协议也有其优点和使用限制。这样做的主要目的是使协议的设计、分析、实现和测试简单化。
1.2 网络的层次结构:
如同将邮政通信系统划分为通信者活动、邮局部门业务和运输部门业务三层业务一样,人们对网络同样进行了层次划分,也就是将计算机网络这个庞大的、复杂的问题划分成若干较小的、简单的问题。
通常一组功能相似或紧密相关的模块应放置在同一层;层与层之间应保持松散的耦合,使信息在层与层之间的流动减到最小。
1. 基本概念:
(1) 实体:实体是通信时能发送和接收信息的任何软硬件设施。在网络分层体系结构中,每一层都由一些实体组成。
(2) 接口:分层结构中各相邻层之间要有一个接口,它定义了低层向其相邻的高层提供的原始操作和服务。相邻层通过它们之间的接口交换信息,高层并不需要知道低层是如何实现的,仅需要知道该层通过层间的接口所提供的服务,这样使得两层之间保持了功能的独立性。
2. 层次结构的特点:
(1) 按照结构化设计方法,计算机网络将其功能划分为若干个层次,较高层次建立在较低层次的基础上,并为其更高层次提供必要的服务功能。
(2) 网络中的每一层都起到隔离作用,使得低层功能的具体实现方法的变更不会影响到高层所执行的功能。即低层对于高层而言是透明的。
3. 层次结构的优越性:
(1) 层之间相互独立。
高层并不需要知道低层是如何实现的,而仅需要知道该层通过层间的接口所提供的服务。各层都可以采用最合适的技术来实现,各层实现技术的改变不影响其他层。
(2) 灵活性好。
任何一层发生变化时,只要接口保持不变,则该层及其以下各层均不受影响。若某层提供的服务不再需要时,甚至可将这层取消。
(3) 易于实现和维护。
整个系统已被分解为若干个易于处理的部分,这种结构使得一个庞大而又复杂的系统的实现和维护变得容易控制。
(4) 有利于网络标准化。
因为每一层的功能和所提供的服务都已有了精确的说明,所以标准化变得较为容易。