1.计算机网络的分层模型
1.1层次划分的必要性
计算机网络是由许多硬件、软件和协议交织起来的复杂系统。由于网络设计十分复杂,如何设计、组织和实现计算机网络是一个挑战,必须要采用科学有效的方法。
1.2层次划分的方法
计算机网络应当具有相对独立的功能。
梳理功能之间的关系,使一个功能可以为实现另一个功能提供必要的服务,从而形成系统的层次结构。
为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现。
层次划分举例(图2-1邮政系统模型)
在网络的层次模型中需要解决的问题?
(1)一个网络到底应该具有哪些层次?网络中每一层的功能是什么?(功能分类与层次划分)
(2)网络中各层之间的关系是如何设计与处理的?它们之间如何进行交互?(服务与接口)
(3)通信双方的数据传输需要遵循哪些规则和约定?(协议)
(1)各层之间相互独立,每一层只实现一种相对独立的功能。使问题复杂程度降低。
(2)灵活性好。各层内部的操作不会影响其他层。
(3)结构上可分割开。各层之间都可以采用最合适的技术来实现。
(4)易于实现和维护。因为整个系统已被分解成相对独立的子系统。
(5)能促进标准化工作。因为每一层的功能及其提供的服务都有了精确的说明 。
通常每一层实现的是以下一种或多种功能
(1)差错控制:使得和网络两端的相应层次的通信更加可靠。
(2)流量控制:使得发送端的发送速率不要太快,要使接收端来得及接收。
(3)分段和重装:发送端要发送的数据块划分成更小的单位,在接收端将其还原。
(4)复用和分用:发送端几个高层会话复用一条低层连接,在接收端再将其会话分用。
(5)连接建立与释放:在交换数据之前,先交换一些控制信息,以建立一条逻辑连接,当数据传送结束时,将连接释放。
2.计算机网络体系结构的概念
2.1计算机网络体系结构的定义
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的。一个计算机网络是遵循某种网络体系结构的具体的实现,是具体的计算机和通信硬件以及应用软件和协议的实际运行的实例。
2.2计算机网络体系结构中的术语
(1)实体:表示进行信息交换时任何可发送或接收信息的硬件或软件进程。在具体实现时,可以是一个特定的软件模块或软、硬件结合的设备。可理解为信息的发送者和接收者。
(2)服务:描述为体系结构中下一层为其上一层提供支持。也就是说下一层为上一层提供需要的服务,上一层利用下一层提供的服务实现自己的功能,并同时再向更上一层提供所需要的服务。
(3)接口:指同一系统上下层之间提供服务与被服务的一种接口。任何上下层之间都存在接口。
(4)服务访问点(SAP):是上下层实体在接口上交换信息的地方,即上下层实体间的逻辑接口。上下层实体之间通过服务访问点利用服务原语进行信息交换。
原语:由若干指令组成完成某一特定功能
(5)网络协议(network protocol):即网络中的结点为进行数据交换和通信而建立的规则、标准或约定的集合,简称协议。即两个对等实体之间进行通信的规则的集合。
- 网络协议主要有以下3个要素组成:
- 语法:定义通信双方交换信息时的数据与控制信息的结构或格式。
- 语义:即语法定义的结构或格式中具体的含义,表示要发出何种控制信息、完成何种动作以及做出何种响应等。
- 时序:即事件实现顺序的详细说明,也称为定时或同步。
2.3计算机网络体系结构中的协议与服务的关系
(1)在协议的控制下,两个对等实体之间的通信可以使本层能够向上一层提供服务。协议的实现保证了下一层能够向上一层提供服务。要想实现本层的协议,还需要使用其下一层所提供的服务。
(2)使用本层的服务实体,即服务接受者只能看见下层的服务而无法看见协议。下面的协议对上面的实体用户是透明的。
(3)协议是控制对等实体之间的通信规则,是在“水平方向”的。而服务是由下层向上层通过层与层之间的接口提供的,是“垂直方向的”。
协议很复杂
协议必须将各种不利的条件事先都估计到,而不能假定一切情况都是很理想和很顺利的。
必须非常仔细地检查所设计协议能否应付所有的不利情况。
应当注意:事实上难免有极个别的不利情况在设计协议时并没有预计到。在出现这种情况时,协议就会失败。因此实际上协议往往只能应付绝大多数的不利情况。