第四节 计算机网络的体系结构与协议
1.4.1分层次的体系结构
1.4.1.1网络的总功能及功能分层

网络的总功能:
信号的传送与接收;
差错控制;
链接管理;
数据流控制;
路径选择;
顺序控制;
对话控制;
信息表示处理;
应用服务。

计算机网络系统的设计采用结构化功能分层的设计
方法,把上述总功能分解为多个子功能,通常是把这一系统划分为若干层,层与层之间通过接口连接,每层完成部分确定功能,所有各层子功能的集合实现总功能。
1.4.1.2体系结构与协议
计算机网络通信的特点
计算机之间的通信是在不同系统上的实体之间进行的;
在具有功能层次的两个不同系统上进行的通信是在对等层之间进行的。
协议: 为了能在两个实体之间正确地进行通信,通信双方必须遵守共同一致的规则和约定(如通信过程的同步方式、差错处理方式、数据格式、编码方式等等),否则通信就将成为不可能或毫无意义,这些规则的集合就称为协议。
协议的三要素:
1.语义(Sematics):包括用于协调和差错处理的控制信息,即“通信什么”;
2.语法(Syntax):包括数据格式、编码及信号电平等,即“如何通信”;
3.定时(Timing):包括速度匹配和排序,即确定通信的"顺序”或“状态变化”。
体系结构:计算机网络系统中所有功能层次和对等层通信的协议以及相邻层接口的集合。
1.4.1.3虚拟通信与实际信息流向
虚拟通信:数据不能从一个机器上的第n层直接传输到另一个机器上的第n层,而是沿纵向通过发生在相邻层之间的接口进行的。
虚拟通信的三点归纳:
除了在物理介质上进行的是实通信外,其余对等层实体间进行的都是虚通信;
对等层的虚通信必须遵循该层的协议;
n层的虚通信是通过(n-l)/n层间接口处(n-l)层提供的服务以及(n-1)层的通信(通常也是虚通信)来实现的。

1.4.1.4各层设计中要解决的问题
建立连接:通信前要在两个通信实体(进程)之间建立一个连接;
拆除连接:两个通信实体(进程)通信结束后要拆除廉洁、释放资源;
确定数据传输方式:如单工、半双工、全双工,异步通信、同步通信等;
差错控制:物理传输不可靠,要能够及时发现错误,然后纠正错误或要求重发,并对已正确接收的信息予以确认;
数据流量控制:采取措施对收发双方的数据传输速度进行控制,解决速度匹配问题;
路径选择:在广域网中的源、目的节点之间的多条路经中选择一条最合适的;
多路复用:为避免信道浪费,使多对数据传输共用一条传输线路;
信息的拆装:每层不能处理任意长度的信息,适当的拆装信息以满足信息传输格式。
1.4.2 ISO的OSI/RM
1.4.2.1 OSI的由来

