1.3 OSI参考模型

自20世纪60年代计算机网络技术应用以来,国际上各大厂商为了在网络领域占据主导地位,纷纷推出各自网络架构体系和标准,例如,IBM公司SNA、Novell公司IPX/SPX、Apple公司AppleTalk、DEC公司DECnet以及阿帕网中的TCP/IP标准。由于多种体系标准并存,结构和语义都不相同,造成厂商之间设备大部分不能兼容,影响了互联互通。

1.3.1 OSI参考模型概述

为了解决不同类型的网络设备之间互联互通问题,国际标准化组织ISO于1984年提出了开放系统互连参考模型(Open System Interconnection Reference Model,OSI RM)。

OSI RM 采用分层结构模型,描述了网络设备之间的通信协议、服务和接口标准,要求不同厂商必须遵循这一网络体系结构,否则就无法实现互联互通。

OSI模型在规划过程中,遵循以下原则,将整个网络通信功能划分为如下几个层次。

① 网络中各节点,都有相同层次。

② 不同节点同等层,具有相同功能。

③ 同一节点内相邻层之间,通过接口通信。

④ 每一层使用下层提供的服务,并向其上层提供服务。

⑤ 不同节点的同等层,按照协议实现对等层之间的通信。

1.3.2 OSI七层参考模型

数据在各层之间的传递

OSI参考模型共分为7层结构,分别是:第一层,物理层(Physical layer);第二层,数据链路层(Data link layer);第三层,网络层(Network layer);第四层,传输层(Transport layer);第五层,会话层(Session layer);第六层,表示层(Presentation layer);第七层,应用层(Application layer)。其中:

3层(物理层、数据链路层、网络层):通常被称作面向数据传输的通信层,负责有关通信子网的工作,解决网络中的通信问题,是网络工程师所研究的对象。

3层(会话层、表示层和应用层):为面向用户应用控制层,负责有关资源子网的工作,是用户所面向用户关心的内容层。

传输层是通信子网和资源子网的接口,起到连接传输和通信质量控制作用,如图1-12所示。

层与层之间的联系,通过各层之间的接口来进行:上层通过接口向下层提供服务请求,而下层通过接口向上层提供服务。

两台终端计算机通过网络通信时,除了物理层传输媒体连接之外,其余各对等层之间,均不存在直接通信关系,而是通过各对等层协议进行通信。只有两个物理层之间才通过传输媒体连接,进行真正物理通信。如图1-13所示,设备A将一个报文发送到设备 B,通过各层之间协议和接口通信,中间节点作为转发设备。

图1-12 OSI七层参考模型

模型中每一层都依赖上层和下层关系,实现网络信息交互。数据在每一层通信前,该层都附加上属于这一层的控制信息(封装),以便上一层或下一层知道如何处理这些数据。

信息在七层中流动过程为:数据在发送端从上到下逐层加上各层控制信息,构成比特流发送到物理信道;然后再经过网络传输到接收端的物理层,从下到上逐层去掉相应层的控制信息,数据最终传送到应用层进程。

由于通信信道具有双向性,因此数据流向也是双向的。如图1-14所示,设备A将数据发送给设备B,必须先通过设备A各层封装处理数据;到了设备B后,再经过各层解封装。

在接收计算机上,报文要逐层被解封装,读出针对该层的控制信息。依次类推到最顶层,数据已经不带有任何控制信息,交给应用程序直接处理。

图1-13 分层模型中数据通信

图1-14 数据的封装与解封装

1.3.3 OSI/RM各层功能概述

1.物理层

中继器工作原理

物理层(Physical Layer)以及物理接口标准是OSI模型最底层,是整个开放系统的基础。物理层为设备之间数据通信提供传输媒体,为数据传输提供标准化的物理连接。

物理层规定了网络设备之间的接口标准,包括接口机械特性、电气特性、功能特性、规程特性,以及激活、维护和关闭这条物理链路的各项操作。

物理层数据交换单元为二进制比特:对数据链路层数据发送来的数据进行调制或编码,转换为传输信号(模拟、数字或光信号)。

物理层中的典型设备中继器(Repeater)是连接网络线路的一种装置,对信号起中继放大作用,按位传递信息,完成信号复制、调整和放大功能,延长网络长度。

集线器(HUB)也是物理层的典型设备,集线器将多台设备以星型拓扑连接,把信号整形、放大后发送到所有节点上,如图1-15所示。

2.数据链路层

数据链路层(Data Link Layer)在相邻节点之间建立链路,对物理传输过程进行检错和纠错,向网络层提供无差错传输。

