本文主要是介绍OSI/RM参考模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
OSI/RM参考模型是国际标准化组织ISO在1983年正式发布的1S07498标准一一开放系统 互连参考模型。开放:指非独家垄断的,只要遵循OS1标准,一个系统就可以和位于世界 上任何地方、也遵循该标准的其他任何系统进行通信。系统:可以是计算机,也可以是与 这些计算机相关的软件、外部设备等。
<OS参考模型的层次结构>
OSI参考模型共分为7个层次,从低到高依次为物理层、数据链路层、网络层、传输 层、会话层、表示层、应用层。
下面我们从最底层开始,依次讲解。
第一层:物理层。物理层是OSI分层结构体系中最重要、最基础的一层,它建立在传 输媒介基础上,实现设备之间的物理接口。物理层关注在一条通信信道上传输原始比特, 只需确保当一方发送了比特1时,另一方收到的也是比特1,并不需要考虑信息的意义和信 息的结构。这里涉及的典型问题包括用什么电子信号来表示1和0、一个比特持续多少纳 秒、传输是否可以在两个方向上同时进行、初始连接如何建立、当双方结束之后如何撤销 连接、网络连接器有多少针以及每一针的用途是什么等。在这一层,数据的单位为比特bit;目前属于物理层定义的典型规范代表有EIA/TIA RS-232, EIA/TIA RS-449, V.35,RJ-45 等;常见的网络设备-一中继器、集线器、Modem工作在该层上。
第二层:数据链路层。数据链路层在物理层提供比特流服务的基础上,建立相邻结点 之间的数据链路,将一个原始的传输设施转变成一条没有漏检传输错误的线路,使得发送 方发送的数据帧在信道上无差错地传输,同时为其上面的网络层提供有效的服务。在这一 层,数据的单位称为帧frame;典型的协议包括SDLC, HDLC,PPP,Stp等;常见的网络设 备--二层交换机、网桥工作在该层上。
第三层:网络层。网络层也称为通信子网层,用于控制通信子网的操作,是通信子网 与资源子网的接口。在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链 路,也可能要经过很多通信子网,网络层的任务就是解封数据链路层收到的帧,提取数据 包,并选择合适的网间路由和交换结点,确保数据包即时传送。其中数据包中封装有网络 层包头,含有逻辑地址信息、源站点和目的站点地址的网络地址。在这一层,数据的单位 称为数据包或分组packet;典型的协议包括Ip,IPX, RIP等;常见的网络设备一一路由器、 具有路由功能的三层交换机工作在该层上。
第四层:传输层。传输层是真正的点到点,即主机到主机的层,它自始至终将数据从 源端携带到接收方。传输层获得下层(网络层)提供的服务包括:发送和接受正确的数据 块分组序列,并用其构成传输层数据;获得网络层地址,包括虚拟信道和逻辑信道。传输 层向上层(会话层)提供的服务包括:无差错的有序的报文收发;提供传输连接;进行流 量控制。在这一层,数据的单位称为数据段segment;典型的协议包括TCP, UDP,Spx等; 常见的网络设备--传输网关工作在该层上。
第五层:会话层。管理主机之间的会话进程,即负责建立、管理、终止进程之间的会 话,一次连接就称为一次会话。会话层还利用在数据中插入校验点来实现数据的同步,以 便在系统崩溃之后还能恢复到崩溃之前的状态继续运行。
第六层:表示层。表示层以下的五层关注的是如何传递数据位,而表示层关注的是所 传递信息的语法和语义。不同的计算机可能有不同的内部数据表示法,为了让这些计算机 能够进行通信,表示层会对上层(应用层》的数据或者信息进行变换,以保证一个主机应 用层的信息可以被另一个主机的应用程序所理解。表示层的数据转换包括数据语法转换、 语法表示、表示连接管理、数据的加密/压缩/格式转换等。
第七层:应用层。应用层直接面对用户的具体应用,它包含用户应用程序执行通信任 务时所需要的协议和功能,应用层为操作系统或者网络应用程序提供了访问网络服务的接口。常见的应用层协议的有:超文本传输协议(该协议为浏览器程序访问因特网中其它主 机中web页面提供了基本的网络访问服务接口。)、FTP, DNS等。
<OSI参考模型中的数据传输>
在OSI参考模型中数据是如何在不同主机的不同应用进程中进行数据传输的呢?
假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。
AP1先将其数据交给主机1的最高层(应用层),如使用SMTP协议来处理数据(在该数据前加上SMTP标记,以便对方主机2收到后了解使用什么软件来处理该数据。);
应用层处理后交给下面的表示层,表示层会进行必要的格式转换,使用一种通信双方 都能识别的编码来处理数据;
表示层处理完成后将数据交给会话层,会话层会在主机1和主机2之间建立一条只用于传输该数据的会话通道,并监视它的连接状态,直到数据同步完成才会断开会话;
会话通道建立后,为保证数据传输中的可靠性,主机1的传输层会对数据进行必要的 处理,如分段、编号、差错校验、确认、重传等;
网络层是实际传输数据的层次,它将传输层中处理完成的数据再次封装,添加上双方 的地址信息,并为每个数据包找到一条到主机2的最好的路径,然后按照最佳路径发送到 网络中;
数据链路层则会对网络层的数据再次进行封装,添加上能唯一表示每台设备的MAC物 理地址;
主机1的物理层则将上层的数据转换成电流传输的物理线路,通过物理线路将数据传 送到主机2后,主机2会将电信号转变成数据链路层的数据帧,数据链路层再去掉本层的 Mac物理地址后将数据递交给网络层,网络层同样去掉主机1网络层所添加的内容后交给 传输层,就这样层层递减后最终数据到达了主机2的应用层,应用层接受到数据使用STMP 协议封装,就知道应用电子邮件的软件来处理了。
虽然应用进程数据要经过这么复杂的过程才能送到终点,但这些复杂过程对用户来 说,都被屏蔽掉了,以致主机1的应用进程AP1觉得好像直接把数据交给了主机2的应用进 程Ap2。
<0SI参考模型的失败>
从OSl参考模型的层次结构的定义、传输过程来看,OSI参考模型试图达到这样的一种 理想境界一一全世界的计算机网络都遵循这个统一的标准,因而全世界的计算机将能够很 方便的进行互连和交换数据。可惜理想很美好,现实很骨感啊!到20世纪90年代初期,虽 然整套的OSI国际标准都已经制定出来了,但由于因特网(使用TCP/IP模型)已抢先在全世界覆盖了相当大的范围了,而与此同时却几乎找不到有什么厂家生产出符合OS1标准的商 用产品--OS|参考模型理论研究成果很丰富,但是市场化却很失败。总结OSI参考模型失 败的原因可以归纳为:
(1) OSI参考模型制定专家们缺乏实际经验,缺乏商业驱动力;
(2) OSI参考模型的协议实现起来过于复杂,导致其运行效率比较低
(3) 0SI参考模型的标准制定周期太长,使得按OS1标准生产的设备无法及时 进入市场
(4) OSI参考模型的层次划分不太合理,有些功能在多个层次中反复出现, 特别是高三层。
从OSl参考模型的失败,TCP/IP模型的成功可以看出--一个新标准的出现,有时不一 定反应其技术水平是最先进的,而是往往有着一定的市场背景!
这篇关于OSI/RM参考模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!