OSI的7层从上到下分别是:7应用层;6表示层;5会话层;4传输层;3网络层;2数据链路层;1物理层.
在在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构的概念,它们之间互不相容。为此,国际标准化组织(ISO)在1979年建立了一个分委员会来专门研究一种用于开放系统互连的体系结构(Open Systems Interconnection)简称OSI,"开放"这个词表示:只要遵循OSI标准,一个系统可以和位于世界上任何地方的、也遵循OSI标准的其他任何系统进行连接。这个分委员提出了开放系统互联,即OSI参考模型,它定义了连接异种计算机的标准框架。
OSI参考模型分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
物理层(Physical Layer)
我们知道,要传递信息就要利用一些物理媒体,如双纽线、同轴电缆等,但具体的物理媒体并不在OSI的7层之内,有人把物理媒体当作第0层,物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型,传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。
数据链路层(Data Link Layer)
数据链路层负责在两个相邻结点间的线路上,无差错的传送以帧为单位的数据。每一帧包括一定数量的数据和一些必要的控制信息。和物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发方重发这一帧。
网络层(Network Layer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息--源站点和目的站点地址的网络地址。
传输层(Transport Layer)
该层的任务时根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式,为两个端系统(也就是源站和目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。在这一层,信息的传送单位是报文。
会话层(Session Layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
表示层(Presentation Layer)
这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。
应用层(Application Layer)
应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用
上面简单的说明了7层体系的OSI参考模型,为了方便起见,我们常常把上面的7个层次分为低层与高层。低层为1~4层,是面向通信的,高层为5~7层,是面向信息处理的。
开放系统互连是使世界范围内的应用进程能开放式(而不是封闭式)的进行信息交换。目前形成的开放系统互连基本参考模型的正式文件是ISO7498国际标准,又记为OSI/RM,笼统的称为OSI,我国的相应标准是GB9387。
为了更好的理解OSI参考模型以及日后更深入的学习OSI的各个层次,我们将先对一些容易混淆的概念进行阐述,然后对ISO7498中最重要的基本概念进行阐述。
首先,在上面我们已经说起过体系结构的问题,并且已经知道体系结构是抽象的,而实现是具体的。在一般情况下,"系统"是指实际运作的一组物体或物件,而在"OSI系统"这种说法中,"系统"具有其特殊含义(即参考模型),为了区别起见,我们用"实系统"表示在现实世界中能够进行信息处理或信息传递的自治整体,它可以是一台或多台计算机以及这些计算机相关的外部设备、终端、操作员、信息传输手段的集合。若这种实系统和在和其他实系统通信时遵守OSI标准,则这个实系统就叫做开放实系统。但是,一个开放实系统的各种功能都不一定和互连有关,而我们以后要讨论的开放系统互连参考模型中的系统,只是在开放实系统中和互连有关的部分,我们把这部分系统称为开放系统。
现在我们就来看看ISO7498中最重要的基本概念吧。
在OSI标准的制定过程中,所采用的方法是将整个庞大而复杂的问题划分为若干个较容易处理的范围较小的问题,在OSI中,问题的处理采用了自上而下逐步求精的方法。先丛最高一级的抽象开始,这一级的约束很少,然后逐渐更加精细的进行描述,同时加上越来越多的约束,在OSI中,采用了三级抽象,这三级抽象分别是:体系结构、服务定义和协议规范,规范也称规格说明。OSI体系结构也就是OSI参考模型,它是OSI所制定的标准中最高一级的抽象。用比较形式化的语言来讲,体系结构相当于对象或客体的类型,而具体的网络则相当于对象的一个实例。OSI参考模型正是描述了一个开放系统所要用到的对象的类型,它们之间的关系以及这些对象类型与这些关系之间的一些普遍的约束。
比OSI参考模型更低一级的抽象是OSI的服务定义。服务定义较详细的定义了各层所提供的服务。某一层的服务就是该层及其一些各层的一种能力,它通过接口提供给更高的一层,各层所提供的服务与这些服务是怎样实现的无关。此外,各种服务还定义了层与层之间的抽象接口,以及各层为进行层与层之间的交互而用的服务原语。但这并不涉及到这个接口是怎样实现的。
OSI标准中最低层的抽象是OSI协议规范,各层的协议规范精确的定义:应当发送什么样的控制信息,以及应当用什么样的过程来解释这个控制信息。协议的规范具有最严格的约束。
最后需要知道的是,在制定计算机网络标准方面起着很大作用的两大国际组织CCITT和ISO。许多问题都是他们共同商议决定的。从历史上看,CCITT与ISO的TC97工作领域是很不相同的,CCITT原来是从通信的角度考虑一些标准的制定,而TC97则关心信息处理。但随着科学技术的发展,通信与信息处理的界限越来越模糊了,于是通信与信息处理就成为CCITT和TC97所共同关心的领域。CCITT的建议书X.200就是关于开放系统互连参考模型的,它和上面提到的ISO7498基本上是相同的。