有些初学者觉得OSI分层模型很难理解,其实如果掌握了正确的思路,分层模型的概念简单。在学习本章中,只要按照下面思路去学习,就会觉得很容易理解。

2.1 OSI参考模型

OSI参考模型是开放通信系统互连参考模型

该模型是以国际标准组织(international standards organization ,ISO)的一份提案为基础的,它为各层所使用的协议的国际标准化迈出了第一步,并且于1995年进行修订,该模型为ISO OSI。

OSI参考模型是一个定义良好的协议规范,并有许多可选部分完成类似的任务。它定义了开放系统的层次结构、层次之间的相互关系及各层所包括的可能的服务。它作为一个框架来协调和组织各层协议的制定,也是对网络内部结构最精练的概括与描述。OSI参考模型的服务定义详细地说明了各层所提供的服务。每一层的服务已经该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎样实现的无关。同时,各种服务定义还定义了层与层之间的接口与各层使用的元素,但不涉及接口的实现方式。OSI OSI参考模型标准中的各种协议精确定义了应当发送什么样的控制信息,以及应当什么样的过程来解释这个控制信息。OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。

今天的OSI的参考模型从仍然存在,并在全世界被使用,现在OSI参考模型更多用于作为讨论其他协议规范时的参考。

OSI参考模型将计算机网络分为7层,如图所示下面的学习将从最底层开始,依次讨论模型的各层所要完成的功能。

#######################################

提示:OSI参考模型是一个理想化的模型,但是在实际环境中并不是一个真实的网络系统志其完全对应。

#######################################

clip_p_w_picpath002

1. 物理层

物理层的主要功能是完成相邻节点之间原始比特流的传输

物理层协议关心的典型问题是使用什么样的物理信号来表示数据1和0;一位持续的时间多长;数据传输是否可同时在两个方向上进行;最初的连接如何建立以及完成通信后连接如何终止;物理接口有多少针能及各针的用处。物理层的设计主要涉及物理层接口的机械、电气、功能和过程特性,以及物理接口连接的传输介质等问题。

物理层OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

透明的传送比特流;所实现的硬件:集线器(HUB)。

a.媒体和互连设备

物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。

间的互连设备。DTE既数据终端设备,又称物理设备,如计算机、终端等都包括在内。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。

b.物理层的主要功能

⑴为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路.

⑵ 传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工.

⑶ 完成物理层的一些管理工作.

物理层的设备如图:

clip_p_w_picpath004

图中的网线是物理层设备

2.数据链路层

数据链路(Data Link Layer)可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,但是并不纠正错误。

该层是许多有线LAN和无线LAN技术主要起作用的地方。例如:以太网,令牌网,光纤分布式数据接口(FDDI)和802.11(无线以太网或Wi-Fi)这些有时被称为数据链路层技术。数据链路层在概念上常被划分为两个子层:逻辑链路控制(logical link control,LLC)和媒体访问控制(media access control,MAC).

链路层的主要功能

链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:

① 链路连接的建立,拆除,分离.

② 帧定界和帧同步.链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界.

③ 顺序控制,指对帧的收发顺序的控制.

④ 差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成.

⑤ 进行数据协商

clip_p_w_picpath006

数据链路层设备交换机如图

2. 网络层

1. 网络层功能概述

网络层是OSI参考模型中的第三层,是通信子网的最高层。网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式。

网络层向上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,且不提供服务质量的承诺。概括地说,网络层应该具有以下功能:

(1) 为传输层提供服务

网络层提供的服务有两类:面向连接的网络服务和无连接的网络服务。

网络层向传输层提供的一种使所有数据包按顺序到达目的结点的可靠的数据传送方式,进行数据交换的两个结点之间存在着一条为它们服务的虚电路;而数据报服务是不可靠的数据传送方式,源结点发送的每个数据包都要附加地址、序号等信息,目的结点收到的数据包不一定按序到达,还可能出现数据包的丢失现象。

(2) 组包和拆包

在网络层,数据传输的基本单位是数据包(也称为分组)。在发送方,传输层的报文到达网络层时被分为多个数据块,在这些数据块的头部和尾部加上一些相关控制信息后,即组成了数据包(组包)。数据包的头部包含源结点和目标结点的网络地址(逻辑地址)。在接收方,数据从低层到达网络层时,要将各数据包原来加上的包头和包尾等控制信息去掉(拆包),然后组合成报文,送给传输层。

(3) 路由选择

路由选择也叫做路径选择,是根据一定的原则和路由选择算法在多结点的通信子网中选择一条最佳路径。确定路由选择的策略称为路由算法。

