OSI开放系统互连参考模型
OSI开放系统互连参考模型
一、什么是OSI
OSI模型是两家标准化组织?国际标准化组织( ISO )和美国国家标准协会( ANSI )的产物。ISO代表了100多个国家在经济、人文、科学和技术标准上的发展,ANSI则与美国商界、政府机构和国际组织联手,建立了商业产品(包括网络和计算机产品在内)的标准。应用于LAN和WAN的通信,充分体现了为网络软件和硬件实施标准化做出的努力。
在网络互连中,有两个标准可以考虑:合法的和事实的。合法的意味着用权力或法律建立。事实的意味着用实际的事实建立,尽管没有得到官方或法律上的承认,但T C P / I P为那个协议创建了一个事实标准,尽管它在得到广泛接受之前并没有成为标准。OSI(Open System Interconnection, 开放系统互连)参考模型是一个合法的标准。国际标准化组织( I S O )于1974年创建了O S I模型,并在1 9 8 4年发布,以为供应商提供一个网络模型,这样它们的产品可以在网络上协调工作。
OSI只给出了计算机网络的一些原则性说明,并不是一个具体的网络。它将整个网络的功能划分成七个层次。层与层之间的联系是通过各层之间的接口来进行的,上层通过接口向下层提出服务请求,而下层通过接口向上层提供服务。两个用户计算机通过网络进行通信时,除物理层之外,其余各对等层之间均不存在直接的通信关系,而是通过各对等层之间的通信协议来进行通信(用虚线连接),只有两物理层之间通过传输介质进行真正的数据通信。
虽然OSI模型比如今大多数网络设备都出现得早,但它不仅开创了相互合作的网络互连时代,而且不断地去容纳网络互连的新发展。它是一种严格的理论模型,并不是一特定的硬件设备或一套软件例程,而是厂商在设计硬件和软件时必须遵循的一套通信准则,就像是口语中的语法一样。
OSI模型准则指出了:
. 网络设备之间如何联系,使用不同协议的设备如何通信。
. 网络设备如何获知何时传输或不传输数据。
. 如何安排、连接物理网络设备。
. 确保网络传输被正确接收的方法。
. 网络设备如何维持数据流的恒定速率。
. 电子数据在网络介质上如何表示。
OSI模型由7个层组成,层层堆积:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都处理某特定的通信任务,使用基于协议的通信来与下一层交换数据。两个网络设备间的通信就是通过在每一设备的协议栈中上上下下来完成的。国际标准组织(ISO)制定了OSI模型。这个模型把网络通信的工作分为7层。1至4层被认为是低层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。每一层负责一项具体的工作,然后把数据传送到下一层。
物理层 为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。
物理层(也即OSI模型中的第一层)在课堂上经常是被忽略的。它看起来似乎很简单。但是,这一层的某些方面有时需要特别留意。物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。甚至一个信鸽也可以被认为是一个1层设备(参见RFC 1149)。网络故障的排除经常涉及到1层问题。我们不能忘记用五类线在整个一层楼进行连接的传奇故事。由于办公室的椅子经常从电缆线上压过,导致网络连接出现断断续续的情况。遗憾的是,这种故障是很常见的,而且排除这种故障需要耗费很长时间。
数据链路层 负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。
第2层是以太网等协议。请记住,我们要使这个问题简单一些。第2层中最重要的是你应该理解网桥是什么。交换机可以看成网桥,人们现在都这样称呼它。网桥都在2层工作,仅关注以太网上的MAC地址。如果你在谈论有关MAC地址、交换机或者网卡和驱动程序,你就是在第2层的范畴。集线器属于第1层的领域,因为它们只是电子设备,没有2层的知识。第2层的相关问题在本网络讲座中有自己的一部分,因此现在先不详细讨论这个问题的细节。现在只需要知道第2层把数据帧转换成二进制位供1层处理就可以了
网络层 为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。
传输层 传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。第4层是处理信息的传输层。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。理解第4层的另一种方法是,第4层提供端对端的通信管理。像TCP等一些协议非常善于保证通信的可靠性。有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。
会话层 该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。
表示层 该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。
应用层 该层直接面向用户,是OSI中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。第7层是“一切”。7层也称作“应用层”,是专门用于应用程序的。如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7层协议。SMTP、DNS和FTP都是7层协议。
起初只是近距离地点对点无线收发爱的信号,乃物理层;
然后就是通过某个媒体(比如一支花、一本书)将信号传输,乃数据链路层;
开始有选择地分组分割发送和装配接收爱的信号,选择最佳的传送路径,乃网络层;
牵手可谓传输层,确保信号顺利地传送到目的地;
甜言蜜语与鸿雁往来属于会话层,包括名字查找和安全防护;
订婚归于表示层,将信号格式转换进行爱的解释并加以巩固;
结婚,当然是应用层,因为它提供了所有应用程序的直接支持。
OSI标准中,采用的是三级抽象:
体系结构(architecture)
服务定义(service definition)
协议说明(protocol specification)
体系结构
开放系统的层次结构、层次之间的相互关系及各层所包括的可能的服务;
作为一个框架来协调和组织各层协议的制定;
对网络内部结构最精炼地概括与描述。
服务定义
详细地说明了各层所提供的服务;
某一层的服务就是该层及其以下各层的一种能力;
低层的服务是通过接口向上一层提供的;
各层所提供的服务与这些服务是如何实现的无关;
定义了层与层之间的接口与各层使用的原语,但不涉及接口是具体实现的。
OSI参考模型与TCP/IP协议的比较
OSI参考模型与TCP/IP协议作为两个为了完成相同任务的协议体系结构,因此二者有比较紧密的关系,下面我们从以下几个方面逐一比较它们之间的联系与区别。
2.1 分层结构
OSI参考模型与TCP/IP协议都采用了分层结构,都是基于独立的协议栈的概念。OSI参考模型有7层,而TCP/IP协议只有4层,即TCP/IP协议没有了表示层和会话层,并且把数据链路层和物理层合并为网络接口层。不过,二者的分层之间有一定的对应关系,如图3所示。
2.2 标准的特色
OSI参考模型的标准最早是由ISO和CCITT(ITU的前身)制定的,有浓厚的通信背景,因此也打上了深厚的通信系统的特色,比如对服务质量(QoS)、差错率的保证,只考虑了面向连接的服务。并且是先定义一套功能完整的构架,再根据该构架来发展相应的协议与系统。
TCP/IP协议产生于对Internet网络的研究与实践中,是应实际需求而产生的,再由IAB、IETF等组织标准化,而并不是之前定义一个严谨的框架。而且TCP/IP最早是在UNIX系统中实现的,考虑了计算机网络的特点,比较适合计算机实现和使用。
2.3 连接服务
OSI的网络层基本与TCP/IP的网际层对应,二者的功能基本相似,但是寻址方式有较大的区别。
OSI的地址空间为不固定的可变长,由选定的地址命名方式决定,最长可达160byte,可以容纳非常大的网络,因而具有较大的成长空间。根据OSI的规定,网络上每个系统至多可以有256个通信地址。
TCP/IP网络的地址空间为固定的4byte(在目前常用的IPV4中是这样,在IPV6中将扩展到16byte)。网络上的每一个系统至少有一个唯一的地址与之对应。
2.4 传输服务
OSI与TCP/IP的传输层都对不同的业务采取不同的传输策略。OSI定义了五个不同层次的服务:TP1,TP2,TP3,TP4,TP5。TCP/IP定义了TCP和UPD两种协议,分别具有面向连接和面向无连接的性质。其中TCP与OSI中的TP4,UDP与OSI中的TP0在构架和功能上大体相同,只是内部细节有一些差异。
2.5 应用范围
OSI由于体系比较复杂,而且设计先于实现,有许多设计过于理想,不太方便计算机软件实现,因而完全实现OSI参考模型的系统并不多,应用的范围有限。而TCP/IP协议最早在计算机系统中实现,在UNIX、Windows平台中都有稳定的实现,并且提供了简单方便的编程接口(API),可以在其上开发出丰富的应用程序,因此得到了广泛的应用。TCP/IP协议已成为目前网际互联事实上的国际标准和工业标准。