互联网数据传输原理 |OSI七层网络参考模型

网络模型

在这里插入图片描述

OSI 网络参考模型,仅作为参考,也就是说OSI网络实际中并不使用。我们只是把OSI网络模型作为参考,在网络出现问题的时候,可以从一个宏观的整体去分析和解决问题。而且搭建网络的时候也并不一定需要划分为7层

但是当今互联网广泛使用的是TCP/IP网络模型,他原本是四层,实际上划分为五层更符合实

OSI模型的目的:解决主机之间的网络通讯

各层的作用

例子:华为电脑用浏览器访问苹果电脑搭建的网站。两个应用具体需要如何进行交互就是应用层的事情了。应用层并不是说你需要使用什么应用程序,而是应用如何沟通。常用的应用层协议HTTP协议,使得应用之间可以实现沟通。

在这里插入图片描述

应用层就是最接近用户的那一层。但是应用层只不过是逻辑上把两个应用连通,实际物理上的连通是需要物理层的。我们要发送出去的数据在计算机里只不过是无数的0和1,0或者1就叫做比特。物理层就要把这些比特用不同的媒介传输出去。

在这里插入图片描述

可以用电,用光或者其他形式的电磁波来表示和传输信号。数据从网络接口出去以后会经过不同的网络拓扑。

在这里插入图片描述

并不是一条线走到底,因此需要中继器和集线器这样的设备。

在这里插入图片描述

但还是不够,信号要去到哪台设备是需要定向的。因此需要高级一点的网络模型,在数据链路层这里,比特会被封装成

在这里插入图片描述

帧就是这一层表示数据的特殊名字而已。在封装的时候会加上MAC地址,也就是传说中的物理地址。网卡出厂的时候就有着全球唯一的MAC地址。

在这里插入图片描述

为了可以通过MAC地址对不同设备进行数据的传输,就出现了交换机。这里说的是二层交换机。

在这里插入图片描述

比方说这里有一台交换机,连接多台主机。

在这里插入图片描述

发送端发送数据的时候,交换机就知道了发送端的MAC地址。如果此时交换机也知道接收端的MAC地址,就可以把数据直接发送过去了。物理地址就是这样一跳一跳地进行传递

在这里插入图片描述

另外因为物理层在传输0和1的时候,可能会0变成1,或者1变成0。会进行差错检测以及一定的差错纠正。

在这里插入图片描述

另外设备之间的传输能力以及接受能力也是个问题,很可能这边“喷水”式传输,另一边“夹缝式”接受。因此需要流控制来避免这种不对称。

在这里插入图片描述

我们知道互联网是一张大网,如果用MAC物理地址来作为唯一的寻址方法是不科学的。

比如我和你买了同一个厂的网卡,我和你的网卡差别只有一个字母。

在这里插入图片描述

但是我和你距离十万八千里,物理地址此时就很难做出快速定位。

在这里插入图片描述

相当于我有你的名字,但不知道你住哪里,找不到你。因此需要IP地址来进行寻址路由选择。IP这样的逻辑地址就是实现端到端的基础了,而不是物理地址那样的跳到跳传输。

在这里插入图片描述

说到路由选择,也就是说路由器也是网络层的核心。

在这里插入图片描述

就是网络层里数据的名字。在封装为二层的帧之前就是包。

在这里插入图片描述

路由器根据包里IP地址进行路由转发。

在这里插入图片描述

地址管理和路由选择就是这一层的核心。虽然有MAC和IP地址可以抵达对方主机,但是对方主机可能运行着无数多个软件进程。假设我用谷歌和火狐浏览器同时登录网站,如何让数据去到指定的软件服务上,就需要用到端口号作为地址来定位了。比如客户端这里生成不同的端口号。

在这里插入图片描述

即使同时访问HTTP端口80也是没问题的,根据不同的源端口号来作出响应就可以了。所以传输层(运输层)在网络层的端到端基础上,实现了服务进程到服务进程的传输就是传输层里数据的名字。

在这里插入图片描述

传输层管理两个节点之间数据的传输,负责可靠传输不可靠传输,既TCP UDP

在这里插入图片描述

其中TCP允许应用把字节流变成多份段,而不是整个字节数据完整地发送出去。

在这里插入图片描述

