OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。OSI的7层从上到下分别是
7应用层 6表示层 5会话层 4传输层 3网络层 2数据链路层 1物理层;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。
网络七层协议分解
应用层
与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。
示例:TELNET,HTTP,FTP,NFS,SMTP等
应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组,并称为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务,其服务元素分为两类:公共应用服务元素CAES和特定应用服务元素SASE.CASE提供最基础的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制,特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传达,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。应用层的标准有DP8649公共应用服务元素,DP8650公共应用服务元素协议,文件传送,访问和管理服务及协议。
表示层
这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表示形式,称做语法。像文字,图形,声音,文种,压缩,加密等都属于语法范例,表示层设计了3类15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致的数据形式,能够互相认识ISO表示层为服务,协议,文本通信符制定了DP8822,DP8823,DIS6937/2等一系列标准。
会话层
定义如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传达大的文件极为重要。会话层,表示层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等。
会话层同样要负担应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补,主要的功能是对话管理,数据流同步和重新同步。要完成这些功能需要由大量的服务单元功能组合,已经制定的功能单元已有几十种,下面介绍下主要功能,
1.为会话实体间建立连接
2.数据传输
3.连接释放
传输层
这层功能包括是否选择差错恢复功能协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。传输层也称为运输层。传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但很重要的一层,因为它是源端到目的的端对端数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在很大差异,例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同,对于会话层来说,却要求有性能恒定界面,传输层就承担了这一功能,它采用分流/合流,复用/解用技术来调节通信子网的差异,使会话层感受不到,此外传输层还要具备差错恢复,酒量控制等功能,以此对话层屏蔽通信子网在这些方面的细节与差异,传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口,上述功能的最终目的是为会话提供可靠的,无误的数据传输。传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段才算完成一个完整的服务过程,而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分为5种类型,基本可以满足传送质量,传送速度,传送费用的各种不同需要。
网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
网络层的产生也是网络发展的结果,在联机系统和线路交换的环境中,网络层的功能没有太大意义,当数据端增多时,它们之间有中继设备相连,此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况。这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻径。另外,当一条物理信道建立之后,为解决这一问题就出现了逻辑信道技术和虚拟电路技术。
网络层为建立网络连接和为上层提供服务,应具备以下主要功能,
1.路由选择与中继
2.激活,终止网络连接
3.在一条数据链路上复用多条网络连接,多采取分时复用技术
4.差错检测与恢复
5.排序,流量控制
6.服务选择
7.网络管理
在具有开放性的网络中的数据终端设备,都要配置网络层的功能,现在市场上销售的网络硬设备主要有网关和路由器。
链路层
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。
示例:ATM,FDDI等。
可以粗略的理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接,媒体是长期的,连接是有生存期的,在连接生存期内,收发两端可以进行不等的一次或多次数据通信,每次通信都要经过建立通信联络和拆除通信联络两过程,这种建立起来的数据收发关系就叫作数据链路。而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为为上层提供无差错的数据传输,就要能对数据进行检错和纠错,数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
链路层主要功能,
1.链路连接的建立,拆除,分离
2.帧定界和帧同步
3.顺序控制
4.差错检测和恢复
物理层
物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准。连接头,帧,帧的使用,电流,编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节定义。示例:Rj45,892.3等。
七层协议主要组成
语义
是对协议元素的含义进行解释,不同类型的协议元素所规定的语义是不同的,例如需要发出何种控制信息,完成何种动作及得到的响应等。
语法
将若干个协议元素和数据结合在一起用来表达一个完整的内容所应遵循的格式,也就是对信息的数据结构做一种规定。例如用户数据与控制信息的结构与格式等。
时序
对事件实现顺序的详细说明。例如在双方进行通信时,发送点发出一个数据报文,如果目标点正确收到,则回答源点接收正确;若接收到错误的信息,则要求源点重发一次。