HCIA---OSI/RM--开放式系统互联参考模型

news2024/11/27 6:13:40

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 目录

    一.OSI--开放式系统互联参考模型简介

    1.OSI七层参考模型:

    HTTP请求工作过程:

    二.OSI参考模型详解

    链路层:

       网络层: 

                IP协议: 

                ARP协议:

          传输层: 

          应用层 :

    三.网络通信过程:

    思维导图


一.OSI--开放式系统互联参考模型简介

       OSI开放式系统互联参考模型是一种用于计算机网络通信的框架。它由国际标准化组织(ISO)制定,旨在为不同厂商和计算机系统提供通用的通信协议。该模型分为七层,每一层都负责不同的功能。

1.OSI七层参考模型:

OSI七层参考模型
七层作用协议类型
应用层负责对数据进行编码、解码、加密、解密等操作,以便应用层可以正确地理解数据。HTTP/TFTP/SMTP
表示层负责对数据进行编码、解码、加密、解密等操作,以便应用层可以正确地理解数据。MIME
会话层负责建立、管理和终止应用程序之间的会话。RPC/NFS
传输层提供端到端的数据传输,包括数据的分段和重组、流量控制、可靠性保证等。TCP/UDP
网络层(路由器)负责实现不同网络之间的数据包转发和路由选择。IP/ICMP/ARP/AKP/UUCP
数据链路层(交换机/网桥)定义了如何在物理介质上传输数据帧,包括数据的成帧、流量控制、差错检测等PPP/HDLC
物理层(网卡/集线器/中继器)提供物理连接,实现比特流透明传输以太网协议/串行协议

HTTP请求工作过程:

          当通过HTTP发起一个请求时,应用层,传输层,网络层和链路层的相关协议依次对请求进行包装并携带对应的首部,最终在链路层生成以太网数据包,以太网数据包通过物理介质传输给对方主机。

          对方主机接收到数据包后,一层一层采用对应协议进行拆包,最后把应用层数据交给应用程序处理。

二.OSI参考模型详解

链路层:

             以字节为单位对0和1进行分组,并且标识每一组电信号的信息特征,以太网协议规定一                   组电信号就是一个数据包也称为一帧。

数据包格式
首部(14字节)数据(46--1500字节)尾部(数据帧校验序列--4字节)

   网络层: 

               定义网络地址,区分网段,子网内MAC寻址,对不同子网数据包进行路由   

            IP协议: 

                      区分两台主机是否属于同一个网络,子网掩码将IP划分为网络地址和主机地址

            ARP协议:

                       ARP发起一个请求数据包(包含目标主机IP和数据)通过数据链路层封装,然后生成                           以太网数据包并进行以太网数据广播

                       其他主机收到后将自己的IP与之比较相同则返回自己的MAC地址,不同则丢弃。

                       ARP接收返回的MAC地址并将目标主机的MAC地址和IP缓存入ARP缓存表中。

      传输层: 

                 定义端口,标识应用程序神风,实现端口到端口的通信

                数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收,而每台电                  脑运行着多个应用和程序,因此需要端口号来确定 

      应用层 :

              当数据从一台主机的应用程序传输到另一个主机的应用程序,传输过来的可能时字节流

               不能很好的被应用程序识别,操作性差,因此定义各种各样的协议来规范数据格式       

三.网络通信过程:

         网络通信好比送快递,商品外面的一层层包裹就是各种协议协议包含了各种商品信息,收货地址,收件人,联系方式等等,然后还需要配送车,配送站,快递员,商品才能最终到达用户手中。

          一般情况下,快递是不能直达的,需要先转发到对应的配送站,然后由配送站再进行派件

          配送车就是物理介质,配送站就是网关,快递员就是路由器,收货地址就是IP地址,联系反方式就是MAC地址。

          快递员负责把包裹转发到各个配送站,配送站根据收货地址里的省市区,确认是否需要继续转发到其他配送站,当包裹到达目标配送站以后,配送站在根据联系方式找到收件人进行派件。

网络通信过程
应用层为了方便收件人(应用程序)更好的了解商品(传过来的可能是字节流,定义了各种各样的协议)
传输层定义寄件人(应用程序),定义门牌号码(端口号)
网络层在快递上写上地址(IP地址),并将快递按收获地址分类(划分网段),通过收货地址获得收货方联系方式(MAC地址--ARP获取)
数据链路层将快递(电信号)打包成一个大件(数据帧),并标上联系方式(MAC地址)

思维导图

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

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

相关文章

【Java+springboot】基于物联网技术的粮油质量管控防伪溯源管理系统源码

基于物联网技术、RFID技术和RSA、PGP加密算法开发的粮油质量管控防伪追溯系统 一、概述 粮油安全关系千千万万消费者的健康问题。近年来,许多食品行业安全事故频频涌现,成为社会关注焦点。粮油生产加工质量管控防伪溯源系统为粮油提供从种植、生产、加工…