在数据报方式中,网络结点要为每个数据包做出路由选择;而在虚电路方式中,只需在建立连接时确定路由。

(4) 拥塞控制

拥塞控制的作用是防止网络性能下降或其业务陷入停顿,避免死锁。

网络的吞吐量(数据包数量/秒)与通信子网负荷(即通信子网中正在传输的数据包数量)有着密切的关系。

拥塞控制与行流量控制区别:拥是确保子网能够承载所达到的流量,这是一个全局性的问题,涉及各方面的行为:主机,路由器及路由器内部的转发处理过程等;而流量控制只与特定的发送方与接收方之间的点到点流量有关。确保数据传输速率不超过接收方的吸收能力。

进行拥塞控制方法有许可证、抑制分组、分组丢弃各拌动控制;进行流量控制,通常可采用滑动窗口、停止等待和分组丢弃四种方法。

3. 网络层的网络连接设备

(1) 路由器(Router)

在互联网中,两台主机之间传送数据的通路会有很多条,数据包从一台主机出发,中途要经过多个站点才能到达另一台主机。这些中间站点通常由称为路由器的设备担当,其作用就是为数据包选择一条合适的传送路径。

路由器工作在OSI模型的网络层,是根据数据包中的逻辑地址(网络地址)而不是MAC地址来转发数据包的。

路由器的主要工作是为经过路由器的每个数据包寻找一条最佳传输路径,并将该数据包有效地传送到目的站点。

路由器不仅有交换机的全部功能,还具有路径的选择功能,可根据网络的拥塞程度,自动选择适当的路径传送数据。

路由器与交换机不同之处在于,它并不是使用路由表来找到其他网络中指定设备的地址,而是依靠其它的路由器来完成任务。也就是说,交换机是根据路由表来转发或过滤数据包,而路由器是使用它的信息来为每一个数据包选择最佳路径。

路由器有静态和动态之分。静态路由器需要管理员来修改所有的网络路由表,一般只用于小型的网间互连;而动态路由器能根据指定的路由协议来完成修改路由器信息。

clip_p_w_picpath008

网络设备的应用

4传输层

传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。

传输层是OSI中最重要, 最关键的一层,是唯一负责总体的数据传输和数据控制的一层.传输层提供端到端的交换数据的机制.传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。

传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.

传输层的基本功能

传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下

(1) 分割与重组数据

(2) 按端口号寻址

(3) 连接管理

(4) 差错控制和流量控制

传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

传输层在OSI中的地位和作用

传输层是整个协议层次结构的核心,是惟一负责总体数据传输和控制的一层。

在OSI七层模型中传输层是负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层。因为网络层不一定保证服务的可靠,而用户也不能直接对通信子网加以控制,因此在网络层之上,加一层即传输层以改善传输质量。

传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使系统间高层资源的共享不必考虑数据通信方面和不可靠的数据传输方面的问题。它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。

clip_p_w_picpath010

例如QQ 使用的端口是上层对接,通过端口来实现通信的

5.会话层

会话层(Session)提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。

现将会话层主要功能介绍如下.

⑴为会话实体间建立连接

为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作.

① 将会话地址映射为运输地址.

② 选择需要的运输服务质量参数(QOS).

③ 对会话参数进行协商.

④ 识别各个会话连接.

⑤ 传送有限的透明用户数据.

⑵数据传输阶段

这个阶段是在两个会话用户之间实现有组织的,同步的数据传输.用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的.

⑶连接释放

连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的.

会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的传输层的普通数据的传送,在某某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。 另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)。

6.表示层

表示层位于OSI分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。

通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.

对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表示形式,称做语法.像文字,图形,声音,文种,压缩,加密等都属于语法范畴.表示层设计了3类15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致的数据形式,能够互相认识.

表示层如同应用程序和网络之间的翻译官,主要解决用户信息的语法表示问题,即提供格式化的表示和转换数据服务。数据的压缩、解压、加密、解密都在该层完成。

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

加密分为链路加密和端到端的加密。对于表示层,参与的加密属于端到端的加密,指信息由发送端自动加密,并进入TCP/IP数据包封装,然后作为不可阅读和不可识别的数据进入互联网。到达目的地后,再自动充足解密,成为可读数据。端到端加密面向网络高层主体,不对下层协议进行信息加密,协议信息以明文进行传送,用户数据在中央节点不需解密。

7.应用层

应用层Application layer)是七层OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。

应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.

CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。

主要功能和特点

