OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述极端机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
osi_OSI -OSI起源
1969年12月,美国国防部高级计划研究署的分组交换网ARPANET投入运行,从此计算机网络发展进入新纪元。ARPANET当时仅有4个结点,分别在美国国防部、原子能委员会、麻省理工学院和加利福利亚。这4台计算机之间进行数据通信仅有传送数据的通路是不够的,还必须遵守一些事先约定好的规则,由这些规则明确所交换数据的格式及有关同步问题。
ARPANT的实践经验表明对于非常复杂的计算机网络而言,其结构最好是采用层次型的。根据这一特点,国际标准化组织ISO推出了开放系统互联参考模型(Open System Interconnect Reference Model,ISO‘OSI RM)。该模型定义了不同计算机互联的标准,是设计和描述极端机网络通信的基本框架。开放系统互联参考模型的系统结构共分7层。在该模型中层与层之间进行对等通信,且这种通信只是逻辑上的,真正的通信都是在最底层-物理层实现的,每一层要完成相应的功能,下一层为上一层提供服务,从而把复杂的通信过程分成了多个独立的、比较容易解决的子问题。
OSI在一开始是由ISO来制定,但后来的许多标准都是ISO与CCITT联合制定的。
osi_OSI -OSI/RM
OSI/RM(Open System Interconnection Reference Model)即开放系统互连基本参考模型。开放,是指非垄断的。系统是指现实的系统中与互联有关的各部分。
世界上第一个网络体系结构由IBM公司提出(74年,SNA),以后其他公司也相继提出自己的网络体系结构如:Digital公司的DNA,美国国防部的TCP/IP等,多种网络体系结构并存,其结果是若采用IBM的结构,只能选用IBM的产品,只能与同种结构的网络互联。
为了促进计算机网络的发展,国际标准化组织ISO于1977年成立了一个委员会,在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型。
osi_OSI -设计目的
OSI模型的设计目的是成为一个所有销售商都能实现的开放网路模型,来克服使用众多私有网络模型所带来的困难和低效性。OSI是在一个备受尊敬的国际标准团体的参与下完成的,这个组织就是ISO(国际标准化组织)。什么是OSI,OSI是Open System Interconnection 的缩写,意为开放式系统互联参考模型。在OSI出现之前,计算机网络中存在众多的体系结构,其中以IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(Digital Network Architecture)数字网络体系结构最为著名。为了解决不同体系结构的网络的互联问题,国际标准化组织ISO(注意不要与OSI搞混)于1981年制定了开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)。这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presentation Layer)和应用层(Application Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI 标准制定过程中采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。在OSI中,采用了三级抽象,即体系结构,服务定义,协议规格说明。
为方便记忆可以将七层从高到低视为:All People Seem To Need Data Processing。每一个大写字母与七层名称头一个字母相对应。
osi_OSI -分层原则
网络中各结点都有相同的层次
不同结点相同层次具有相同的功能
同一结点相邻层间通过接口通信
每一层可以使用下层提供的服务,并向上层提供服务
不同结点的同等层间通过协议来实现对等层间的通信
osi_OSI -OSI/RM分层
对等层实体间通信时信息的流动过程
对等层通信的实质:
对等层实体之间虚拟通信;下层向上层提供服务;实际通信在最底层完成;发送方数据由最高层逐渐向下层传递,到接收方数据由最低层逐渐向高层传递。
协议数据单元PDU
OSI参考模型中,对等层协议之间交换的信息单元统称为协议数据单元(PDU,Protocol Data Unit)。
而传输层及以下各层的PDU另外还有各自特定的名称:
传输层――数据段(Segment)
网络层――分组(数据包)(Packet)
数据链路层――数据帧(Frame)
物理层――比特(Bit)
osi_OSI -七层结构
具体7层数据格式功能与连接方式典型设备应用层 Application网络服务与使用者应用程序间的一个接口
表示层 Presentation
数据表示、数据安全、数据压缩
会话层 Session
会话层连接到传输层的映射;会话连接的流量控制;数据传输;会话连接恢复与释放;会话连接管理、差错控制
传输层 Transport数据组织成数据段Segment用一个寻址机制来标识一个特定的应用程序(端口号)
网络层 Network分割和重新组合数据包Packet基于网络层地址(IP地址)进行不同网络系统间的路径选择路由器数据链路层 Data Link将比特信息封装成数据帧Frame在物理层上建立、撤销、标识逻辑链接和链路复用 以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址网桥、交换机、网卡物理层Physical传输比特(bit)流建立、维护和取消物理连接光纤、同轴电缆、双绞线、中继器和集线器
物理层(PhysicalLayer)
物理层是OSI分层结构体系中最重要、最基础的一层,它建立在传输媒介基础上,实现设备之间的物理接口。物理层之接收和发送一串比特流,不考虑信息的意义和信息结构。
物理层包括对连接到网络上的设备描述其各种机械的、电气的、功能的规定。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE(数据终端设备)和DCE(数据通信设备)之间各个线路的功能;过程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。物理层的数据单位是位。
属于物理层定义的典型规范代表包括:EIA/TIARS-232、EIA/TIARS-449、V。35、RJ-45等。
物理层的主要功能:
为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成。一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接。所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路。
传输数据。物理层要形成适合数据传输需要的实体,为数据传送服务。一、保证数据按位传输的正确性;二、向数据链路层提供一个透明的位传输;三、提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要。
完成物理层的一些管理工作,如在数据终端设备、数据通信和交换设备等设备之间完成对数据链路的建立、保持和拆除操作。
物理层的主要设备:中继器、集线器。
数据链路层(DataLinkLayer)
在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,同时为其上面的网络层提供有效的服务。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
链路层的主要功能:
链路层的功能是实现系统实体间二进制信息块的正确传输。为网络层提供可靠无错误的数据信息。在数据链路中解决信息模式、操作模式、差错控制、流量控制、信息交换过程和通信控制规程的问题。
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:
链路连接的建立,拆除,分离。
帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
顺序控制,指对帧的收发顺序的控制。
差错检测和恢复。还有链路标识,流量控制等等。差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测。各种错误的恢复则常靠反馈重发技术来完成。
数据链路层主要设备:二层交换机、网桥
网络层(Networklayer)
网络层也称通信子网层,是高层协议之间的界面层,用于控制通信子网的操作,是通信子网与资源子网的接口。在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将解封装数据链路层收到的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连、信息包顺序控制及网络记胀等功能。
在网络层交换的数据单元的单位称为数据包(packet)。
网络层协议的代表包括:IP、IPX、OSPF等。
网络层主要功能:
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:路由选择和中继;激活,终止网络连接;在一条数据链路上复用多条网络连接,多采取分时复用技术;差错检测与恢复;排序,流量控制;服务选择;网络管理;网络层标准简介。
网络层主要设备:路由器
传输层(Transportlayer)
传输层建立在网络层和会话层之间,实质上它是网络体系结构中高低层之间衔接的一个接口层。传输层不仅是一个单独的结构层,它还是整个分层体系协议的核心,没有传输层整个分层协议就没有意义。
传输层的数据单元称为数据段(segment)这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。传输层获得下层提供的服务包括:发送和接收正确的数据块分组序列,并用其构成传输层数据;获得网络层地址,包括虚拟信道和逻辑信道。传输层向上层提供的服务包括:无差错的有序的报文收发;提供传输连接;进行流量控制。传输层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务,所谓透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:TCP、UDP、SPX等。
传输层的主要功能:
传输层的功能是从会话层接收数据,根据需要把数据切成较小的数据片,并把数据传送给网络层,确保数据片正确到达网络层,从而实现两层数据的透明传送。
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。例如电话交换网、分组交换网、公用数据交换网、局域网等通信子网都可互连,但它们提供的吞吐量、传输速率、数据延迟通信费用各不相同。对于会话层来说,却要求有一性能恒定的界面。传输层就承担了这一功能。它采用分流/合流、复用/介复用技术来调节上述通信子网的差异,使会话层感受不到。
此外传输层还要具备差错恢复、流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。上述功能的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型。基本可以满足对传送质量、传送速度、传送费用的各种不同需要。
会话层(Sessionlayer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层、表示层、应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等。会话层同样要担负应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补。主要的功能是对话管理,数据流同步和重新同步。要完成这些功能,需要由大量的服务单元功能组合,已经制定的功能单元已有几十种。
会话层的主要功能:会话层连接到传输层的映射;会话连接的流量控制;数据传输;会话连接恢复与释放;会话连接管理、差错控制。
为会话实体间建立连接、为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
将会话地址映射为运输地址;选择需要的运输服务质量参数(QOS);对会话参数进行协商;识别各个会话连接;传送有限的透明用户数据;数据传输阶段。
这个阶段是在两个会话用户之间实现有组织的,同步的数据传输。用户数据单元为SSDU,而协议数据单元为SPDU。会话用户之间的数据传送过程是将SSDU转变成SPDU进行的。
连接释放
连接释放是通过"有序释放"、"废弃"、"有限量透明用户数据传送"等功能单元来释放会话连接的。会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。会话层的主要标准有"DIS8236:会话服务定义"和"DIS8237:会话协议规范"。
表示层(Presentationlayer)
表示层对向上对应层服务,向下接收来自会话层的服务。表示层是为在应用过程之间传送的信息提供表示方法的服务,它关心的只是发出信息的语法与语义。表示层要完成某些特定的功能,主要有不同数据编码格式的转换,提供数据压缩、解压缩服务,对数据进行加密、解密。例如图像格式的显示,就是由位于表示层的协议来支持。
表示层为应用层提供服务包括语法选择、语法转换等。语法选择是提供一种初始语法和以后修改这种选择的手段。语法转换涉及代码转换和字符集的转换、数据格式的修改以及对数据结构操作的适配。
应用层(Applicationlayer)
网络应用层是通信用户之间的窗口,为用户提供网络管理、文件传输、事务处理等服务。其中包含了若干个独立的、用户通用的服务协议模块。网络应用层是OSI的最高层,为网络用户之间的通信提供专用的程序。应用层的内容主要取决于用户的各自需要,这一层设计的主要问题是分布数据库、分布计算技术、网络操作系统和分布操作系统、远程文件传输、电子邮件、终端电话及远程作业登录与控制等。至2011年应用层在国际上没有完整的标准,是一个范围很广的研究领域。在OSI的7个层次中,应用层是最复杂的,所包含的应用层协议也最多,有些还在研究和开发之中。
应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP、DNS等。
通过 OSI 层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机 A 上的应用程序要将信息发送到计算机 B 的应用程序,则计算机 A 中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机 B 。计算机 B 的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 B 的应用层。最后,计算机 B 的应用层再将信息传送给应用程序接收端,从而完成通信过程。
OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。
对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI 层来说并不是必需的。
当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。
例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B ,数据首先传送至应用层。 计算机 A 的应用层通过在数据上添加协议头来和计算机 B 的应用层通信。所形成的信息单元包含协议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。
计算机 B 中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A 的数据链路层添加的协议头中的控制信息;然后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至上一层。应用层执行完这些动作后,数据就被传送至计算机 B 中的应用程序,这些数据和计算机 A 的应用程序所发送的完全相同 。
一个 OSI 层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI 层与另一计算机系统的对应层进行通信。一个 OSI 模型的特定层通常是与另外三个 OSI 层联系:与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A 的数据链路层应与其网络层,物理层以及计算机 B 的数据链路层进行通信。
osi_OSI -分层优点
(1)人们可以很容易的讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互连环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住个层的功能。
OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。
它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务。是作为一个框架来协调和组织各层所提供的服务。
OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。
osi_OSI -比较TCP/IP
TCP/IP模型实际上是OSI模型的一个浓缩版本,它只有四个层次:
1。应用层
2。传输层
3。互联层
4。网络接口层
与OSI功能相比:
应用层对应着OSI的应用层 表示层 会话层
传输层对应着OSI的传输层
互联层对应着OSI的网络层
网络接口层对应着OSI的数据链路层和物理层
OSI模型的网络层同时支持面向连接和无连接的通信,但是传输层只支持面向连接的通信;TCP/IP模型的网络层只提供无连接的服务,但是传输层上同时提供两种通信模式。