OSI与TCP/IP网络模型分析
2013-02-15王田
王 田
(天津市教委职业技术教育中心,天津 300122)
一、网络参考模型的起源
现代网络的雏形起源于美国国防部的ARPA NET。ARPA是英文Advanced Research Projects Agency的缩写,代表美国国防部高级研究计划署。ARPA NET由国防部创建,主要目的是最初用来验证计算机联网的不同方式,当然仅限于军事用途。但随着加入ARPA NET的研究组织的不断增加,APRA NET的研究方向发生了改变,美国国防部高级研究计划署将APRA NET分离成军事专用的MILNET和研究用途的ARPANET。随后APRA NET实现了从NCP向TCP/IP的转换,也奠定了现代网络必须遵循TCP/IP。从APRA NET研究的初衷可以看出TCP/IP是由计算机技术作为研究的出发点,是由众多APRA NET研究机构从实践中总结出来的。
在ARPA NET研究组织研究使用TCP/IP的同时,其他公司也相继提出自己的网络体系结构,如:Digital公司的DNA,IBM公司的SNA。多种网络体系结构并存,其结果是不同网络结构体系的网络只能与同种结构的网络互联,这大大降低了网络的使用效率。为了促进计算机网络的发展,解决不同网络结构体系兼容性问题,ISO(International Standard Organized,国际标准化组织),在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,著名的ISO/IEC7498标准,即OSI(Open System Interconnection,开放系统互连)。
二、OSI模型分析
OSI参考模型是网络通信的主要模型。OSI模型注重“开放”的标准,世界上任何一个系统只要遵循同一标准就能和其他系统进行通信。在OSI标准的制定过程中,将整体庞大而复杂的系统划分为若干容易处理的小系统,这就是分层体系结构方法。OSI参考模型可以直观观察每一层网络功能,并可以利用它理解网络传输的过程。OSI参考模型并不是提供了详细的实现方法,而是只规范了一些概念。在OSI的范围内,只有各种协议是可以被实现的,而各种产品只有和OSI的协议一致时才能互联。所以说,OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。
1.OSI参考模型的结构
OSI是分层的体系结构,每一层是一个模块,用于完成某种功能,并具有自己的通信协议。ISO将整个OSI划分成七个层次,划分层次依据以下五个原则:
(1)网络中各节点具有相同的层次;
(2)网络中各节点同等层次功能相同;
(3)同一节点内相邻层通过接口通信;
(4)同一节点内底层向高层提供服务;
(5)网络中各节点同层通过协议通信。
OSI划分的七个层次由高到低依次为:Application(应用层)、Presentation(表示层)、Session(会话层)、Transport(传输层)、Network(网络层)、Data Link(数据链路层)和Physical(物理层)。其中应用层、表示层和会话层可以视为应用层,而剩余层则可视为数据流动层。
2.OSI参考模型七层功能
第一层 The Physical Layer(物理层)
物理层是参考模型中的最底层,主要定义了系统的电气、机械、过程和功能标准。如:电压、物理数据速率、最大传输距离、物理联接器和其他的类似特性。物理层的主要功能是利用传输介质为The Data Link Layer(数据链路层)提供物理联接,负责数据流的物理传输工作。物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征。
第二层 The Data Link Layer(数据链路层)
数据链路层是在通信实体间建立数据链路联接,传输的基本单位为“帧”,并为The Network Layer(网络层)提供差错控制和流量控制服务。数据链路层由MAC(介质访问控制子层)和LLC(逻辑链路控制子层)组成。
介质访问控制子层的主要任务是规定如何在物理线路上传输帧。
逻辑链路控制子层对在同一条网络链路上的设备之间的通信进行管理。数据链路控制子层主要负责逻辑上识别不同协议类型,并对其进行封装。也就是说数据链路控制子层会接受网络协议数据、分组的数据报并且添加更多的控制信息,从而把这个分组传送到它的目标设备。
第三层 The Network Layer(网络层)
网络层主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能。网络层是以路由器为最高节点俯瞰网络的关键层,它负责把分组从源网络传输到目标网络的路由选择工作。互联网是由多个网络组成在一起的一个集合,正是借助了网络层的路由路径选择功能,才能使得多个网络之间的联接得以畅通,信息得以共享。
网络层提供的服务有面向联接和面向无联接的服务两种。
面向联接的服务是可靠的联接服务,是数据在交换之前必须先建立联接,然后传输数据,结束后终止之前建立联接的服务。网络层以虚电路服务的方式实现面向联接的服务。
面向无联接的服务是一种不可靠的服务,不能防止报文的丢失、重发或失序。面向无联接的服务优点在于其服务方式灵活方便,并且非常迅速。网络层以数据报服务的方式实现面向无联接的服务。
第四层 The Transport Layer(传输层)
传输层是网络体系结构中高低层之间衔接的一个接口层。传输层不仅仅是一个单独的结构层,而是整个分析体系协议的核心。
传输层主要为用户提供End-to-End(端到端)服务,处理数据报错误、数据包次序等传输问题。传输层是计算机通信体系结构中关键一层,它向高层屏蔽了下层数据的通信细节,使用户完全不用考虑物理层、数据链路层和网络层工作的详细情况。传输层使用网络层提供的网络联接服务,依据系统需求可以选择数据传输时使用面向联接的服务或是面向无联接的服务。
第五层 The Session Layer(会话层)
会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。
会话层在应用进程中建立、管理和终止会话。会话层还可以通过对话控制来决定使用何种通信方式,全双工通信或半双工通信。会话层通过自身协议对请求与应答进行协调。我们日常使用到的协议有:远程进程呼叫(RPC)、X-windows系统、AppleTalk会话协议和数字网络结构会话控制协议(DNA SCP)。
第六层 The Presentation Layer(表示层)
表示层为在应用过程之间传送的信息提供表示方法的服务。
表示层以下各层主要完成的是从源端到目的端可靠地的数据传送,而表示层更关心的是所传送数据的语法和语义。
表示层的主要功能是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等。在网络带宽一定的前提下数据压缩的越小其传输速率就越快,所以表示层的数据压缩与解压被视为掌握网络传输速率的关键因素。表示层提供的数据加密服务是重要的网络安全要素,其确保了数据的安全传输,也是各种安全服务最为重视的关键。
表示层为应用层所提供的服务包括:语法转换、语法选择和联接管理。
第七层 The Application Layer(应用层)
应用层是OSI模型中的最高层,是直接面向用户的一层,用户的通信内容要由应用进程解决,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,并且保证这些不同类型的应用所采用的低层通信协议是一致的。
应用层中包含了若干独立的用户通用服务协议模块,为网络用户之间的通信提供专用的程序服务。需要注意的是应用层并不是应用程序,而是为应用程序提供服务。
三、TCP/IP模型分析
TCP/IP模型是由美国国防部创建的。TCP/IP的设计背景是美国国防部需要一个在任何时候、任何条件下都可以生存的网络。这要求网络中不仅交叉着各种联接方式:线缆、微波、光纤或是卫星线路,而且还要有很好的兼容性和相对独立性。正是这种苛刻的要求促使了TCP/IP模型的产生,并成为现在互联网的实际标准。
互联网的发展和广泛应用使TCP/IP得到了足够迅速的发展,这不仅仅是由于它是美国军方指定使用的协议,而是TCP/IP能够适应世界范围内的数据通信需求。TCP/IP实际上是由一组协议所组成的,是当前互联网所使用的最流行的网络“标准”,虽然它并不是国际标准,但由于它所构成的系统是经过实践出的、日臻成熟而大量应用于网络的,故而它早已成为实际上的国际标准。
TCP/IP是Transmission Control Protocol/Internet Protocol(传输控制协议/互联网络协议)的缩写,它由四层组成,从低到高依次分为:网络接入层、互联网络层、传输层和应用层。
第一层 网络接入层
网络接入层是参考模型的最底层,他负责通过网络发送和接受数据包,承担各计算机之间信息的实际传递工作。网络接入层的主要功能和 OSI模型中的The Physical Layer(物理层)和The Data Link Layer(数据链路层)基本一致。
第二层 互联网络层
互联网络层负责数据进行传输时的最佳路径选择和分组交换。互联网络层的管理协议是IP(Internet Protocol)。互联网络层为传输层提供了填充报头、选择发送路径,以及数据传输的流量拥塞控制服务。
第三层 传输层
传输层主要提供数据传输的可靠性、流量控制等功能。其传输协议可分为两种:TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)。
TCP是一种面向联接的协议,可以提供可靠的数据传输,它提供的服务包括数据流传送、可靠性、有效流量控制、全双工操作和多路复用。通俗说,它是事先为所发送的数据建立并连接好通道,然后再进行数据发送,最后撤销通道;UDP是一种面向无联接的协议,UDP传输的数据会产生丢失、乱序和出错等现象,但其有传输灵活,速度快的优势。
TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。
第四层 应用层
TCP/IP将所有与应用有关的内容都归为一层,并保证为下一层适当的数据分组、打包。应用层也被称为处理层(Process Layer)。所以据此可知,TCP/IP的设计者认为高层协议应该包括会话和表示的细节,并简单创建了应用层来处理高层协议、有关表达、编码和对话控制。
四、OSI与TCP/IP对比分析
首先OSI与TCP/IP模型都使用分层的概念。在一些层次的定义上也极为相似,但二者在层次的划分与使用上有着很大的区别。OSI参考模型的设计照顾到各个方面的因素,使OSI模型变得大而全,缺乏灵活性,效率低。OSI参考模型将“服务”和“协议”定义结合起来的设计方法,使得整个参考模型非常复杂,很难在现实中实现。但OSI模型的很多研究结果、方法,以及提过的概念对今后的网络发展具有很高的指导意义。
OSI模型的分层更偏重网络通信的下四层规范制定,主要是物理层、数据链路层、网络层和传输层的标准、功能和规范的制定;忽略了会话层、表示层和应用层的标准修订,尤其是会话层、表示层的内容几乎为空。这表现在OSI模型的数据安全性、加密和网络管理等方面的缺失。
OSI模型的源于是ISO/IEC7498标准,这个标准是ISO在CCITT(国际电报电话咨询委员会)的帮助下制定了,CCITT是国际电信联盟的常设机构之一,现改组为国际电信联盟的电信标准化部门。CCITT与ISO,虽然工作领域不同,但随着科学技术的发展,计算机网络技术的不断推进,通信与信息处理之间的界限开始变得比较模糊,计算机网络体系结构标准也成了CCITT和ISO共同关心的领域。所以OSI模型设计大多被通信思想所支配,很多设计不适用于计算机与软件的工作方式。很多OSI模型的“原语”使用计算机高级语言编程很容易实现,而严格按照层次模型编程则很难实现。
TCP/IP模型虽然采用了分层的概念,也得到了广泛的应用,但其各层没有准确的服务、接口以及承担服务的规范和定义,而是通过简单应用功能作为划分原则。一个好的模型构成应该将功能和现实方法加以区分,并应对以后的研究开发具有指导意义,而TCP/IP参考模型只适用于其TCP/IP协议族,而对于使用新技术基本没有指导意义。
[1]吴功宜,吴英.计算机网络教程[M].北京:电子工业出版社,2001.
[2]石志国,薛为民,江俐.计算机网络安全教程[M].北京:清华大学出版社;北京交通大学出版社,2004.