传输层还有流量控制来确保传输速度,再加上错误控制来进行数据完整的接收。

在这里插入图片描述

接下来会话层也比较好理解。比方说你现在登录了某个网站,网站服务可以保持你的登录状态,不用每次都输入账号和密码。当然网站服务会管理和控制登录状态。

在这里插入图片描述

另外会话层还负责同步服务。比方说你上次看到电影高潮的时刻突然停电了,再次登录账号的时候就可以自动同步岛上次看到的时间段。

在这里插入图片描述

不同计算机内部的各自表达方式可能不太相同。表示层就来负责这样的转换,也就是编码解码

在这里插入图片描述

数据往往还需要进行加密,比方说HTTPS( SSL/ TLS)就会对我们的数据进行加密和解密。

在这里插入图片描述

另外我们可能还需要给文件瘦身,压缩也是这一层负责的。

在这里插入图片描述

应用层,表示层和会话层的数据统称为应用数据或者应用负载也可以叫上层数据。同时也是教科书上说的报文。

数据在各层的名字分别是:报文比特

在这里插入图片描述

就地址来说:有端口号IP逻辑地址MAC物理地址

在这里插入图片描述

就传输功能来讲:有服务进程到服务进程端到端跳到跳

在这里插入图片描述

数据流通过程

客户端要发送数据,也就是报文。报文来到传输层加上端口号,封装成段。段来到了网络层,加上IP地址,封住成包。注意这里的包是含有目标IP地址的,毕竟你要知道数据要发送到什么地方。

在这里插入图片描述

但因为目标IP地址不是同一个网络下的,要发送到其他的网络就需要经过默认网关。现在就出现了一个问题,客户端主机最初并不知道默认网关的MAC地址,没有办法封装成帧。这个时候就可以用ARP协议进行广播,找到网关IP对应的MAC地址把包封装成帧。

网关:计算机的网关(Gateway)就是到其他网段的出口,也就是路由器接口IP地址

ARP协议:即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址

源MAC地址填自己的,目标MAC地址填广播地址。假设当前网络有个二层交换机,这个交换机只需要记录下不同的接口对应的MAC地址就好了,交换机收到广播后就帮忙发送出去“人手一份”。

在这里插入图片描述

所以默认网关收到消息后查看了帧,发现了发送端的MAC地址,再解封发现包里面的IP地址,就会把客户端MAC地址和IP地址关联为一台主机。同时默认网关会把自己的IP地址放入包里,再结合自己的MAC地址封装成帧,默认网关就这样做出响应。这样原路返回,发送端就知道默认网关的MAC地址了。

在这里插入图片描述

现在就可以封装成帧,并且发送数据。

在这里插入图片描述

比特流到了默认网关的时候,解封为帧发现是送给自己的,那解封为包查看到目标IP地址是在另一网络中的,就会进行路由转发,最终到达了目的网络。如果目标的网关知道目标IP地址和MAC地址是哪台主机,封装成帧就可以直接发送过去了。

在这里插入图片描述

如果不知道也还是可以用ARP喊下街就好。目标主机收到包确认是自己的IP地址以后,解封查看段可以发现源和目标端口号,用目标端口号给到指定的应用程序。应用程序处理好以后,就可以按照源的信息做出响应。回去的原理也是一样的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springcloud分布式事务

文章目录 一.为什么引入分布式事务?二.理论基础1.CAP定理2.BASE理论 三.Seata1.微服务集成Seata2.XA模式(掌握)3.AT模式(重点)4.TCC模式(重点)5.Saga模式(了解) 四.四种模式对比五.Seata高可用 一.为什么引入分布式事务? 事务的ACID原则 在大型的微服务项目中,每一个微服务都…

CPU的三大调度

计算机系统中的调度可以分为不同层次,包括作业调度、内存调度和进程调度。这三种调度分别负责管理和优化计算机系统中不同层次的资源分配和执行顺序。 高级调度:作业调度(Job Scheduling): 作业调度是指对提交到计算…

ubuntu上搭建bazel编译环境,构建Android APP

背景是github上下载的工程,说明仅支持bazel编译,折腾了一天Android studio,失败。 不得不尝试单价bazel编译环境,并不复杂,过程记录如下 说明:ubuntu环境是20.04,pve虚拟机安装 1.安装jdk sudo…