Godot 4 源码分析 - 文件读入编码处理

今天需要读入xml文件进行处理,结果读入一个带中文的文件时,出错了。当然程序还能运行,但编译器一直报错,而且XML解析也不正确 单步调试发现读入的内容出现乱码,具体逻辑: String FileAccess::get_as_text…

CAPL - XML和TestModule结合实现测试项可选

目录 目的:是否想实现如下面的功能呢? 一、.can和.cin文件中函数开发

Git工具安装

Git 工具安装 1. 下载Git安装包2. 安装Git工具3. 简单的使用配置用户名 1. 下载Git安装包 打开官网 https://git-scm.com/downloads点击下载 2. 安装Git工具 右击以管理员身份运行 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9a99a73d54824800bc87db64f71f7602.png…

Selenium自动化测试总结

一、Selenium自动化测试(基于python) 1、Selenium简介: 1.1 Selenium是一款主要用于Web应用程序自动化测试的工具集合。Selenium测试直接运行在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,比如跳转、…

6.4.3 1x1卷积层

特点:1x1卷积层相当于全连接层 作用:1x1卷积用于调整网络层的通道数量和控制模型复杂度 输入形状:(通道,行,列) (3,3,3) 卷积核形状:(输出通道,输入通道,行,列) (2,3,…

SAP ABAP程序性能优化-养成良好的代码习惯

ABAP程序基本上都需要从数据库里面抓数,所以性能很重要,同时有一些基本的,和优秀的写法是我们必须要掌握的,不然就会造成程序性能很差。下面给予总结(这里包括有很基本的,也包括有比较少用到的)…

python——案例六:判断字符串的长度

案例六:判断字符串的长度str"Study"print(len(str))#输出结果如下: #5

春秋云镜 CVE-2020-25540

春秋云镜 CVE-2020-25540 Thinkadmin v6任意文件读取漏洞 靶标介绍 ThinkAdmin 6版本存在路径查找漏洞,可利用该漏洞通过GET请求编码参数任意读取远程服务器上的文件。 启动场景 漏洞利用 1、未授权列目录poc 读取网站根目录Payload: http://think.admin/Think…

基于Vgg16和Vgg19深度学习网络的步态识别系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ................................................................ % 设置训练选项options …

用Python获取链家二手房房源数据,做可视化图分析数据

前言 数据采集的步骤是固定: 发送请求, 模拟浏览器对于url地址发送请求获取数据, 获取网页数据内容 --> 请求那个链接地址, 返回服务器响应数据解析数据, 提取我们需要的数据内容保存数据, 保存本地文件 所需模块 win R 输入cmd 输入安装命令 pip install 模块名 (如果你…

js2-js中的数据结构

1、什么是数据结构 数据结构是计算机存储、组织数据的方式。 数据结构意味着接口或封装,一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。 每天的编码中都会用到数据结构,其中数组是最简单的内存…

VSCode如何在行内显示变量值

背景 在调试时,我们希望能够直接在代码行显示变量的值,而不是总是去侧边栏查看,如下这种,y12直接显示在代码行。那么VSCode中如何做呢 设置 VSCode提供了“inline values”设置,但为了速度,默认并没有开…

Linux 的基本指令(3)

指令1:date 作用:用来获取时间的指令。 1. 获取当下的时间: date %Y-%m-%d_%H:%M:%S 其中:%Y 表示年,%m 表示月,%d 表示日,%H 表示 小时,%M 表示分,%S 表示秒。 上面代…

什么是GCC

GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言译器。GNU 编译器套件包括 C、C、Objective-C、Java、Ada 和 Go 语言前端,也包括了这些语言的库(如 libstdc,libgcj等) GC…

什么是芯片?

https://zhuanlan.zhihu.com/p/228757435?utm_sourceweibo&utm_mediumsocial&utm_oi895441374156029952&utm_contentsnapshot 什么是芯片? 半导体:一种材料,导电性能介于导体和半导体之间,比如硅、锗、砷化镓。用这…

安卓5.x安装Termux

由于Termux7.9版本之后,仅支持7.0以上的安卓系统。这里使用旧版本进行安装。 版本信息: 安卓 5.0.1 Termux 7.9 1. 下载Termux7.9 https://archive.org/details/termux-repositories-legacy#reviews 拷贝到手机后,进行安装。 安装完Termux…

全网最细,Fiddler修改接口返回数据详细步骤实战,辅助接口测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在测试的过程中&a…

R3LIVE项目实战(3) — 双目相机与激光雷达联合标定

目录 3.1 lidar_camera_calib简介 3.2 环境准备 3.3 编译 3.4 运行数据集 (1) 单场景标定 (2) 多场景标定 3.5 使用您自己的传感器设置 3.5.1 采集相机图片和雷达bag数据 3.5.2 使用多场景标定 3.5.3 相机内参获取 3.5.4 运行标定程序 3.5.5 验证结果 源码地址&am…