在70年代,比较著名的网络体系结构有:①1974年9月IBM公司首先发表的“系统网络体系结构SNA(System Network Architecture)” ;②1975年 DEC公司发表的 DNA(Digital Network Architecture);③其它的还有HP公司的DSN(Distributed System Network),Sperry Univac公司的 DDA,Borroughs公司的 DNS和Honeywell公司的DSA以及日本富士通公司的FNA等。这些种类繁多的网络体系结构,由于通信过程中各自所定义的层数、每层所采用的协议常常不一样,造成彼此之间不兼容,这些系统常被称为“封闭”系统。
1978年,国际标准化组织ISO(International Standard Organization)的技术委员会TC97建立了一个分委员会SC16专门研究“开放系统互联OSI(Open System Interconnection)”,并于1983年春季,使“开放系统互联基本参考模型” OSI/RM成为正式的国际标准(ISO7498)。
开放系统互联参考模型(OSI Reference Model:简称OSI/RM)
“开放” 是强调对OSI标准的遵从。
“系统(实系统)”表示在现实世界中能够进行信息处理或信息传送的自治整体,它可以是一台或多台计算机,以及和这些计算机相关的软件、外部设备、终端、信息传输手段等的集合。
开放实系统(real Open system)是通信时遵守OSI标准的实系统。
开放系统是开放实系统中的与OSI有关的各部分,抽象的东西。
OSI参考模型的目的:是为协调系统互联标准的开发提供一个共同基础,是对现有计算机网络体系结构在博采众长基础上,反映系统互联技术未来发展的产物。
具有如下特性:
这是一种将异构系统互联的分层结构;
它提供了控制互联系统交互规则的标准骨架;
它定义了一种抽象的功能性结构,并非具体实现描述和协议细节的精确定义。
1.4.2.2 OSI/RM的体系结构
分层原则
①根据功能需要进行分层,每层应当实现定义明确的功能;
②每一层功能的选择应当有助于制定国际标准化协议;
③层次界面的选择应尽量减少跨过接口的信息量;
④层次功能的定义和接口的划分应使得各层彼此独立,从而在接口保持不变的条件下,某一层的改变不会影响其它层;
⑤层次的数量应适当,过少会使过多功能集中在同一层,使协议变得复杂;但过多又会使整个网络体系结构过于庞大,通信处理速度下降。
一般网络系统的层次都在6~7层左右。

各层主要功能如下:

层 次
单位
功 能
应用层
报文
为用户进程提供访问OSI环境的手段,负责应用管理、用户信息的语义表示和执行应用程序等。
表示层
报文
处理两个应用实体AE之间进行数据交换的语法变换。
会话层
报文
为表示/应用实体组织合作和同步它们间的对话,以及为管理它们间的数据交换提供必要的手段。
传输层
报文
端–端的连接管理,顺序、流量和差错控制,多路复用与分流,以实现端–端的可靠、透明数据传输。
网络层
分组
路由选择、拥塞控制。
数链层
相邻节点间的链路管理、数据的封装与拆装、帧同步、差错控制和流量控制。
物理层
比特
为在传输介质上建立、维持和终止传输数据比特流的物理连接定义机械、电气、功能和过程四个接口特性。

1.4.3 OSI/RM中的几个重要概念
1.4.3.1(N)层与(N)实体

 开放系统  子系统
 对等层   对等实体
 (N)层    (N)实体
1.4.3.2(N)服务与(N)协议
(N)服务:(N)实体向(N+l)实体提供它们间进行通信的能力称为(N)服务。
服务提供者(N)协议:在执行(N)功能时,确定同等实体通信行为的一组规则(即语义)和格式(即语法)称为(N)协议。
上下层间是服务关系,对等层间是协议关系。
1.4.3.3(N)服务访问点与(N)服务连接端点
(N)服务访问点SAP是(N)实体给(N+1)实体提供服务的地点,是(N)实体和(N+l)实体之间的静态逻辑接口,即一个传送通道,本质上说,(N)SAP是存在于(N)层和(N+l)层边界上的一个逻辑队列。
(N)连接端点CEP是SAP的动态反映,一个(N)SAP中可能有多个
(N)连接端点存在,彼此之间用标识符(即在SAP加后缀)来区分的。
一个(N)SAP一次只能连接一个(N)实体和(N+1)实体。
一个(N)实体可同时通过多个(N)SAP与多个(N+1)实体相连。 ————复用
一个(N+1)实体可同时通过多个(N)SAP与多个(N)实体相连。 ————分流

1.4.3.4 服务原语(PRIMITIVE)
服务是通过一组服务原语来执行的。
OSI模型中,将服务原语分为四类:
请求(REQUEST):由服务用户发往服务提供者,请求它完成某项工作。
指示(INDICATION):由服务提供者发往服务用户,指示发生了某些事件。
响应(RESPONSE):由服务用户发往服务提供者, 对前面发生的指示的响应。
证实(CONFIRMATION):由服务提供者发往服务用户,对前面发生的请求的证实。
例:
(单击各阶段标题显示动画过程)
建立连接(有证实)
数据传输(无证实)
拆除连接(无证实)
服务分类:
有证实、无证实

