OSI参考模型

阅读: 评论:0

2024年2月7日发(作者:)

OSI参考模型

1.2 OSI参考模型

OSI参考模型(见图1-1)是一个纯的理论分析模型,也就是说,OSI参考模型本身并不是一个具体协议的真实分层。在该模型出现之前,也没有任何一个具体的协议栈具有完整的7个功能分层,这与网络的历史发展有关。虽然今天使用的协议没有严格按照OSI七层分层,但人们仍然使用OSI的理论来指导自己的工作,尤其在研究和教学方面。这正是体现了OSI的理论指导功能。

从图1-1中可以看到,整个参考模型分成7层(Layer),为了便于描述,为每层编了序号,起了名字。从下到上依次是:

图1-1 OSI参考模型

第1层,物理层;

第2层,数据链路层;

第3层,网络层;

第4层,传输层;

第5层,会话层;

第6层,表示层;

第7层,应用层。

分层是为了降低复杂程度。不难想象,把一个复杂的事物分解成若干个部分去分析就会简单得多。分层也有利于加速协议的发展和优化,更好地体现开放性。针对某一层所进行的优化和修改并不影响其他层的功能。

根据功能不同而分层是OSI分层的原则。如果功能相同或相近,就把它们划分在同一个层上,如果不同,就要分层。不同的层所完成的工作是不同的。层与层之间并不是孤立的,它们的关系是:下层为上层服务(请参阅1.3节)。

常见的协议如TCP/IP、以太网、FDDI、IEEE 802.3和IEEE 802.5等与OSI参考模型的对应(对比)关系,如图1-2所示。

图1-2 常见协议与OSI参考模型的对应关系

1.2.1 物理层

物理层:物理层主要定义物理和电气规范。组网使用的电缆规范就属于物理层的范畴。如双绞线和光纤等。

物理层涉及比特流的传输问题,例如,用什么样的电流、电脉冲、光或者电磁场来代表逻辑的二进制信息。由于在数据通信中用二进制组合来表示字符,所以,用什么样的脉冲信号来表示数字"0"和"1",对于各种通信场合下保证通信的可靠性和经济性是十分重要的。我们把用直流信号表示"0"和"1"的信号形式叫做码型;将二进制数转换成电或光信号的方式称为编码。理论上,任意的二进制码的组合方式都可以形成数据传输代码,因此,可用于数据的传输代码很多。

在常用的网络中,10BASE-T 使用曼彻斯特编码;令牌环网络使用差分曼彻斯特编码;100BASE-TX采用MLT-3 编码机制;1000BASE-T采用PAM-5编码机制。

网络接口卡与网络连接以及网络的物理拓扑结构也属于物理层的范畴。网络的物理拓扑结构描述了网络的物理布局。

1.2.2 数据链路层

物理层处理的对象是比特,原始的比特流对于主机识别其所代表的实际信息是没有什么帮助的,所以,数据链路层要解决一些更现实的问题,如网络上的计算机如何被定位,即寻址等问题。数据链路层建议应该为网络上的主机定义一个可以标志它的地址,在制造网卡时就在网卡里烧结了一个编号,该编号被称为主机的物理地址。计算机安装了网卡,网卡的编号就代表了这台主机。有了这个地址,网络上的主机之间的通信就有了目标,也就知道了数据从哪里来到哪里去,哪一台主机应该接收数据,不是数据目标的主机就会忽略它。

当两台主机进行通信时,一台主机把连续的比特流通过物理媒介在网络上传播。对于目的地主机来说,它必须知道什么时候应该开始接收,什么时候接收应该结束;哪些是有用的比特,哪些是无用的比特;哪些是有效信息,哪些是无效信息(其他用途)等一系列问题。例如,前面讲过的地址,代表主机地址的比特肯定在源主机发送出的比特流中。对于网络上的其他主机来说,为了确定该数据是否是给自己的,必须比较代表目的地地址的那些比特。可是,并不能随便从比特流中截取一些比特来比较,因为这些比特可能不是代表地址的。

数据链路层的另一个重要功能是要把一系列连续的比特流形成一系列称为帧(Frame)的数据段,该数据段具有一定的数据结构,每部分都有特定的含义,如图1-3所示,这样主机就能够知道其代表的含义了。成帧(Framing)是第2层的重要功能,只有成了帧,原本没有实际意义的比特就有了含义了。

