OSI七层网络参考模型与数据流通过程
OSI七层网络参考模型
文章目录
- OSI七层网络参考模型
- 1. OSI参考模型初步了解
- 2. OSI参考模型理解
- 3. 数据流通的过程
1. OSI参考模型初步了解
OSI,英文为Open System Interconnect,意为开放式系统互连,国际化标准组织(ISO)指定了OSI模型,这个模型把网络通信的工作定义成7个框架,分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层,即OSI开放式系统互连参考模型。
这个参考模型的目的就是解决网络通讯,比如说华为电脑要与苹果电脑进行通讯,但这两台电脑来自不同公司,就像只会中文的人不能与只会英文的人交流,但是如果大家都统一使用OSI网络模型来沟通情况就不一样了
OSI参考模型也采用了分层结构的思想,即把一个网络系统分成若干层,每一层都去实现不同的工作,每一层的功能都以协议描述,该协议定义了每一层与相对于需要通信的网络系统的等层的规则和约定,这实现了当网络出现问题的时候可以从一个宏观的整体去分析和解决问题。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。从概念上来讲,每一层都与一个远方对等层通信,但实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。因此,对等层之间的通信称为虚拟通信。
2. OSI参考模型理解
我们先用上面所说的华为电脑和苹果电脑进行通信的例子,先用最通俗的语言来解释OSI七层参考模型每一层的各施其职。假设现在苹果电脑自己用应用软件搭建了一个网站,华为电脑想要访问这个网站就需要软件应用了,比方说用浏览器访问网站,两个应用具体需要如何进行交互就是应用层的事情了,应用层的功能不是为了应用什么应用程序,而是为了如何沟通,常见的应用层协议就是HTTP了。应用层就是最接近用户的那一层,沟通的时候不是直接与另一应用层进行沟通,实际物理上的连通是需要物理层的。
- 物理层:我们要发送出去的数据就是无数的0和1,这就是我们所说的“比特”,物理层就是将这些比特传输出去,传输媒介有电、光或者其他形式的电磁波来表示和传输信号。数据从网络接口出去之后会经过很多的网络拓扑并不是一条线直接传输过去的,因此需要中继器和集线器这样的设备,但数据去到哪一台设备是需要定向的,这时候就需要高级一点的层——数据链路层。
- 数据链路层:在数据链路层这里,基本传输单位是“帧”,在传输过程中可能出现0变成1,1变成0,所以会进行差错检测,当发现数据错误时候可以重传数据帧。另外设备的传输能力和接收能力也是一个问题,所以会进行一定的流量控制。在这一层中,上层数据加上源和目的方的物理地址(MAC)地址封装为数据帧,MAC地址就是用来标识网卡的物理地址(全球唯一),为了可以通过MAC地址对不同设备进行数据的传输,就出现了交换机,发送端发送数据的时候,交换机就知道了发送端的MAC地址,如果交换机知道了接收端的MAC地址就可以传输过去了。
- 网络层:但是仅仅靠网卡来进行通讯效率是不高的,比如说两个设备用的同一个厂商的网卡且MAC地址只相差一个字母,而它们相隔十万八千里,物理地址此时就很难做出快速定位。因此需要IP地址来进行寻址和路由选择。IP这样的逻辑地址就是实现点到点的过程了。网络层就是以路由器为最高节点俯瞰网络的关键层,它负责将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输。网络层进行逻辑地址寻址,实现不同网络之间的路径选择。
- 传输层:虽然有MAC和IP地址可以抵达对方的主机,但是对方的主机可能运行着无数个软件进程,这时就需要传输层了。传输层是计算机通信体系结构中关键一层,传输层定义了传输数据的协议端口号,以及流控和差错检测。将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别。传输层实现了网络中不同主机上的用户进程之间的数据通信,为用户提供了进程到进程的服务。传输层起到了承上启下的作用,承接上层软件应用,下启网络数据传输。
- 会话层:会话层就比较容易理解,它就是用来维持你的登录状态让你不需要每一次都输入密码,当然网站也会管理和控制你的登录状态,会话层在这里的作用就是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。
- 表示层:表示层也很容易理解,就是将接收到的数据转化为二进制的计算机语言、数据加密和解密、数据压缩和解压等,它提供了数据的安全传输。
- 应用层:应用层就是最接近用户的一层了,是人机交互的窗口。
通过以上这些应该就对ISO模型有所了解了吧,下面来总结一下:
层 | 作用 | 关键词 |
---|---|---|
应用层 | 最接近用户一层,为应用程序提供网络服务 | 人机交互 |
表示层 | 数据转换、加密解密、压缩解压 | 数据处理 |
会话层 | 管理传输连接 | 管理连接 |
传输层 | 定义传输数据的协议端口号,以及流控和差错校检 | 段、端口号 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 包、IP地址 |
数据链路层 | 建立逻辑连接,进行硬件地址寻址,差错检测、流控等 | 帧、MAC地址 |
物理层 | 数据传输,决定传输媒介 | 比特流、媒介 |
3. 数据流通的过程
了解了各层的作用现在就可以把全部关联起来:
-
传输层将报文连同端口号封装成段:
-
段来到网络层,加上IP地址,封装成包,这里的包是含有目标IP地址的:
-
但因为目标IP地址不是同一个网络下的,要发送到其他的网络就要经过默认网关;这里就有一个问题,客户机主机最初并不知道默认网关的MAC地址,没有办法封装成帧,这个时候就可以通过ARP协议进行广播找到网关IP对应的MAC地址,把包封装成帧,源MAC地址填写自己的,目标MAC地址填广播地址的:
-
默认网关解封帧之后发现了MAC地址,再解封包发现了IP地址,就会把客户端MAC和IP关联为一台主机,接着默认网关将自己的IP和MAC地址打包为帧,再返回客户机,这样客户机就知道网关的IP地址了:
-
接着客户机就可以发送数据,客户机通过比特流发送到默认网关,默认网关解封发现这些数据是发送给自己的,同时也发现目标IP地址是在另一个网络中的就会进行路由转发最终到达目的网络,如果目标网关知道目标IP地址和MAC地址是哪一台主机的,就可以封装成帧直接发送数据,如果不知道的话,也是可以通过ARP协议喊一下就可以了
以上就是数据流通的基本内容了,接下来看一下每一层对应的协议:
层数 | 名称 | 主要协议 |
---|---|---|
1 | 物理层 | IEEE 802.3 (以太网)、IEEE 802.4 (标记总线)、IEEE 802.5 (令牌环)、FDDI (光纤分布式数据接口)、PPP (点对点协议)、SLIP (串行线路互联协议)等 |
2 | 数据链路层 | IEEE 802.2 (一般数据链路协议)、PPP (点对点协议)、PPPoE (以太网上的点对点协议)等 |
3 | 网络层 | IP (互联网协议)、ICMP (互联网控制报文协议)、IGMP (互联网组管理协议)、ARP (地址解析协议)、RARP (反向地址解析协议)等 |
4 | 传输层 | TCP (传输控制协议)、UDP (用户数据报协议)等 |
5 | 会话层 | RPC (远程过程调用协议)、SQL (结构化查询语言)、SMTP (简单邮件传输协议)、NFS (网络文件系统)等 |
6 | 表示层 | SSL (安全套接字层)、TLS (传输层安全协议)、MIME (多用途互联网邮件扩展)等 |
7 | 应用层 | HTTP (超文本传输协议)、FTP (文件传输协议)、SMTP (简单邮件传输协议)、DNS (域名系统)、TELNET (远程登录协议)、SNMP (简单网络管理协议)、NFS (网络文件系统)等 |
本篇文章参考了B站博主“技术蛋老师”的视频OSI七层网络参考模型,该视频中有更加丰富的动画解释。
相关文章:
OSI七层网络参考模型与数据流通过程
OSI七层网络参考模型 文章目录 OSI七层网络参考模型1. OSI参考模型初步了解2. OSI参考模型理解3. 数据流通的过程 1. OSI参考模型初步了解 OSI,英文为Open System Interconnect,意为开放式系统互连,国际化标准组织(ISO)指定了OSI模型&#x…...
数字孪生行业相关政策梳理--工业领域相关政策(可下载)
自2021年国家“十四五”规划纲要提出“探索建设数字孪生城市”以来,国家发展和改革委员会、工业和信息化部、住房和城乡建设部、水利部、农业农村部等部门纷纷出台政策,大力推动数字孪生在千行百业的落地发展。这些政策不仅为数字孪生的应用提供了广阔的…...
【工具】咸鱼之王辅助小助手来了!
自动答题的视频演示:【工具】咸鱼之王辅助小助手来了!_哔哩哔哩_bilibili 刚开始搞,还没来得及做界面,目前只做了自动答题。 欢迎感兴趣的大佬一起来开发~...
黑马JVM总结(十)
(1)直接内存_基本使用 下面我们看一下使用了ByteBuffer直接内存,大文件的读写效率是非常的高 Java本身并不具备磁盘读写的能力,它需要调用操作系统的函数,需要从java的方法内部调用本地方法操作系统的方法,…...
JPEG、GIF动图可以转换成SVG、Eps格式的矢量图吗?
在进行图片设计的过程中,我们可能需要很多不同格式的图片,例如 JPG、PNG、BMP 和 GIF 位图图像,怎么将这些图片转换成矢量图呢?一款功能强大的应用程序,能够轻松将位图图片转换成矢量图输出。Vector Magic会帮你进行自…...
数据结构与算法的力量:编写更高效的代码
文章目录 为什么数据结构和算法重要?1. 提高性能2. 节省资源3. 解决复杂问题4. 改进代码质量 常见数据结构和算法数据结构1. 数组(Array)2. 链表(Linked List)3. 栈(Stack)4. 队列(Q…...
Python批量统计pdf中“中文”字符的个数
之前的文章提供了批量识别pdf中英文的方法,详见【python爬虫】批量识别pdf中的英文,自动翻译成中文上。以及自动pdf英文转中文文档,详见【python爬虫】批量识别pdf中的英文,自动翻译成中文下。以及Python统计pdf中英文单词的个数。 本文实现Python统计pdf中中文字符的…...
LeetCode的第 363 场周赛——记录+补题
研究生生涯第一次打力扣周赛——3题 1. 计算 K 置位下标对应元素的和 class Solution { public:int cnt(int x){int sum 0;while (x) {sum ((x%2)?1:0);x/2;}return sum;}int sumIndicesWithKSetBits(vector<int>& nums, int k) {int n nums.size();int ans 0…...
【网络协议】Http-上
Http请求结构: 结构图1: 实验解析请求报文: 1.在Edge浏览器上输入ip地址端口号文件资源,也就是下图中的120.XX.139.29:8888/A/B/c.html 2.我的程序接收到了一个没有有效载荷的http请求(呼应上面的结构图1),如下 GET …...
Langchain-chatchat本地部署
Langchain-chatchat本地部署 参考官网 环境配置 conda安装 minicoda下载地址 安装时注意勾选上添加环境变量。安装完成之后使用conda --version测试一下版本。 环境创建 先配置一下conda的镜像地址(使用阿里的靠谱一些),这里要修改一下…...
SQL故障和排查解决浅析
MySQL长连接 MySQL长连接是指应用程序与MySQL数据库之间的连接在执行完一个操作后不会立即关闭,而是保持活动状态以供后续使用。这种连接模式在某些情况下可以提高性能,但也可能导致一些问题。以下是MySQL长连接的一些现象和排查方法: 现象…...
基础算法--双指针算法
双指针算法 1.基本介绍 严格的来说,双指针只能说是是算法中的一种技巧。 双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针&#…...
企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…...
生物的神经系统与机器的人工神经网络
生物的神经系统与机器的人工神经网络 文章目录 前言一、人工神经网络二、生物的神经系统三、关系四、相似与区别4.1. 相似:4.2. 区别: 总结 前言 因为本人是学生物的,并且深度学习的核心——人工神经网络与生物的神经系统息息相关,故想要在本…...
JNI 基础
一、JNI 涉及的名词概念 1.1、 JNI:Java Native Interface 它是Java平台的一个特性(并不是Android系统特有的)。实现Java代码调用C/C的代码,C/C的代码也可以调用Java的代码. 1.2、 二进制库分类 : 静态库,动态库. 静态库 系统…...
用户参数(zabbix-agent)
-s 指向被监控端地址 -p 指向被监控端端口 -k 指向key的名字 监控内存使用率 agent vi a.conf server web界面 对数据库的avg进行监控 systemctl 创建监控项 另一台 重启 agent 监控请求数 运行时间 对自定义key的理解 写下想要监控的任何参数命令,利用zabbix…...
期权策略篇: 实现买方狂欢,让卖方稳赚不赔的策略
欢迎来到期权策略篇: 实现买方狂欢,让卖方稳赚不赔的策略,今天给大家带来的期权策略比较简单,是我们比较常见的四种单腿期权策略,这四种策略分别是买入看涨期权、买入看跌期权、卖出看涨期权、卖出看跌期权策略。本文来自…...
关于包,类名,方法名的命名规范
保持与数据库同名的一个命名规范的规则 方法名采用驼峰命名法,保持与数据库同名的一个命名规范的规则 类名采用首字母大写,驼峰命名法,保持与数据库同名的一个命名规范的规则 包名全部使用小写,保持与数据库同名的一个命名规范的规…...
1.1 安装配置CentOS
文章目录 零、学习目标一、导入新课二、新课讲解(一)安装VMWare Workstation1、获取安装程序2、进入安装向导3、按提示完成安装 (二)虚拟网络编辑器1、启动虚拟网络编辑器2、选择VMnet8虚拟网3、更改网络配置4、查看DHCP设置5、查…...
go初识iris框架(七) - 实战资源导入和项目框架搭建
实战项目框架搭建 如下是项目框架搭建后的说明: config::项目配置文件及读取配置文件的相关功能controller:控制器目目录,项目各个模块的控制器及业务逻辑处理的所在目录datasource:实现mysql连接和操作、封装操作mysql数据库的目录。model:数据实体目…...
甲胎蛋白AFP抗体——博迈伦
甲胎蛋白(Alpha-fetoprotein,AFP)是一种由胚胎组织产生的蛋白质,通常以胎儿肝脏和胎盘为主要来源。AFP是一种重要的生物标志物,可用于诊断和预测某些疾病的发展情况。 AFP抗体是指能够与AFP结合的抗体,通常…...
junit.Test误踩坑,识别不到@Test注解,无法运行测试方法
问题的出现源自于下面的一段代码: 在这一段代码中,只看到可以运行的main方法,无法看到test方法可以运行的标志。 只能运行main()方法。 开始排查,对junit包的导入进行检查,发现是没有问题的。 怀疑是否是IntelliJ IDE…...
一加Ace2V/Ace竞速版刷入氧OS13系统-谷歌服务套件-全球语言-国际版体验
截止目前2023年9月5日,一加除了刚上市的Ace2Pro机型未确定国际版以外,其他机型均可以支持氧OS系统刷入。今天我们刷入的就是一加Ace2V和一加Ace竞速版本,两款机型均为MTK天玑处理器,并且系统已经升级了COlorOS13系统,所…...
Java 华为真题-猴子爬山
需求: 一天一只顽猴想去从山脚爬到山顶,途中经过一个有个N个台阶的阶梯,但是这猴子有一个习惯:每一次只能跳1步或跳3步,试问猴子通过这个阶梯有多少种不同的跳跃方式? 输入描述 输入只有一个整数Nÿ…...
Axios笔记
1、Axios介绍 Axios基于promise网络请求库,作用于node.js和浏览器中(即同一套代码可以运行在node.js和浏览器中),在服务器中他使用原生node.js http,在浏览器端则使用XMLHttpRequest。 特性: (1)、支持 Pro…...
如何使用try-except语句处理Python中的异常
在python爬虫行业里面,异常处理能力已经成为了一项非常重要的技能。随着软件规模的不断扩大和复杂性的增加,异常处理能力已经成为了评判一个示波器水平的重要指标。 ,学会使用try-except语句来捕获和处理Python异常,对于我们做爬虫…...
学Python的漫画漫步进阶 -- 第十一步.常用的内置模块
学Python的漫画漫步进阶 -- 第十一步.常用的内置模块 十一、常用的内置模块11.1 数学计算模块——math11.2 日期时间模块——datetime11.2.1 datetime类11.2.2 date类11.2.3 time类11.2.4 计算时间跨度类——timedelta11.2.5 将日期时间与字符串相互转换 11.3 正则表达式模块—…...
发现无尽的创意可能性——Photo Image Editor Pixelstyle for Mac
无论您是一名专业摄影师还是一个爱好者,您都需要一款强大而多功能的图像编辑软件来实现您的创意。Photo Image Editor Pixelstyle for Mac将成为您的创作利器,帮助您探索图像编辑的无限可能性。 Photo Image Editor Pixelstyle for Mac是一款专业级的图…...
Smart Community(1)之设计规范
通过前面大数据开发相关知识的学习,准备做一个项目进行练习---我给他起了一个响亮的名字:基于HadoopHA的智慧社区服务平台 设计规范: 做一个项目之前肯定要先规定一些开发过程中的设计规范 (一)数据埋点规范…...
爬虫工作者必备:使用爬虫IP轻松获得最强辅助
目录 一、爬虫IP的作用与优势 二、选择合适的爬虫IP服务商 三、使用爬虫IP的注意事项和技巧 代码示例 四、合法合规使用爬虫IP 总结 随着互联网的发展,数据已经成为企业竞争的核心资源。而获取这些数据的有效方式,就是通过爬虫技术。但是ÿ…...
广州网站优化公司/关键词排名查询工具
“初入职场什么都不懂,天天追着职场前辈问东问西,还觉得理所应当。直到后来……我也成了公司老人,每一次的崩溃,都让我对曾经带我的师傅又多了一分理解。” 让很多“师傅”气到头秃、急到跳脚的不是“萌新”不萌,而是“…...
建立 网站服务器/网络营销案例分析题
相关专业领域 01. 程序设计 (算法编程 有趣的程序编程 病毒/木马编程等)02. 逆向分析 (软件破解 病毒/木马分析 还原源代码等)03. 漏洞挖掘以及利用 (利用综合能力挖掘/分析/利用漏洞等)04. 社会工程学 (通过社交行为获取敏感信息等)05. 模糊测试 (模糊测试软件漏洞等)06. 渗透…...
做网站租用服务器/成都seo优化公司排名
SELECT r.Studentno AS "李"同学学号,studentname AS 姓名,StudentResult AS 成绩 FROM result AS r INNER JOIN student AS s ON r.StudentNos.StudentNo AND studentname LIKE CONCAT(李,%) 转载于:https://www.cnblogs.com/Suaron/p/9781731.html...
网站开发网页/宁波seo网页怎么优化
随着分布式技术的发展,MQ技术产品也出现井喷。目前除了各类常用的MQ,比如Apache的ActiveMQ,Kafka,Pulsar,RocketMQ(既是Apache,也是阿里的,头条也是基于RocketMQ)&#x…...
坑梓网站建设/竞价账户托管公司
问题: 项目运行时出现未能找到路径“……\bin\roslyn\csc.exe”。 运行截图: 描述: 有时在我们做项目时或者从SVN上拉取项目运行后,会出现未能找到路径“……\bin\roslyn\csc.exe”的错误。这是因为我们在生成项目的时候VS并没有在…...
备案用网站建设方案/英文网站seo发展前景
由于公司业务比较多,部署的站点也比较多。为了网站安全运行,以防故障发生时能第一时间知晓,特意编写下面监控脚本,对网站访问状态和超时时间进行监控:当code状态为5xx或者访问超时时间大于10s时进行报警。脚本脚本如下…...