1.4.3.5 数据单元
在OSI环境中,对等实体间按协议进行通信,相邻层实体间靠服务进行通信,这些通信是通过传送三种数据单元 DU(Data Unit)实现的。
(N)服务数据单元:为实现(N)服务所要传送的逻辑数据单元,简写为(N)SDU(Service DU)。
(N)协议数据单元:在不同站点的各层对等实体之间为实现该层协议所交换的信息单元,简写为(N)PDU(Protocol DU)。

由两部分组成:
(N)用户数据:(N)实体之间为(N+l)实体提供(N)服务而传送的数据,记为 (N)UD(User Data) 。
(N)协议控制信息:为协调(N)实体之间的联合操作,在(N)实体之间能够保证按该层协议指定的规则进行通信的控制信息,记为(N)PCI(Protocol Control Information)。
使用(N-l)服务必须传送(N-1)SDU,因此将(N)PDU变换为(N-1)SDU是发送端的功能;而在接收端必须把(N-l)SDU变换为(N)PDU。
(N)UD和(N)SDU的关系
一个(N)UD可以一次传送给(N)实体,此时(N)UD与(N)SDU是一对一关系;
一个(N)DU也可以是多次经接口传送给(N)实体,此时(N)UD与(N)SDU是一对多的关系。
(N)PDU和(N)SDU的关系
(N)PDU与(N-l)SDU之间的变换可以是一对一的,也可以是多对一或一对多的,这就是所谓的“分段/合段、组块/分块、拼接/ 分割”。

③(N)接口数据单元:在同一系统的相邻两层实体的交换信息中,经过层间接口的信息单元,简写为(N)IDU(Interface DU) 。
由两部分组成:
(N)接口数据:(N+1)实体传送给(N)实体的数据,或在另一端从(N)实体向(N+1)实体传送的数据,记为(N)ID(Interface data)。
(N)接口控制信息:为了协调(N+l)实 体和连接的(N)实体间的联合操作而附加的控制信息称为接口控制信息,
记为(N)ICI(Interface Control Information)。
(N)IDU和(N)SDU的关系一个(N)IDU可以是一个(N)SDU,也可以是部分(N)SDU,即一个(N)SDU可以是一个(N)IDU和多个(N)IDU;也就是说,(N+1)实体和(N)实体之间交换(N)SDU,是通过一次或多次交互传送(N)IDU实现的。
多次交互传送过程如下图所示。

上述三种重要的数据单元的关系,可以用下二式简单地表达:

SDU、IDU和PDU以及控制信息之间的关系

1.4.3.6 两种服务
1.面向连接服务:在数据交换前,必须先建立连接,数据交换过程中要维持连接,当数据交换结束后,应终止这个连接。
优点:是可靠的报文序列服务、接收按顺序。
缺点:线路利用率不高,对于很短的零星报文额外开销较大。
适合:在一定期间内要向同一目的地发送许多报文的情况。
典型模式:电话系统。
2.无连接服务:两个实体之间通信前,不需要先建立一个连接,其下层的有关资源不需要事先进行预定保留。
优点:灵活方便、较为迅速。
缺点:不能防止报文的丢失、重复和失序 、每个报文都必须提供完全的目的站地址开销较大。
适合:传送少量零星的报文。
典型模式:邮政系统 。
1.4.4 TCP/IP体系结构
TCP/IP的体系结构是个四层模型。
应用层——提供了若干应用程序供用户调用,应用程序利用传输层服务发送或接收数据。
传输层——提供可靠的端到端的通信,保证传输可靠、不乱序,进行流控。
网络互联层——把TCP交来的报文分组封装成IP数据报,加上IP报头,并使 用路由算法确定将此数据报直接送交到主机或发给下一个网关,然后将数据报交给网络接口层发送出去。
网络接口层——负责接收由IP来的数据报,并将其送到指定网络上,该层直接面向不同的通信子网。