首页 理论教育OSI参考模型-计算机网络技术及应用

OSI参考模型-计算机网络技术及应用

【摘要】:图2-5OSI开放系统互联参考模型中的体系结构物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据的比特流,而不是连接计算机的具体的物理设备或具体的传输媒体。数据链路层在OSI参考模型中,数据链路层是参考模型的第2层。

计算机网络系统的功能强、规模庞大,通常采用高度结构化的分层设计方法,将网络的通信子系统划分成一组功能分明、相对独立和宜于操作的层次,依靠各层之间的功能组合提供网络的通信服务,从而减少网络系统设计、修改和更新的复杂性。

1.分层体系结构与网络协议

计算机网络中,每一台连接在网上的计算机都是网络拓扑中的一个节点。为了正确地传输、交换信息,必须有一定的规则,通常把在网络中传输、交换信息而建立的规则、标准和约定统称为网络协议。网络协议包括以下3个要素。

(1)语法。语法规定协议元素(数据、控制信息)的格式。

(2)语义。语义规定通信双方如何操作。

(3)同步。同步规定实现通信的顺序、速率适配及排序。

由此可见,网络协议是计算机网络体系结构中不可缺少的组成部分。计算机网络包含的内容相当复杂,如何将复杂的问题分解为若干个既简明又有利于处理的问题?实践表明,采用网络的分层结构最为有效。计算机通信的网络体系结构实际上就是结构化的功能分层和通信协议的集合。

采用分层设计的方法的好处主要有以下几点。