坚鹏:广发银行梅州分行银行数字化转型战略、方法与案例培训

广发银行成立于1988年,前身为广东发展银行,经国务院和中国人民银行批准,是国内首批组建的全国性股份制商业银行之一,2016年8月,广发银行成为中国人寿团成员单位,2021年成为首批国内系统重要性银行。2022年&…

Java解决矩阵对角线元素的和问题

Java解决矩阵对角线元素的和问题 01 题目 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a…

Ubuntu-rsyslog和systemd-journald日志服务

rsyslog日志服务 rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。 常见的日志文件如下: /var/log/messages 绝大多数的系统日志都记录到该文件 /var/log/secure 所有跟安全和认证授权等日志…

k8s初始化报错 [ERROR CRI]: container runtime is not running: ......

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

构建Servlet项目流程

第一步:创建maven项目 部分基础 依赖的模板基础部分如下 maven-archetype-quickstart: 这是最基本的Archetype,它创建一个包含简单Java类和单元测试的项目。 maven-archetype-webapp: 这个Archetype创建一个简单的Java web应用,包括一个serv…

企业计算机服务器中了eking勒索病毒怎么办,eking勒索病毒解密数据恢复

随着计算机网络技术的不断发展与应用,企业的生产运营效率得到了极大提升,但网络安全威胁一直存在,网络威胁的技术也在不断更新,给企业的数据安全带来了严重威胁。在本月,云天数据恢复中心陆续接到很多企业的求助&#…

国产Type-C PD芯片—接口快充取电芯片

常用USB PDTYPE-C受电端,即设备端协议IC芯片(PD Sink,也叫PD诱骗芯片),诱导取电芯片。 产品介绍 LDR6328: ◇ 采用 SOP-8 封装 ◇ 兼容 USB PD 3.0 规范,支持 USB PD 2.0 ◇ 兼容 QC 3.0 规范&#x…

每日一练【四数之和】

一、题目描述 18. 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复&#x…

99、NeRF ray space

CG相机模型 在图形学中最常用的相机模型的原理和小孔成像是类似的。 不同之处在于,如上图,小孔成像得到的图像是倒立的,但是我们希望得到的图像是正向的,因此,我们选择小孔前成像。 从 3D 到 2D 的投影,…

前端开发学习 (五) 生命周期函数、Ajax请求

关于vue实例的声明周期,从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期 (https://cn.vuejs.org/v2/guide/instance.html#实例生命周期 ) 而声明周期勾子就是生命周期…

uniapp切换页面时报错问题

我们来看如下错误: 该错误的意思是不能切换到 tabbar 页面。tabbar页面通常是公共页面或者底部导航栏,如果我们用 navigateTo 或者 redirectTo 都不能实现页面切换。 我们有两种方式: 第一种是用 switchTab 来进行切换,但注意切…

了解c++11中的新增

一,统一的初始化列表 在引入c11后,我们得出计划都可以用初始化列表进行初始化。 C11 扩大了用大括号括起的列表 ( 初始化列表 ) 的使用范围,使其可用于所有的内置类型和用户自 定义的类型, 使用初始化列表时,可添加等…

从简单的词法分析、语法分析、目标代码生成、语法解释器的过程,粗略讲一下代码的运行过程

目录 简述 为什么能常说C、C语言比C#或java性能好呢 编程语言类别 代码实现一个从源码到到AST再到Interpreter 词法分析器(Lexer) 语法分析器(Parser) 解释器(Interpreter) 代码生成器(C…

uni-app 设置当前page界面进入直接变为横屏模式

首先 我们打开项目的 manifest.json 在左侧导航栏中找到 源码视图 然后找到 app-plus 配置 在下面加上 "orientation": [//竖屏正方向"portrait-primary",//竖屏反方向"portrait-secondary",//横屏正方向"landscape-primary",//横屏…

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.侏儒猫鼬算法4.实验参数设定5.算法结果6.参考…

智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.海鸥算法4.实验参数设定5.算法结果6.参考文献7.MA…

mapbox导入本地geojson数据并渲染

成果图 思路与源码 我这里使用的是ant的upload组件 <a-uploadv-model:file-list"fileList":showUploadListfalsename"file"action"https://www.mocky.io/v2/5cc8019d300000980a055e76":headers"headers"change"handleChange&…