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