图1-3 帧结构

一个完整的帧应该包括如下字段:

帧起始字段(Start Frame Field)--表示一个帧的开始。

地址字段(Address Field)--源计算机物理地址及目的地计算机物理地址。

长度/类型控制字段(Length/Type Field)--帧(长度)字段,说明帧的确切长度。(类型)字段,指出第3层协议。

数据字段(Data Field)--第3层的信息。

帧校验序列(Frame Check Sequence,FCS)字段--用以校验数据字段,可以帮助目的地计算机判断收到的帧是否正确。

帧结束字段(Stop Frame Field)--表示帧的结束。

在数据传输过程中,难免会因为各种原因造成数据被破坏。数据链路层定义,使用帧校验序列的方法,使目标主机判断接收到的数据是否在传输过程中被破坏了。图1-3中的FCS字段就是用做此目的的。发送端主机对发送的数据采用某种校验算法进行计算,把计算的值写入FCS字段。目标主机收到数据后采用同样方法进行校验,然后和预先写入的值比较,如果相同,表明数据在传输过程中没有被破坏,如果不同则表明数据被破坏了。

计算帧校验序列的方式常用的有以下3种:

循环冗余校验(CRC);

奇偶校验;

校验和。

对于被破坏了的数据,目标主机请求对方重传。重传体现了数据链路层为数据传输提供可靠性的功能。除此之外,数据链路层还提供数据的流量控制,使通信双方的会话顺利、可靠地进行。

数据链路层定义的第3个功能是媒介访问控制方法(Media Access Control Method)。媒介访问控制方法定义了网络上的计算机如何获得物理通道的使用权,只有获得使用权的计算机才可以向网络上发送数据。从计算机组网来看,网络中的计算机是共享同一个物理传输通道的,如果没有一定的方法管理计算机使用该传输通道,势必造成数据碰撞,使得哪一台设备也不能通信。媒介访问控制方法可以分为以下3类。

竞争方式:也称为争用方式,如CSMA/CD。这种方式没有确定性,抢到通道就使用,抢不到就不用。

令牌传递方式:如Token Passing。这种方式有确定性,那就是拥有令牌的使用通道。

轮询方式:这种方式也有确定性,网络上的设备被轮流询问,优先级高的设备拥有使用通道的优先权。

1.2.3 网络层

网络层可以看做一座桥梁,这座桥梁把不同规范的网络连通起来。把网络层的数据作为不同网络间交换的数据单元。当数据到达目标网络时再转换成特定网络规范的帧格式。如图1-4所示,两种不同规范的网络互连,一种是以太网,一种是令牌环网络,它们在Internet上交换的是网络层数据,如IP数据包,当它们接收到数据,需要往自己网络内部传输时,路由器就转换成它们识别的以太数据帧或者令牌帧。

网络层有两个重要的功能:定义逻辑地址;为数据传输提供路由,也就是确定路径。

(点击查看大图)图1-4 IP作为通用的交换数据

与数据链路层地址相比,网络层定义的逻辑地址的最大特点是具有层次结构,而物理地址则是一个平面结构。网络层定义的逻辑地址分为两部分,一部分为网络;另一部分为该网络中的节点,代表一台主机。当需要查找某台主机时,先找到该主机所在的网络,再找到该网络中代表该主机的节点即可,如同身份证编号。这样,为管理网络中的计算机提供了极大的方便。

逻辑地址有多种,不同的协议集有不同的逻辑地址,例如,192.168.20.2 是IP地址,192.168.20代表一个网络,2是该网络上的一个节点(有关IP地址的详细介绍请参阅第3章相关内容)。

网络层的另外一个重要功能是路由,也就是为被转发的数据找一条到达目的地的最佳路径。完成此项功能需要两方面的信息:一个是已知的最佳路径信息--路由表;另一个是被转发数据携带的网络层逻辑地址。路由器是完成这项功能的设备。当路由器从它的某个接口收到数据后,读取数据中携带的逻辑地址,然后查阅路由表,作出如何转发该数据的决定。

1.2.4 OSI的其他层

OSI的上层与操作系统和应用程序有密切的关系。

