• OSI网络结构的七层模型


    文章来源: 网络大典

    版权归: www.networkdictionary.com 网络大典 所有

      OSI开放式系统互联模型是1984年国际标准化组织(ISO)提出的一个参考模型。此模型作为网络通信的概念性标准框架,使通信在不同的制造商的设备和应用软件所形成的网络上的进行成为可能。现在此模型已成为一個主要的结构模型用于计算机之间和网络间的通信。目前使用的大多数网络通信协议都基于OSI模型的结构。OSI将其定义为七层,即将网络计算机中有关活动信息的任务划分为七个更小、更易于处理的任务组。一个任务或任务组被分配到一个OSI层。每一层都是独自存在的,因此分配到各层的任务能够独立地执行。这样使得由其中某层提供的解决方案能够在不影响其他层的情况下被更新。

      OSI七层模型的每一层具有清晰的特点。基本来说,第七至第四层处理首尾相连的数据源和目的地址间的通信,而第三至第一层处理网络设备间的通信时,。另一方面,OSI模型的七个层可以划分为两组:上层(层7、层6和层5)和下层(层4、层3、层2和层1)。OSI模型的上层处理应用信息,并且只在软件上执行。最高层,即应用层是与终端用户最接近的。OSI模型的下层是处理数据传输的。物理层和数据链路层上的信息执行是在硬件和软件上。最底层,即物理层是与物理网络媒介(比如说,电线)最接近的,并且负责在媒介上替换数据。

    各层的具体描述如下:

      第七层:应用层

    • 定义用于网络通信和数据传输的用户接口程式;
    • 提供标准服务,比如虚拟终端、文档以及任务的传输和操作

      第六层:表示层

    • 定义不同体系间不同数据格式;
    • 具体说明独立结构的数据传输格式;
    • 编码和解码数据;加密和解密数据;压缩和解压数据

      第五层:会话层

    • 管理用户间的会话和对话;
    • 控制用户间的连接和挂断连接;
    • 报告上层错误

      第四层:传输层

    • 管理网络中首尾连接的信息传送;
    • 提供通过错误恢复和流控制装置传送可靠且有序的包;
    • 提供无连接面向包的传送

      第三层:网络层

    • 决定网络设备间如何传输数据;
    • 根据唯一的网络设备地址选择包;
    • 提供流和拥塞控制以阻止网络资源的损耗

      第二层:数据链路层

    • 定义控制通信连接的程序;
    • 封包;
    • 监测和改正包传输错误

      第一层:物理层

    • 定义通过网络设备发送数据的物理方式;
    • 网络媒介和设备间接口;
    • 定义光学、力学以及机械学上的特征

      通过OSI层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机A要将信息从其应用程序上发送到计算机B的应用程序,计算机A中的应用程序需要将信息先发送到它本身的应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据通过物理网络媒介被替换,并且被发送至计算机B。计算机B的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),再转送给网络层,依次继续直到信息到达计算机B的应用层。最后,计算机B的应用层再将信息传送给应用程序接收端,从而完成通信过程。下面图示说明了这一过程:

     

      OSI的七层使用各种各样控制信息框架,来和其他计算机体系的对应层进行通信。控制信息由特殊请求和说明构成,这些请求和说明在对应OSI层间进行交换。每一层数据的协议头和协议尾都是两个携带控制信息的基本框架。

      对于從上层传送至下层的数据来说,要附加协议头,同時要添加协议尾。然而,在来自上面层的数据上增加协议头和协议尾,对一个OSI层来说并不是必需的。

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

     

      例如,如果计算机A要将应用程序中的某数据发送至计算机B, 计算机A要将数据发送至其应用层. 计算机A的应用层传送任何计算机B的应用层所必需的控制信息,都是通过预先在数据上添加协议头。最终的消息单元,其中包含协议头,数据,可能有协议尾,发送至表示层,表示层再添加包含為计算机B的表示层而理解控制信息的协议头。消息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机B的对应层要使用的控制信息。在物理层,整个的信息单元通过网络媒介传输。

      计算机B中的物理层接收信息单元并将其传送至数据链路层。然后B中的数据链路层读取控制信息,其中包含计算机A的数据链路层预先添加的协议头。其次协议头和协议尾被除去,信息单元的剩余部分被传送至网络层。每一层执行相同的动作。协议层从对应层读取协议头和协议尾,并除去,再将剩余信息发送至高一层。应用层执行完后,数据就被传送至计算机B中的应用程序接收端,最後收到的正是计算机A的应用程序所产生的数据。

      一个OSI层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助特定的OSI层与另一网络系统的对应层進行通信。OSI模型的特定层通常是与三个其他的OSI 层进行通信:与之直接相邻的上一层和下一层,还有目標网络体系的对应层。例如,计算机A的数据链路层应与其网络层,物理层以及计算机B的数据链路层进行通信。下面的图表可以解释这个例子。


  • 相关阅读:
    通过SSH隧道的本地转发实现Django连接远程数据库
    Mysql多数据库备份
    apollo 项目配置中心开源框架部署
    nginx 配置多个 https 域名访问
    beetl 模板语法
    异常:由 spring-session pom 引发
    异常:NoSuchFieldError: BEST_MATCHING_HANDLER_ATTRIBUTE
    【Redis__验证】手机验证和限制登录功能
    【Linux__环境】配置
    【Layui__上传】多图上传
  • 原文地址:https://www.cnblogs.com/AloneSword/p/2237732.html
Copyright © 2020-2023  润新知