2.3 OSI参考模型
从通信的硬件设备来看,有了终端、信道和交换设备,就能接通两个用户,但是要顺利地进行信息交换,或者说通信网要正常运转,仅这些是不够的。尤其是自动化程度越高,人的参与度就越小,就更显得不够。要保证通信正常进行,必须事先做一些规定,并且通信双方要正确执行这些规定。例如,在发电报时,必须首先规定好报文的传输格式,什么表示启动,什么表示结束,出了错误怎么办,如何表示发报人的名字和地址,这些预先定义好的格式及约定就是协议。
层次和协议的集合组成网络的体系结构。体系结构应当具有足够的信息,以允许软件设计人员为每层编写实现该层协议的有关程序,即通信软件。
为了解决网络之间的兼容性问题,帮助各个厂商生产出可兼容的网络设备,国际标准化组织(International Organization for Standardization,ISO)于1984年提出开放系统互连(Open System Interconnection,OSI)参考模型。OSI参考模型很快成为计算机网络通信的基础模型。
如图2-2所示,OSI参考模型将整个网络的通信功能分为7层,由低层至高层依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有各自特定的功能,并且上一层会利用下一层所提供的功能和服务。
图2-2 OSI参考模型
1.物理层
物理层是OSI参考模型的第一层,也是最低层,其功能是进行比特流传输。在这一层中规定的既不是物理介质,也不是物理设备,而是物理设备和物理介质相连接的方法及规则。
物理层协议定义了通信传输介质的机械特性、电气特性、功能特性和规格特性。机械特性说明端口所使用接线器的形状和尺寸、引线的数目和排列等,例如,对各种规格的电源插头的尺寸都有严格的规定。电气特性说明在端口电缆的每根线上的电压、电流的范围。功能特性说明某根线上的某一电平表示何种意义。规格特性说明各种不同功能的可能事件的出现顺序。
2.数据链路层
数据链路层是OSI参考模型的第二层,介于物理层和网络层之间,主要负责物理层面上互联节点之间的数据传输。数据链路层利用物理层的服务,在通信实体间传输以帧为单位的数据单元,并采用差错控制和流量控制方法建立可靠的数据传输链路。数据链路层是对物理层传输原始比特流功能的加强,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为无差错的线路。
3.网络层
网络层是 OSI参考模型的第三层,介于传输层与数据链路层之间。数据链路层提供两个相邻节点间数据帧的传输功能,网络层在此基础上进一步管理网络中的数据通信,选择合适的路径并转发数据包,使数据包从源端经过若干中间节点传输到目的端,从而向传输层提供基本的端到端的数据传输服务。
网络层的主要功能包括编址、路由选择、拥塞管理、异种网络互联等。
4.传输层
传输层位于OSI参考模型的第四层,可以为主机应用程序提供端到端的数据传输服务。设备通过端口号来区分每一个应用程序,因此,可以说传输层的任务是负责为两个主机应用程序间的通信提供通用的数据传输服务。传输层的基本功能包括分段与数据重组、按端口号寻址、连接管理、差错控制和流量控制等。
5.会话层
会话层的任务就是提供一种有效的方法来组织及协调两个表示层的应用进程之间的会话,并管理它们之间的数据交换。会话层的主要功能是依据应用进程之间的原则,按照正确的顺序发/收数据,进行各种形态的对话。这些对话既包括核实对方是否有权参加会话,也包括通过协商选择一致的通信方式,如是选全双工通信还是选半双工通信。
6.表示层
表示层主要解决用户信息的语法表示问题,它向上为应用层提供服务。表示层的功能是对信息进行格式和编码的转换,例如将ASCII转换成EBCDIC等,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。此外,对传送的信息进行加密与解密也是表示层的任务。
7.应用层
应用层是OSI参考模型中的最高层,直接面向用户以满足其不同的需求,是利用网络资源唯一向应用程序直接提供服务的层。应用层主要由用户终端的应用软件构成,常见的 Telnet(远程登录)协议、FTP(File Transfer Protocol,文件传送协议)、SNMP(Simple Network Management Protocol,简单网络管理协议)等都属于应用层的协议。