① 传输层的主要功能是提供端到端的可靠传输;第一次对上层传送来的数据进行分段,把信息划分为适合被传输的数据段。传输层还负责区分上层不同的应用服务(详细介绍请参阅第2章相关内容)。

② 会话层在应用程序间建立会话、管理会话和终止会话,包括初始化、停止及重新同步两台会话的主机。

③ 表示层负责将数据转换成接收端设备可以理解的格式。下面这个简单的例子可以说明表示层的功能。当两个不同语言体系的人要交谈时,唯一方法就是找一个人帮他们翻译。表示层即为网络通信设备的翻译员。主要提供以下3种功能:

翻译数据格式;

数据加密;

数据压缩。

④ 应用层不对其他的OSI层提供服务,但是对位于OSI模型以外的应用程序提供服务。此外,应用层也使用应用程序(如WWW,E-mail,FTP和Telnet)为OSI模型的其余各层提供一个直接的接口,或利用单独的应用程序[如文书处理器、表达管理器(Presentation Managers)和网络重定向器(Network Redirector)]提供一个间接的接口。

具体的协议集在实现时往往把上4层与操作系统一起实现,它们的功能主要在主机上完成,所以把它们称为主机层或者叫系统层,把下面3层称为网络传输层,因为它们主要负责数据的传递,如图1-5所示。

图1-5 主机相关的层和数据传输相关的层

1.3 数据封装与OSI参考模型

数据在网络上传输需要进行一些处理。如同运输货物时需要对货物进行包装一样,一方面起到保护的作用;另一方面要告诉承运方如何处理,如要在包装箱外面写上地址,告诉承运方货物到达的目的地。当收货人收到货物后,需要打开包装才能拿到货物。

数据的传输也类似于货物的运输。为了使数据能够被顺利、正确地传送到目的地,也需要对数据进行包装,称为数据的封装(Encapsulation)。在发送端,数据的封装是按照OSI参考模型自上而下层层封装的,每层都会添加一些特定的控制数据传输的信息,称为包头,如图1-6所示。

从应用层来的数据流到达传输层时,被分割成一个个便于传输的数据段,传输层对每个数据段单独进行封装,然后再传给网络层。网络层把上层传递下来的整个内容--包含数据和包头,看做自己的数据再次对其封装。数据链路层把来自网络层的数据包再次封装,这次不但增加了帧头,还在尾部增加了帧的附加部分(Trailer),这部分携带的是数据的校验值。

经过层层封装的数据在物理层以比特流的方式传送出去。

因为每一层所完成的任务不同,所以每层加入的信息也不相同,这也正是为什么要进行多层封装的原因。

(点击查看大图)图1-6 数据的封装

在接收端,主机要想知道对方传输来的真实信息,需要自下而上一层一层地把包头和尾去掉,最终复原数据,这个过程叫解封装。

在特定层次上的包含数据和包头的数据单元称为协议数据单元(Protocol Data Unit,PDU),并给它们命名,传输层以上的PDU称为数据;由于在传输层对数据进行了分段,所以第4层的PDU称为"段"(Segment);网络层的PDU称为数据包(Packet);数据链路层的PDU称为帧(Frame);物理层的PDU称为比特(Bit)。

组网使用的集线器仅对比特进行处理,因此被称为物理层设备(1层设备);交换机可以识别数据帧头中的信息,因此被称为2层设备;路由器是根据数据包中的逻辑地址进行数据转发的,因此被称为3层设备。某些高档设备可以同时处理不同层次上的PDU,因此被称为多层设备。例如,现在广泛使用的3层交换机,既可以处理帧,也可以处理数据包。

1.4 对等层通信原则

主机在进行通信时,发送端主机依照OSI参考模型的定义,自上而下层层封装数据。根据OSI的分层原则,某层封装的内容对于其他层来说是不可知的。如果接收端主机想知道发送端主机送给它的信息,它也必须在和发送端主机相对应的层次上才能读出特定的信息,这样的通信方式叫做对等层通信(如图1-7所示)。

图1-7 对等层通信原理

图1-8描述了一个完整的单向数据流动过程,这个过程清楚地解释了数据的封装与解封装和对等层通信的原理。

图1-8 数据封装/解封装与OSI

OSI参考模型

本文发布于:2024-02-07 17:18:58,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170729753865490.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   网络   地址   使用   传输   称为   进行   封装
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23