属于应用的概念和协议发展得很快,使用面又很广泛,这给应用功能的标准化带来了复杂性和困难性。比起其它层来说,应用层需要的标准最多,但也是最不成熟的一层。但随着应用层的发展,各种特定应用服务的增多,应用服务的标准化开展了许多研究工作,ISO已制定了一些国际标准(IS)和国际标准草案(DIS)。因此,通过介绍一些具有通用性的协议标准,来描述应用层的主要功能及其特点。

1.文件运输、访问和管理功能

文件运输与远程文件访问是任何计算机网络最常用的两种应用。文件运输与远程访问所使用的技术是类似的,都可以假定文件位于文件服务器机器上,而用户是在顾客机器上并想读、写而整个或部分地运输这些文件,支持大多数现代文件服务器的关键技术是虚拟文件存储器,这是一个抽象的文件服务器。虚拟文件存储给顾客提供一个标准化的接口和一套可执行的标准化操作。隐去了实际文件服务器的不同内部接口,使顾客只看到虚拟文件存储器的标准接口,访问和运输远地文件的应用程序,有可能不必知道各种各样不兼容的文件服务器的所有细节。

2. 电子邮件功能

计算机网络上电子邮件的实现开始了人们通信方式的一场革命。电子邮件的吸引力,在于象电话一样,速度快,不要求双方都同时在场,而且还留下可供处理或多处投递的书写文电拷贝。

虽然电子邮件被认为只是文件运输的一个特例,但它有一些不为所有文件运输所共有的特殊性质。因为,电子邮件系统首先需考虑一个完善的人机界面,例如写作,编辑和读取电子邮件的接口,其次要提供一个运输邮件所需的邮政管理功能,例如管理邮件表和递交通知等。此外,电子邮件与通用文件运输的另一个差别是,邮件文电是最高度结构化的文本。在许多系统中,每个文电除了它的内容外,还有大量的附加信息域,这些信息域包括发送方名和地址、接收方名和地址、投寄的日期和时刻、接收复写副本的人员表、失效日期、重要性等级、安全许可性以及其它许多附加信息。

3.. 其它应用功能

其它应用已经或正在标准化。在此,要介绍的是目录服务、远程作业录入、图形和信息通信。

(1)目录服务:它类似于电子电话本,提供了在网络上找人或查到可用服务地址的方法。

(2)远程作业录入:允许在一台计算机上工作的用户把作业提交到另一台计算机上去执行。

(3)图形:具有发送如工程图在远地显示和标绘的功能。

(4)信息通信:用于家庭或办公室的公用信息服务。例如智能用户电报、电视图文等。

clip_p_w_picpath012

各层功能如图所示。

数据封装和解封装过程

clip_p_w_picpath014

当A用户向用户B发送信息的时候数据是如何到过对方的,这时会有数据封装和解封装过程

OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。

对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI 层来说并不是必需的。

当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。

clip_p_w_picpath016

数据封装过程

例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B ,数据首先传送至应用层。 计算机 A 的应用层通过在数据上添加协议头来和计算机 B 的应用层通信。所形成的信息单元包含协议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。

计算机 B 中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A 的数据链路层添加的协议头中的控制信息;然后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至上一层。应用层执行完这些动作后,数据就被传送至计算机 B 中的应用程序,这些数据和计算机 A 的应用程序所发送的完全相同

clip_p_w_picpath018

数据解封装过程

Tcp/ip参考模型

TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。逐渐地它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。

由于国防部担心他们一些珍贵的主机、路由器和互联网关可能会突然崩溃,所以网络必须实现的另一目标是网络不受子网硬件损失的影响,已经建立的会话不会被取消,而且整个体系结构必须相当灵活。

clip_p_w_picpath020 四层协议

TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络接口层、网际互连层、传输层、和应用层。

网络接口层

网络接口层与OSI参考模型中的物理层和数据链路层相对应。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接口层进行连接。

网际互联层

网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。

IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。

传输层

传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)

TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议供的是不可靠的、无连接的数据传输服务。

clip_p_w_picpath022

应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。

OSI参考模型和TCP/IP参考模型的比较

OSI参考模型和TCP/IP参考模型都采用了层次结构的概念,但前者是七层模型,后者是四层或五层结构

选择题

1. 帧出现在OSI 7层模型的( )

A. 传输层

B. 网络层

C. 应用层

D. 数据链路层

2. UDP协议出现在TCP/IP协议模型中的( )

A. 传输层

B. 互联网络层

C. 应用层

D. 网络接口层