OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标準化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标準,是设计和描述计算机网路通信的基本框架。OSI模型把网路通信的工作分为7层,分别是物理层、数据链路层、网路层、传输层、会话层、表示层和套用层。
这是一种事实上被TCP/IP 4层模型淘汰的协定。在当今世界上没有大规模使用。
基本介绍
- 中文名开放式系统互联
- 外文名OSI(Open System Interconnection)
- 分类通信
- 套用通信协定
OSI起源
1969年12月,美国国防部高级计画研究署的分组交换网ARPANET投入运行,从此计算机网路发展进入新纪元。ARPANET当时仅有4个结点,分别在美国国防部、原子能委员会、麻省理工学院和加利福尼亚。这4台计算机之间进行数据通信仅有传送数据的通路是不够的,还必须遵守一些事先约定好的规则,由这些规则明确所交换数据的格式及有关同步问题。
ARPANET的实践经验表明对于非常複杂的计算机网路而言,其结构最好是採用层次型的。根据这一特点,国际标準化组织ISO推出了开放系统互联参考模型(Open System Interconnect Reference Model,ISO-OSI RM)。该模型定义了不同计算机互联的标準,是设计和描述计算机网路通信的基本框架。开放系统互联参考模型的系统结构共分7层。在该模型中层与层之间进行对等通信,且这种通信只是逻辑上的,真正的通信都是在最底层-物理层实现的,每一层要完成相应的功能,下一层为上一层提供服务,从而把複杂的通信过程分成了多个独立的、比较容易解决的子问题。
OSI在一开始是由ISO来制定,但后来的许多标準都是ISO与CCITT联合制定的。
OSI/RM
OSI/RM(Open System Interconnection Reference Model)即开放系统互联基本参考模型。开放,是指非垄断的。系统是指现实的系统中与互联有关的各部分。
世界上第一个网路体系结构由IBM公司提出(1974年,SNA),以后其他公司也相继提出自己的网路体系结构如Digital公司的DNA,美国国防部的TCP/IP等,多种网路体系结构并存,其结果是若採用IBM的结构,只能选用IBM的产品,只能与同种结构的网路互联。
为了促进计算机网路的发展,国际标準化组织ISO于1977年成立了一个委员会,在现有网路的基础上,提出了不基于具体机型、作业系统或公司的网路体系结构,称为开放系统互联模型。
设计目的
OSI模型的设计目的是成为一个所有销售商都能实现的开放网路模型,来克服使用众多私有网路模型所带来的困难和低效性。OSI是在一个备受尊敬的国际标準团体的参与下完成的,这个组织就是ISO(国际标準化组织)。什幺是OSI,OSI是Open System Interconnection 的缩写,意为开放式系统互联参考模型。在OSI出现之前,计算机网路中存在众多的体系结构,其中以IBM公司的SNA(Systems Network Architecture,系统网路体系结构)和DEC公司的DNA(Digital Network Architecture,数字网路体系结构)最为着名。为了解决不同体系结构的网路的互联问题,国际标準化组织ISO(注意不要与OSI搞混)于1981年制定了开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)。这个模型把网路通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网路层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presentation Layer)和套用层(Application Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网路通信连线的链路;第五层到第七层为OSI参考模型的高三层,具体负责端到端的数据通信;第四层负责高低层的连线。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网路通信则可以自上而下(在传送端)或者自下而上(在接收端)双向进行。并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连线就只需在物理层中进行即可;而路由器与路由器之间的连线则只需经过网路层以下的三层即可。,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI 标準制定过程中採用的方法是将整个庞大而複杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。在OSI中,採用了三级抽象,即体系结构,服务定义,协定规格说明。
为方便记忆可以将七层从高到低视为All People Seem To Need Data Processing。每一个大写字母与七层名称头一个字母相对应。
分层原则
网路中各结点都有相同的层次
不同结点相同层次具有相同的功能
同一结点相邻层间通过接口通信
每一层可以使用下层提供的服务,并向上层提供服务
不同结点的同等层间通过协定来实现对等层间的通信
OSI/RM分层
对等层实体间通信时信息的流动过程
对等层通信的实质
对等层实体之间虚拟通信;下层向上层提供服务;实际通信在最底层完成;传送方数据由最高层逐渐向下层传递,到接收方数据由最低层逐渐向高层传递。
协定数据单元PDU
OSI参考模型中,对等层协定之间交换的信息单元统称为协定数据单元(PDU,Protocol Data Unit)。
而传输层及以下各层的PDU还有各自特定的名称
传输层——数据段(Segment)
网路层——分组(数据包)(Packet)
数据链路层——数据帧(Frame)
物理层——比特(Bit)
七层结构
具体7层 | 数据格式 | 功能与连线方式 | 典型设备 |
套用层 Application | 数据ATPU | 网路服务与使用者应用程式间的一个接口 | 终端设备(PC、手机、平板等) |
表示层 Presentation | 数据PTPU | 数据表示、数据安全、数据压缩 | 终端设备(PC、手机、平板等) |
会话层 Session | 数据DTPU | 会话层连线到传输层的映射;会话连线的流量控制;数据传输;会话连线恢复与释放;会话连线管理、差错控制 | 终端设备(PC、手机、平板等) |
传输层 Transport | 数据组织成数据段Segment | 用一个定址机制来标识一个特定的应用程式(连线埠号) | 终端设备(PC、手机、平板等) |
网路层 Network | 分割和重新组合数据包Packet | 基于网路层地址(IP位址)进行不同网路系统间的路径选择 | 网关、路由器 |
数据链路层 Data Link | 将比特信息封装成数据帧Frame | 在物理层上建立、撤销、标识逻辑连结和链路复用 以及差错校验等功能。通过使用接收系统的硬体地址或物理地址来定址 | 网桥、交换机 |
物理层Physical | 传输比特(bit)流 | 建立、维护和取消物理连线 | 光纤、同轴电缆、 双绞线、网卡、中继器、集线器 |
1.物理层(Physical Layer)
物理层是OSI分层结构体系中最重要、最基础的一层,它建立在传输媒介基础上,起建立、维护和取消物理连线作用,实现设备之间的物理接口。物理层只接收和传送一串比特(bit)流,不考虑信息的意义和信息结构。
物理层包括对连线到网路上的设备描述其各种机械的、电气的、功能的规定。具体地讲,机械特性规定了网路连线时所需接外挂程式的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连线上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE(数据终端设备)和DCE(数据通信设备)之间各个线路的功能;过程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连线的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。物理层的数据单位是位。
属于物理层定义的典型规范代表包括EIA/TIARS-232、EIA/TIARS-449、V.35、RJ-45等。
物理层的主要功能
·为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连线而成。一次完整的数据传输,包括激活物理连线,传送数据,终止物理连线。所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连线起来,形成一条通路。
·传输数据。物理层要形成适合数据传输需要的实体,为数据传送服务
一、保证数据按位传输的正确性;
二、向数据链路层提供一个透明的位传输;
三、提供足够的频宽(频宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串列或并行,半双工或全双工,同步或异步传输的需要。
完成物理层的一些管理工作,如在数据终端设备、数据通信和交换设备等设备之间完成对数据链路的建立、保持和拆除操作。
物理层的典型设备光纤、同轴电缆、双绞线、中继器和集线器
2. 数据链路层(Data Link Layer)
在物理层提供比特流服务的基础上,将比特信息封装成数据帧Frame,起到在物理层上建立、撤销、标识逻辑连结和链路复用以及差错校验等功能。通过使用接收系统的硬体地址或物理地址来定址。建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,为其上面的网路层提供有效的服务。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括物理地址定址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协定的代表包括SDLC、HDLC、PPP、STP、帧中继等。
链路层的主要功能
·链路层的功能是实现系统实体间二进制信息块的正确传输
·为网路层提供可靠无错误的数据信息
·在数据链路中解决信息模式、操作模式、差错控制、流量控制、信息交换过程和通信控制规程的问题
链路层是为网路层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能
·链路连线的建立,拆除,分离。
·帧定界和帧同步。链路层的数据传输单元是帧,协定不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
·顺序控制,指对帧的收发顺序的控制。
·差错检测和恢复。还有链路标识,流量控制等等。差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测。各种错误的恢复则常靠反馈重发技术来完成。
数据链路层的典型设备二层交换机、网桥、网卡
3.网路层(Network Layer)
网路层也称通信子网层,是高层协定之间的界面层,用于控制通信子网的操作,是通信子网与资源子网的接口。在计算机网路中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网路层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网路层将解封装数据链路层收到的帧,提取数据包,包中封装有网路层包头,其中含有逻辑地址信息源站点和目的站点地址的网路地址。
如果你在谈论一个IP位址,那幺你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,还有一些路由协定和地址解析协定(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网路层还可以实现拥塞控制、网际互连、信息包顺序控制及网路记账等功能。
在网路层交换的数据单元的单位是分割和重新组合数据包(packet)。
网路层协定的代表包括IP、IPX、OSPF等。
网路层主要功能是基于网路层地址(IP位址)进行不同网路系统间的路径选择。
网路层为建立网路连线和为上层提供服务,应具备以下主要功能
·路由选择和中继;
·激活,终止网路连线;
·在一条数据链路上复用多条网路连线,多採取分时复用技术;
·差错检测与恢复;
·排序,流量控制;
·服务选择;
·网路管理;
·网路层标準简介。
网路层典型设备网关、路由器
4.传输层(Transport Layer)
传输层建立在网路层和会话层之间,实质上它是网路体系结构中高低层之间衔接的一个接口层。用一个定址机制来标识一个特定的应用程式(连线埠号)。传输层不仅是一个单独的结构层,它还是整个分层体系协定的核心,没有传输层整个分层协定就没有意义。
传输层的数据单元是由数据组织成的数据段(segment)这个层负责获取全部信息,,它必须跟蹤数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
传输层获得下层提供的服务包括
·传送和接收正确的数据块分组序列,并用其构成传输层数据;
·获得网路层地址,包括虚拟信道和逻辑信道。
传输层向上层提供的服务包括
·无差错的有序的报文收发;
·提供传输连线;
·进行流量控制。
传输层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务,所谓透明的传输是指在通信过程中传输层对上层禁止了通信传输系统的具体细节。
传输层协定的代表包括TCP、UDP、SPX等。
传输层的主要功能是从会话层接收数据,根据需要把数据切成较小的数据片,并把数据传送给网路层,确保数据片正确到达网路层,从而实现两层数据的透明传送。
传输层是两台计算机经过网路进行数据通信时,第一个端到端的层次,具有缓冲作用。当网路层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网路层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网路连线上创建多个逻辑连线。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低三层通信子网系统和高三层之间的一层,很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。例如电话交换网、分组交换网、公用数据交换网、区域网路等通信子网都可互连,但它们提供的吞吐量、传输速率、数据延迟通信费用各不相同。对于会话层来说,却要求有一性能恆定的界面。传输层就承担了这一功能。它採用分流/合流、复用/介复用技术来调节上述通信子网的差异,使会话层感受不到。
传输层还要具备差错恢复、流量控制等功能,以此对会话层禁止通信子网在这些方面的细节与差异。传输层面对的数据对象已不是网路地址和主机地址,而是和会话层的界面连线埠。上述功能的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连线建立阶段、数据传送阶段、传输连线释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型。基本可以满足对传送质量、传送速度、传送费用的各种不同需要。
5.会话层(Session Layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护套用之间通信的机制。如伺服器验证用户登录便是由会话层完成的。
会话层提供的服务可使套用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的档案极为重要。会话层、表示层、套用层构成开放系统的高3层,面对套用进程提供分布处理,对话管理,信息表示,恢复的差错等。会话层同样要担负套用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补。主要的功能是对话管理,数据流同步和重新同步。要完成这些功能,需要由大量的服务单元功能组合,已经制定的功能单元已有几十种。
会话层的主要功能
·会话层连线到传输层的映射;
·会话连线的流量控制;
·数据传输;
·会话连线恢复与释放;
·会话连线管理、差错控制。
为会话实体间建立连线、为给两个对等会话服务用户建立一个会话连线,应该做如下几项工作
·将会话地址映射为运输地址;
·选择需要的运输服务质量参数(QOS);
·对会话参数进行协商;
·识别各个会话连线;
·传送有限的透明用户数据;
·数据传输阶段。
这个阶段是在两个会话用户之间实现有组织的,同步的数据传输。用户数据单元为SSDU,而协定数据单元为SPDU。会话用户之间的数据传送过程是将SSDU转变成SPDU进行的。
连线释放
连线释放是通过"有序释放"、"废弃"、"有限量透明用户数据传送"等功能单元来释放会话连线的。会话层标準为了使会话连线建立阶段能进行功能协商,也为了便于其它国际标準参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。会话层的主要标準有"DIS8236:会话服务定义"和"DIS8237:会话协定规范"。
6.表示层(Presentation Layer)
表示层向上对套用层提供服务,向下接收来自会话层的服务。表示层是为在套用过程之间传送的信息提供表示方法的服务,它关心的只是发出信息的语法与语义。表示层要完成某些特定的功能,主要有不同数据编码格式的转换,提供数据压缩、解压缩服务,对数据进行加密、解密。例如图像格式的显示,就是由位于表示层的协定来支持。
表示层为套用层提供服务包括语法选择、语法转换等。语法选择是提供一种初始语法和以后修改这种选择的手段。语法转换涉及代码转换和字元集的转换、数据格式的修改以及对数据结构操作的适配。
7.套用层(Application Layer)
网路套用层是通信用户之间的视窗,为用户提供网路管理、档案传输、事务处理等服务。其中包含了若干个独立的、用户通用的服务协定模组。网路套用层是OSI的最高层,为网路用户之间的通信提供专用的程式。套用层的内容主要取决于用户的各自需要,这一层设计的主要问题是分布资料库、分布计算技术、网路作业系统和分布作业系统、远程档案传输、电子邮件、终端电话及远程作业登录与控制等。至2011年套用层在国际上没有完整的标準,是一个範围很广的研究领域。在OSI的7个层次中,套用层是最複杂的,所包含的套用层协定也最多,有些还在研究和开发之中。
套用层为作业系统或网路应用程式提供访问网路服务的接口。
套用层协定的代表包括Telnet、FTP、HTTP、SNMP、DNS等。
通过 OSI 层,信息可以从一台计算机的软体应用程式传输到另一台的应用程式上。例如,计算机 A 上的应用程式要将信息传送到计算机 B 的应用程式,则计算机 A 中的应用程式需要将信息先传送到其套用层(第七层),然后此层将信息传送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网路媒介中并被传送至计算机 B 。计算机 B 的物理层接收来自物理媒介的数据,然后将信息向上传送至数据链路层(第二层),数据链路层再转送给网路层,依次继续直到信息到达计算机 B 的套用层。,计算机 B 的套用层再将信息传送给应用程式接收端,从而完成通信过程。
OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。
对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。,在对来自上一层数据增加协定头和协定尾,对一个 OSI 层来说并不是必需的。
当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协定头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协定层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网路层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网路层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。
例如,如果计算机 A 要将应用程式中的某数据传送至计算机 B ,数据传送至套用层。 计算机 A 的套用层通过在数据上添加协定头来和计算机 B 的套用层通信。所形成的信息单元包含协定头、数据、可能还有协定尾,被传送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协定头。信息单元的大小随着每一层协定头和协定尾的添加而增加,这些协定头和协定尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网路介质传输。
计算机 B 中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A 的数据链路层添加的协定头中的控制信息;然后去除协定头和协定尾,剩余部分被传送至网路层。每一层执行相同的动作从对应层读取协定头和协定尾,并去除,再将剩余信息传送至上一层。套用层执行完这些动作后,数据就被传送至计算机 B 中的应用程式,这些数据和计算机 A 的应用程式所传送的完全相同 。
一个 OSI 层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI 层与另一计算机系统的对应层进行通信。一个 OSI 模型的特定层通常是与三个 OSI 层联繫与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A 的数据链路层应与其网路层,物理层以及计算机 B 的数据链路层进行通信。
分层优点
(1)人们可以很容易的讨论和学习协定的规范细节。
(2)层间的标準接口方便了工程模组化。
(3)创建了一个更好的互连环境。
(4)降低了複杂度,使程式更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住各层的功能。
OSI是一个定义良好的协定规范集,并有许多可选部分完成类似的任务。
它定义了开放系统的层次结构、层次之间的相互关係以及各层所包括的可能的任务。是作为一个框架来协调和组织各层所提供的服务。
OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标準的制定。即OSI参考模型并不是一个标準,而是一个在制定标準时所使用的概念性框架。
比较TCP/IP
TCP/IP模型实际上是OSI模型的一个浓缩版本,它只有四个层次
1.套用层,对应着OSI的套用层、表示层、会话层
2.传输层,对应着OSI的传输层
3.网路层,对应着OSI的网路层
4.网路接口层,对应着OSI的数据链路层和物理层
OSI模型的网路层支持面向连线和无连线的通信,传输层只支持面向连线的通信;TCP/IP模型的网路层只提供无连线的服务,传输层上提供两种通信模式。