数据链路层负责数据链路建立、维持和拆除,并在两台相邻设备上,将网络层上封装完成的数据(包)组成帧在物理通道传送。

在物理媒体上传输数据难免受到影响而产生差错,为了弥补物理层的不足,为上层提供无差错的数据传输,数据链路层就要对数据进行检错和纠错。

其中,数据帧是数据链路层的信息传输单位,数据链路层通过将数据封装成帧,以帧为单位进行传输,实现上述功能。

网桥(Bridge)和交换机(Switch)是数据链路层典型设备。

网桥在一个局域网与另一个局域网之间建立连接的桥梁,能有选择地将数据帧信号从一个局域网传输到另一个局域网。交换机则由网桥发展而来,与网桥一样按每一个帧中MAC地址转发信息,但它能为网络中提供更高的带宽,如图1-16所示。

图1-15 物理层的集线器设备

图1-16 数据链路层的以太网交换机

3.网络层

网络层(Network Layer)又称为通信子网层,是通信网络最高层,能在数据链路层提供服务基础上,向资源子网提供服务。网络层实现位于不同网络节点之间的数据包传输,而数据链路层只负责同一个网络中相邻两节点之间的数据帧传输。

网络层将传输层发送来的数据封装成包,再进行路由选择、差错控制、流量控制及顺序检测等处理,以保证上层发送的数据能够正确、无误地按照目标地址,传送到目的站。

网络层的核心功能是封装数据包,当有多条路径存在时,还要负责路由选择(寻径)。

网络层的典型设备是路由器,其工作方法是依据学习到的路由表,把数据包转发到不同网络之间,如图1-17所示。在网络层中交换的数据单元称为数据包(packet)。

图1-17 网络层的路由器

4.传输层

传输层(Transport Layer)实现两个会话实体(又称端对端)之间的透明数据传送,并进行差错恢复、流量控制等。传输层是网络通信中资源子网和通信子网接口,完成资源子网中两节点之间逻辑通信,实现独立于网络通信过程中端与端的报文交换,为二端节点之间的连接提供服务。

传输层下面3层属于通信子网层,完成有关通信处理。传输层上面3层是资源子网层,完成面向数据处理的功能,为用户提供与网络之间的接口。由此可见,传输层介于低3层通信子网系统和高3层资源子网之间,在OSI/RM中起到承上启下的作用,是整个网络体系结构的关键层。

各种通信子网在性能上,存在着很大差异,传输层需要提供对上层提供透明(不依赖于具体网络)可靠的数据传输,包括:流控、多路技术、虚电路管理和纠错及恢复等。

传输层是一个真正端到端通信层,其所有处理都按照从源端到目的端来进行,数据在传输层传送的基本单位是报文。

5.会话层

会话层(Session Layer)的功能是提供一个面向用户的连接服务,使应用程序在网络中能建立和维持会话,并为会话活动提供有效的组织和同步,为数据传送提供控制和管理。

会话层同样要满足应用进程服务要求,在传输层不能完成那部分工作,则由会话层加以弥补。会话层的主要功能包括为会话实体间建立连接、数据传输和连接释放。

6.表示层

表示层(Presentation Layer)的功能是对上层数据信息进行转换,以保证一台终端主机上应用层产生的信息,可以被另一台主机的应用程序接收理解。

在表示层以下的各层最关注的是如何传递数据,而表示层关注的是所传递的信息应该如何表示。不同计算机可能会使用不同的数据表示方法,为了让计算机之间能够互相通信,它们交换的数据结构必须以一种更加标准的方式来定义。

表示层的数据转换包括数据的加密、压缩、格式转换等。

7.应用层

应用层(Application Layer)是计算机网络与最终用户间的接口,是用户利用网络资源向应用程序直接提供服务的层,为操作系统或网络应用程序提供访问网络服务的接口。

应用层包含各种协议,这些协议直接针对用户需要,如 HTTP(Hyper Text Transfer Protocol,超文本传输协议)是WWW(World Wide Web,万维网)的基础传输协议。当浏览器需要一个Web页面时,它利用HTTP将所要请求内容发送给服务器,然后服务器将请求的内容发回给浏览器。

OSI模型数据传输

其他还有一些应用层协议,包括用于文件传输(File Transfer Protocol,FTP)、电子邮件SMTP\POP3等。

OSI 七层模型以完整的理论分析了网络通信过程中数据传输的每一时段,每一步的状态,为理解计算机网络奠定了理论基础。OSI模型各层功能及数据形态如图1-18所示。

图1-18 OSI模型各层基本功能速览