开放系统互联参考模型(Open System Interconnection Reference Model,OSI/RM)是由国际标准化组织(International Organization for Standardization,ISO)于 1984年制定的国际标准。“开放”的含义表示只要遵循OSI标准,一个系统就可以和位于世界上任何地方也遵循同一标准的其他任何系统进行通信。ISO提出OSI参考模型的目的,就是要使在各种终端设备之间、计算机之间、网络之间、操作系统之间以及人们之间相互交换信息的过程能够逐步实现标准化。
OSI参考模型分为七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
各层的主要功能及其相应的数据单位如下:
(1)物理层(Physical Layer)
我们知道,要传递信息就要利用一些物理媒体,如双纽线、同轴电缆等,但具体的物理媒体并不在OSI的七层之内,有人把物理媒体当做第 0 层,物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性,如规定使用电缆和接头的类型,传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。
物理层的主要设备:中继器、集线器。
(2)数据链路层(Data Link Layer)
数据链路层负责在两个相邻节点间的线路上,无差错地传送以帧为单位的数据。每一帧包括一定数量的数据和一些必要的控制信息。和物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发送方重发这一帧。
数据链路层的主要设备:二层交换机、网桥。
(3)网络层(Network Layer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换节点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息—源站点和目的站点地址的网络地址。
网络层主要设备:路由器。
(4)传输层(Transport Layer)
该层的任务是根据通信子网的特性最佳地利用网络资源,并以可靠和经济的方式,为两个端系统(也就是源站和目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。在这一层,信息的传送单位是报文。
传输层的主要设备:网关。
(5)会话层(Session Layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
(6)表示层(Presentation Layer)
这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。
(7)应用层(Application Layer)
应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。
通过OSI层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机A上的应用程序要将信息发送到计算机B的应用程序,则计算机A中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机B。计算机B的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机B的应用层。最后,计算机B的应用层再将信息传送给应用程序接收端,从而完成通信过程。
OSI的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的OSI层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看做是数据。换句话说,在给定的某一OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。