计算机网络基础知识(三)—— 什么是OSI七层模型?

news2024/11/14 21:21:17

文章目录

  • 00 | 🛸发展史🛸
  • 01 | 🛸OSI七层参考模型🛸
  • 02 | 🛸OSI七层参考模型的信息流向🛸

OSI七层模型是Open Systems Interconnection Reference Model的缩写,是由国际标准化组织(ISO)开发的一种参考模型,旨在促进不同厂商、不同系统之间的通信和互联。该模型被设计为一种通用的网络架构模型,用于指导在分布式计算系统中通信协议的设计和实现。

00 | 🛸发展史🛸

OSI模型是1984年由国际标准组织(ISO)开发的,作为一种参考模型,而并非实际应用。该模型将计算机网络通信过程划分为7个层次,每个层次都有特定的功能,各层次之间通过协议进行通信。OSI模型的制定旨在解决计算机之间的通信问题,从而使不同计算机在数据传输方面具有通用性。

在OSI模型之前,各个厂商都有自己的通信协议,网络通信存在互不兼容和不互通的问题。而OSI模型的出现,使得所有通信环节都有了一个清晰的规范,从而实现了不同厂商、不同系统之间的互通性。不过,由于实际上在实现网络通信时,通常使用TCP/IP(传输控制协议/因特网协议)作为通信协议族,因此OSI模型并未如期望般广泛应用。

尽管OSI模型并未大规模应用于实际网络中,但它在网络通信方面仍然具有理论意义和应用价值,它为我们理解网络通信提供了系统性、层次性的思路。

01 | 🛸OSI七层参考模型🛸

当我们在互联网上进行通信时,数据需要经过多个传输节点,每个节点都可能使用不同的通信协议进行数据包交换,而为了确保不同节点之间数据的有效传输和正确解释,一种统一的、标准化的、层次化的通信模型被提出,这就是OSI七层模型(Open Systems Interconnection Reference Model,开放系统互联参考模型)。

OSI七层模型是一种抽象的模型,定义了不同层次间的数据的通信方式,将整个互联网通信过程划分为七个独立的层次,由低层至高层分别为: 物理层、 数据链路层、 网络层、 传输层、 会话层、 表示层、 应用层 \color{red}{物理层}、\color{orange}{数据链路层}、\color{yellow}{网络层}、\color{green}{传输层}、\color{blue}{会话层}、\color{cyan}{表示层}、\color{purple}{应用层} 物理层数据链路层网络层传输层会话层表示层应用层
每个层次都有独立的功能和任务,通过这种分层方式,避免了各个层次之间功能相互依赖、相互影响的问题,同时也方便了不同协议的选用和替换。

在这里插入图片描述

  • 通信子网 && 资源子网

    在这里插入图片描述

    计算机网络按照数据通信和数据处理的功能可以分为两层:内层通信子网、外层资源子网

    • 内层通信子网:(上图中虚线内的)的节点计算机和和高速通信线路组成了独立的数据系统,承担全网的数据传输、交换、加工和变换等通信处理工作,即将一台计算机的输出信息传送到另一台计算机

    • 外层资源子网:(上图虚线外的)所有网络设备以及各种软件资源等,负责全网的数据处理和向网络用户提供网络资源以及网络服务

  • OSI七层参考模型的特性

    1. 它是一种将异构系统互连的分层结构;

    2. 提供了控制互连系统交互规则的标准框架;

    3. 定义了一种抽象结构,而非具体实现的描述;

    4. 不同系统上相同层的实体称为同等层实体;

    5. 同等层实体之间的通信由该层的协议管理;

    6. 相邻层间的接口定义了原语操作和低层向高层提供服务;

    7. 所提供的公共服务是面向连接和无连接的数据服务;

    8. 直接的数据传输仅在最低层实现;

    9. 每层完成所定义的功能,修改本层的功能并不影响其他层;

  • 各层功能