(1)各层之间相互独立。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层的接口(界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂性就下降了。

(2)灵活性好。当任何一层发生变化时(例如技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。

(3)各层都可以采用最合适的技术来实现。

(4)易于实现和维护。这种结构使实现和调试一个庞大而复杂的系统变得易于处理,因为整的系统已被分解为若干个相对独立的子系统。

(5)有利于促进标准化。因为每一层的功能及其所提供的服务都已有了明确的说明。

分层设计的方法是开发网络体系结构的一种有效技术,一般而言,分层应当遵循以下几个主要原则。

(1)设置合理的层数,每一层应当实现一个定义明确的功能。

(2)确保灵活性。某一层技术上的变化,只要接口关系保持不变,就不应影响其他层次。

(3)有利于促进标准化。由于采用分层结构,每一层功能及提供的服务可规范执行,层间边界的信息流通量应尽可能少。

(4)为了满足各种通信业务的需要,在一层内可形成若干子层,也可以合并或取消某层。

2.OSI参考模型

随着计算机系统网络化互联业务的需要,从20世纪70年代起,世界许多著名的计算机公司都纷纷推出了自己的网络体系结构,如IBM公司的SNA(System Network Architecture)、Digital公司的DNA(Digital Network Architecture)等。这些公司的产品自成系列,能够方便地实现同类计算机系统的互联成网。然而,由于各公司设计的计算机专有系统所用的体系结构、控制机理和信息格式彼此不同、互不兼容,使不同的计算机系统之间的通信变得相当复杂。为了更加充分地发挥计算机网络的作用,就需要建立一个国际范围的标准。国际标准化组织(International Standard Organization,ISO)吸取了SNA、DNA及APPA网等网络体系结构的成功经验,参照了X.25开放互联结构特性,从用户系统信息处理的角度,提出了开放系统互联的参考模型(OSI-RM),即ISO 7498,并于1984年5月被批准为国际标准。

如图2-5所示,OSI开放系统互联参考模型采用了7个层次的体系结构,从下到上分别为物理层(Physical Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和应用层(Application)。

3.OSI参考模型功能筒述

(1)物理层

在OSI参考模型中,物理层是参考模型的最底层,它包括物理网络介质,如电缆、连接器、转发器。物理层的功能是:建立系统和通信介质的物理接口,提供物理链路所需要的各种功能和规程。

图2-5 OSI开放系统互联参考模型中的体系结构

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据的比特流,而不是连接计算机的具体的物理设备或具体的传输媒体。现有的计算机网络中的物理设备和传输媒体的种类非常多,而通信手段也有许多不同方式。物理层的作用正是要尽可能地屏蔽掉这些差异,使物理层上面的数据链路层感觉不到这些差异,这样就可使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。

(2)数据链路层

在OSI参考模型中,数据链路层是参考模型的第2层。数据链路层的主要功能是:在物理层提供的服务基础上,在通信的实体之间建立数据链路连接,将数据传输到以“帧”为单位的数据包中,并采用差错控制流量控制方法使有差错的物理线路变成无差错的数据链路。

数据链路层是指在网络上沿着网络链路在相邻节点之间移动数据的技术规划。它的主要任务是加强物理层传输原始比特的功能,使之对网络层显现为一条无错线路。发送方把输入数据分装在数据帧里,按顺序传送各帧,并且有可能要处理接收方回送的确认帧。这里,帧是用来移动数据的结构包,帧中包含地址、控制、数据及校验码等信息。它不仅包括原始(未加工)数据,或称“有效荷载”,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。因为物理层仅仅接收和传送比特流,并不关心它的意义和结构,所以只能依赖各链路层来产生和识别帧边界。可以通过在帧的前面和后面附加上特殊的二进制编码模式来达到这一目的。如果这些二进制编码偶然在数据中出现,则必须采取特殊措施以避免混淆。

传输线路上突发的噪声干扰可能把帧完全破坏掉,在这种情况下,发送方机器上的数据链路软件可能要重传该帧。然而,相同帧的多次重传也可能使接收方收到重复帧,如接收方给发送方的确认帧丢失以后,就可能收到重复帧。数据链路层要解决由于帧的破坏、丢失和重复所出现的问题。数据链路层可能向网络层提供几种不同的服务,每种都有不同的服务质量和费用。(www.chuimin.cn)

数据链路层要解决的另一个问题是防止高速的发送方的数据把低速的接收方“淹没”。因此需要某种流量的调节机制,使发送方知道当前接收方还有多少缓存空间。通常,流量调节和出错处理的功能同时完成。

(3)网络层

在OSI参考模型中,网络层是参考模型的第3层。网络层的主要功能是:为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等。

网络层通过综合考虑发送优先权、网络拥塞程度、服务质量,以及可选路由的花费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。网络层协议还能补偿数据发送、传输以及接收设备能力的不平衡性。为完成这一任务,网络层对数据包进行分段和重组。分段即是指当数据从一个能处理较大数据单元的网络段传送到仅能处理较小数据单元的网络段时,网络层减小数据单元大小的过程。这个过程就如同将单词分割成若干可识别的音节给正学习阅读的儿童使用一样。重组过程即是重新构成被分段的数据单元。类似的,当一个孩子理解了分开的音节时,他会将所有音节组成一个单词,也就是将部分重组成一个整体。

(4)传输层

在OSI参考模型中,传输层是参考模型的第4层。传输层是计算机通信体系结构中关键的一层。它汇集下3层功能,向高层提供完整的、无差错的、透明的、可按名寻址的、高效低费用的、端到端的通信服务,起到承上启下的作用。

传输层的基本功能是从会话层接收数据,并按照网络能处理的最大尺寸将较长的数据包进行强制分割,把它分成较小的单位,传递给网络层。例如,以太网(一种广泛应用的局域网类型)无法接收大于1500B的数据包。传输层能确保到达对方的各段信息正确无误,而且,这些任务都必须高效率地完成。从某种意义上说,传输层使会话层不受硬件技术变化的影响。

通常,每当会话层请求建立一个传输连接,传输层就为其创建一个独立的网络连接。如果传输连接需要较高的信息吞吐量,传输层也可以为之创建多个网络连接,让数据在这些网络连接上分流,以提高吞吐量。另外,如果创建或维持一个网络连接不合算,传输层可以将几个传输连接复用到一个网络连接上,以降低费用。然而,在任何情况下,都要求传输层能使多路复用对话层透明。

传输层也要决定向会话层提供什么样的服务。最常用的传输连接是一条无错的、按发送顺序传输报文或字节的点到点的信道。但是,有的传输服务是不能保证传输次序的独立报文传输和多目标的报文广播的。

传输层是真正的从源到目标的“端到端”的层。源端机上的某程序,利用报文头和控制报文与目标机上的类似程序进行对话。而在传输层以下的各层中,协议是每台机器包括中间节点都要参照执行的协议,而不是最终的源端机与目标机之间的协议。通常在它们中间可能还有多个路由器,这些路由器都要对路过的信息块进行1~3层的处理,也就说,1~3层是连接起来的,4~7层是端到端的。

很多主机有多道程序在运行,这意味着这些主机有多条连接进出,因此需要用某种方式来区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头。

除了将几个报文流多路复用到一条通道上,传输层还必须解决跨网络连接的建立和拆除问题。这需要某种命名机制,使机器内的进程可以讲明它希望与谁会话。另外,还需要一种机制以调节通信量,使高速主机不会发生过快地向低速主机传输数据的现象。这样的机制称为流量控制,它在传输层(同样在其他层)中扮演着关键的角色。

(5)会话层

在OSI参考模型中,会话层是参考模型的第5层。会话层的功能是:负责两节点之间建立通信链接,保持会话过程通信链接的畅通,使两个节点之间的对话同步,决定通信是否被中断以及通信中断时从何处重新发送。

会话层允许不同机器上的用户建立会话关系。“会话”是指在两个实体之间建立数据交换连接,常用于表示终端与主机之间的通信。会话层允许进行类似传输层的普通数据传输,并提供对某些应用有用的信息以增强服务会话,也可用于远程登录到分时系统或在两台机器间传递文件。

会话层服务之一是管理会话。会话层允许信息同时双向传输,或任一时刻只能单向传输。若属于后者,则类似于单线铁路,会话层记录此时该轮到哪一方了。

一种与会话有关的服务是令牌管理。有些协议保证双方不能同时进行同样的操作,这—点很重要。为了管理这些活动,会话层提供了令牌。令牌可以在会话双方之间交换,只有持有令牌的一方可以执行某种关键操作。

另一种会话服务是同步。如果网络平均每小时出现一次大故障,而两台计算机之间要进行长达两小时的文件传输时该怎么办?每一次传输中途失败后,都不得不重新传输这个文件,而当网络再次出现故障时,又可能半途而废了。为了解决这个问题,会话层提供了一种方法,即在数据流中插入检查点。每次网络崩溃后,仅需要重传最后一个检查点以后的数据。

(6)表示层

在OSI参考模型中,表示层是参考模型的第6层。表示层的主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。

表示层如同翻译。在表示层,数据将按照网络能理解的方案进行格式转化,这种格式转化的结果因所使用网络的类型不同而不同。表示层管理数据的解密与加密,如系统口令的处理。例如在Internet上查询银行账户,使用的即是一种安全连接。账户数据仍会在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。

提示

表示层以下的各层只关心如何可靠地传输比特流,而表示层关心的是所传输的信息 的语法和语义。

(7)应用层

在OSI参考模型中,应用层是参考模型的最高层。应用层的主要功能是提供完成特定网络功能服务所需要的各种应用程序。

应用层是计算机网络与最终用户的界面,为网络用户之间的通信提供专用的程序。OSI的7层协议从功能划分来看,下面6层主要解决支持网络服务功能所需要的通信和表示问题,应用层负责对软件提供接口以使程序能享用网络服务。应用层提供的服务主要有:文件传输、访问和管理,电子邮件,虚拟终端,查询服务和远程作业登录。

综上所述,可将OSI模型各层的功能及信息交换的单位汇总,如表2-1所示。

表2-1 OSI参考模型各层的功能及信息交换的单位