OSI七层参考模型中的13层主要负责通信功能,一般称为**通信子网层**;上3层(57)属于资源子网层的功能范畴,称为资源子网层;第四层的传输层起着承上启下的作用,下面对OSI七层模型的每一个层级进行简要介绍:

  1. 物理层( P h y s i c a l L a y e r ) \color{red}{物理层(Physical Layer)} 物理层(PhysicalLayer
    物理层是OSI七层模型的底层,主要负责物理设备的数据传输,它将比特流转化为具体的电信号或光信号进行物理传输,处理的单元是比特(0或1),特点是传输速度快,但不能纠错。

  2. 数据链路层( D a t a L i n k L a y e r ) \color{orange}{数据链路层(Data Link Layer)} 数据链路层(DataLinkLayer
    数据链路层建立在物理层之上,主要负责点对点通信的数据传输,它将物理层传输的数据流转化为帧(Frame)进行传输,处理的信息单位为帧(Frame),提供流量控制、差错检测、纠错等功能。

  3. 网络层( N e t w o r k L a y e r ) \color{yellow}{网络层(Network Layer)} 网络层(NetworkLayer
    网络层主要负责数据包的传输和路由选择,它接收来自数据链路层的帧,然后将这些帧组装成包(Packet),并加上目的地址和源地址以及各种控制信息,为数据包提供了传输路径的选择、拥塞控制、数据包分割和重组等功能。

  4. 传输层( T r a n s p o r t L a y e r ) \color{green}{传输层(Transport Layer)} 传输层(TransportLayer
    传输层主要负责面向连接的数据传输,是OSI七层模型中最核心的一层,它在网络层之上提供透明的数据传输服务,面向连接的传输方式能够提高数据传输的可靠性,并且支持可靠的错误恢复处理、数据重传机制、流量控制等。

  5. 会话层( S e s s i o n L a y e r ) \color{blue}{会话层(Session Layer)} 会话层(SessionLayer
    会话层主要负责建立、管理和结束会话,通过在数据交换时分配相关标识来确保正确的通信,同步发送端和接收端的数据传输,在表示层之上,可对传输的数据进行加密或解密。

  6. 表示层( P r e s e n t a t i o n L a y e r ) \color{cyan}{表示层(Presentation Layer)} 表示层(PresentationLayer
    表示层主要负责数据格式的转换和处理,使不同计算机之间的数据格式能够兼容,与应用层进行数据格式交互,如UBF、ASN1、ASCII、BCD等格式的转换,还负责数据加密、解密、压缩、解压缩等功能。

  7. 应用层( A p p l i c a t i o n L a y e r ) \color{purple}{应用层(Application Layer)} 应用层(ApplicationLayer
    应用层是OSI七层模型的最高层,也是最靠近用户的一层,主要负责面向用户的通信服务,提供用户接口、用户数据、应用程序之间的交换等功能,在应用层之上,通常会有一些面向特定领域的协议,如HTTP、FTP、SMTP等。

总的来说,OSI七层模型将互联网通信过程分为七个独立的层次,每个层次都有不同的功能和任务,通过分层的方式方便了不同协议的选用和替换,同时避免了各个层之间功能相互依赖和相互影响的问题,提高了网络通信的可靠性和稳定性。

02 | 🛸OSI七层参考模型的信息流向🛸

在这里插入图片描述

如上图,A系统用户向B系统用户传送数据的信息流向如下:

  1. A数据先进入应用层,该层给数据加上一个强制信息(AH数据头),数据送往下一层表示层;

  2. 表示层对进入的数据按照协议进行必要的变换后也加上了强制信息(PH数据头),数据送往下一层会话层;

  3. 会话层对进入的数据也加上强制信息(SH数据头),数据送往下一层传输层;

  4. 传输层对进入的数据按照协议进行对长报文的分段后加上强制信息(TH数据头),数据送往下一层网络层;

  5. 网络层将信息变成报文分组,并加上组号NH,将数据传送到下一层的数据链路层;

  6. 数据链路层将进入的信息加上强制信息(DH数据头和DT数据尾),形成数据帧,传送到下一层的物理层;

  7. 物理层将接收到的数据按发送到B的物理层中;

  8. B接收到消息后,按照A发送消息的信息反流向进行数据解析,最后获取原始信息给到B系统用户

从上的步骤可以看出,实际上只有在物理层的时候才开始实际的传输,其余各层都是对数据进行封装的虚假传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3使用keep-alive组件,包含动态组件使用

vue3使用keep-alive组件,包含动态组件使用 本文目录 vue3使用keep-alive组件,包含动态组件使用组件不使用keep-alive组件中使用v-if切换component动态组件切换因注释导致的意外错误动态组件的使用完整示例 路由不使用keep-alive路由中使用keep-alive生命…

公司数字化转型,如何选择高效的知识管理工具?

随着企业数字化转型的加速,知识管理工具的重要性也日益凸显。好的知识管理工具可以帮助企业提高工作效率、降低成本、提高创新能力和竞争力。但是,市场上的知识管理工具繁多,如何选择高效的知识管理工具成为了企业面临的一大难题。本文将从以…

Jenkins 入门系列之Role-based Strategy配置Gitlab Group管理用户组

目录 背景步骤1. 安装插件2. 配置Gitlab Group3. 配置 Jenkins 授权策略4. 配置 Jenkins 角色与授权5. 验证 背景 版本 Jenkins Version:Jenkins 2.403Gitlab Version: Gitlab 15.6部署环境:群晖NAS Docker 部署JenkinsGitlab 上一篇文章Jenkins 入门…

HTML详解

HTML是什么 html是一门语言,所有的网页都是用它编写出来的。 他是一门超文本标记语言。可以定义图片,音频,视频等。由标签组成。 HTMl仅仅定义了网站的接口。 具体的表现还需要css来实现,也就是css让网页变得更加好看。 网页…

智能聊天机器人ChatGPT商业版

作为一个智能聊天机器人,我是由OpenAI开发的。目前,我的商业版需要通过OpenAI的合作伙伴计划进行许可和部署,以确保我被用于适当的商业用途。如果您对商业使用感兴趣,请联系OpenAI以获取更多信息。 智能聊天机器人是一种能够自…

如何优化golang gc

目录 一.理解GO GC机制 1.1GC的耗时 1.2堆大小对GC的影响 1.3GC算法 二 如何查看GC信息 2.1使用GODEBUG"gotrace1" 2.2 go tool trace 2.3 debug.ReadGCStats ​编辑2.4 runtime.ReadMemStats 三 GC优化技巧 2.1并发GC 一.理解GO GC机制 GO语言采用的是三…

学习网络安全的拦路虎!你遇到几个?

很多零基础的同学想要学习网络安全,前期会各种寻找学习资料。最后发现资料一大堆,但无从下手,于是千辛万苦收集的资料就去收藏夹吃灰了。开始学习的小伙伴们通常也会越学越迷茫,毕竟资料并不是完整的,而是东拼西凑出来…

Docker时区问题

背景 当前docker容器技术应用越来越广泛,但在启动容器后,容器内部的时间并不是东八区 Docker的基础镜像设置大多是UTC,也就是标准的UTC 时间,所以要简单的调整一下,变成中国标准时间CST(China Standard Time UTC8:0…

OpenCL编程指南-1.2OpenCL图形API

OpenCL与图形 OpenCL的出现是对GPCPU编程的一个响应。人们用GPU处理图形,并且开始使用GPU完成工作中的非图形部分。基于这种趋势,异构计算(已经存在很长时间)与图形发生冲突,因此迫切需要一个行业标准。 OpenCL一直与…

使用Onenote进行钓鱼攻击事件分析

以其中遇到的一个案例为例子进行展开分析: 1、使用钓鱼邮件文案.one文件附件 From: Bank Complaints <bankcomplaintshkmagov.com> Sent: Thursday, March 2, 2023 11:00 AMTo: Miles Mok XXXXSubject: [External Mail] xxxx Industry Development Survey Dear XXXX Lt…

SpringBoot+Canal+RabbitMQ实战

1. Canal简介 https://github.com/alibaba/canal 1.1 Canal工作原理 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events&#xff0c;可以通过 show binlog events 进行查看)MySQL slave 将 master 的 b…

中断-NVIC与EXTI外设详解(超全面)

✅作者简介&#xff1a;嵌入式入坑者&#xff0c;与大家一起加油&#xff0c;希望文章能够帮助各位&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4c3;个人主页&#xff1a;rivencode的个人主页 &#x1f525;系列专栏&#xff1a;玩转STM32 &#x1f4ac;推荐一…

档案馆对于档案室档案库房内温度和湿度的控制要求

编辑搜图 请点击输入图片描述&#xff08;最多18字&#xff09; 01 纸质档案库的温湿度要求 用房名称温度&#xff08;℃&#xff09;相对湿度&#xff08;%&#xff09;纸质档案库14~2445~60 02 特殊档案库的温湿度要求 用房名称温度&#xff08;℃&#xff09;相对湿度&am…

Golang中的运算符

目录 运算符 算术运算符 代码案例&#xff1a; 关系运算符 代码案例&#xff1a; 逻辑运算符 代码案例&#xff1a; 位运算符 代码案例&#xff1a; 赋值运算符 代码案例&#xff1a; 其他运算符 运算符 算术运算符 Go语言中的算术运算符包括加、减、乘、除和取模…

【深入理解redis】数据结构

文章目录 动态字符串SDS字符串编码类型 intsetDictZipListZipList的连锁更新问题 QuickListSkipListRedisObjectStringListSet结构ZSETHash Redis 共有 5 种基本数据结构&#xff1a;String&#xff08;字符串&#xff09;、List&#xff08;列表&#xff09;、Set&#xff08;…

2023进销存财务软件哪个好?哪些适合中小商户使用?

对于开店的老板来说&#xff0c;门店的财务管理一直都是比较头疼的一件事&#xff0c;销售业绩人工统计困难&#xff0c;记账对账效率低且容易出错。 使用进销存财务软件可以有效的帮助门店解决财务管理问题&#xff0c;但市面上这么多进销存财务软件&#xff0c;哪些性价比较高…

Android编译优化之混淆配置

Android编译优化之混淆配置 背景 为了使用java8及后续java新版本的特性&#xff0c;Google增加了一步编译过程—脱糖&#xff08;desugaring&#xff09;&#xff0c;但这一步会导致更长的编译时间&#xff0c;这也是为什么Google会推出D8和R8编译器来优化编译速度。 什么是脱…

【C语言】扫雷游戏

这里写目录标题 前言1.初始化棋盘2.展示棋盘3.布置雷4.开始扫雷4.1判断输赢4.2扫雷时连续性展开4.3展示玩法 5.整体代码展示5.1 game.h头文件展示5.2 game.c源文件展示5.3 text.c源文件展示 所属专栏&#xff1a;C语言 博主首页&#xff1a;初阳785 代码托管&#xff1a;chuyan…

了解 XML结构(一)

文章目录 1 XML定义2 了解XML结构3 XML节点类型4 加载读取XML5 小结 1 XML定义 XML是一种可扩展标记语言&#xff08;Extensible Markup Language, XML&#xff09;,可以用来标记数据&#xff0c;定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 …

数据治理是一个部门的工作还是全业务体系的工作?_光点科技

随着互联网时代的到来&#xff0c;数据已成为企业生产和经营的重要资源。但是&#xff0c;随着数据量的不断增加和数据形态的多样化&#xff0c;如何管理和利用数据也成为了企业面临的一个重要问题。在这个过程中&#xff0c;数据治理成为了一个备受关注的话题。 那么&#xff…