TCP/IP--七层通信

文章目录

  • TCP/IP--七层通信
    • 先来看一下会话层以上的处理
    • 再来看一下传输层以下的处理

TCP/IP–七层通信

下面举例说明7层网络模型的功能。假设使用主机A的用户A要给使用主机B的用户B发送一封电子邮件。
在七层OSI模型中,如何模块化通信传输?

先来看一下七层通信的整体架构,如下图:
在这里插入图片描述
发送端发送邮件的时候是先从应用层传输,再逐次向下到物理层;而当接收端接收邮件的时候,是先从物理层进行接收,然后逐次向上到应用层;还有就是在接收端的每一层处理内容的时候,都会给内容加上一个“首部信息”,用来指定内容发送的信息,比如说应用层写好一封邮件之后,就会给内容加上一个首部信息,这个首部信息可能包括邮件内容“早上好”和收件人“B”;而在接收端对应的层,也就是在接收端的应用层会把首部信息和发送端的发送内容相分离。因此发送端从上到下处理内容,达到物理层的时候已经给内容包括七层首部信息了,当接收端开始从物理层处理发送端发送来的内容的时候,首先物理层会把物理层的首部信息和内容分离,相当于去除了发送端发送来的内容的一层首部信息,等到接收端的应用层处理内容的时候,就可以去掉第七层首部信息了,就相当于发送端是一层一层的包裹,而接收端则是一层一层的拆封,先拆最外层,逐次到最里层。
还有就是每一层都有每一层的通信协议,有了同一个通信协议,每一层才能正确的解析对方发送来的信息。

注意每一层的通信协议都是相同的,如下图:
在这里插入图片描述

先来看一下会话层以上的处理

1.首先说一下应用层
在这里插入图片描述

应用层可以简单的想象成是应用程序的页面,比如说现在A用户想要给B用户发送一封邮件,那么A用户就需要去打开自己电脑上的邮箱,新建一封邮件。比如A用户新建邮件内容“早上好”,收件人“B用户”。那么在接收方B用户接收到发送放的内容之后,当内容被接收方的应用层处理的时候,首先因为发送方的应用层和接收方的应用层使用的是同一个通信协议,因此接收方能够正确解析发送方发来的数据,然后接收方应用层会取出内容的首部信息,得到真正的邮件信息,最后接收方应用层会把邮件存储到接收方的硬盘或者其它存储器里面。
并且如果接收方邮件已满,会给发送方应用层返回一个错误提示信息,这也是应用层干的事情。

2.再来说下表示层
在这里插入图片描述

表示层是用来提供一个“网络通用的标准数据格式”的。在邮件发送初期,必须要求发送方和接收方使用的是同一个类型的邮箱,比如说都是qq邮箱,这样接收端才能正确解析发送端邮箱发送来的数据格式。但是这对用户来说就非常的不方便,就是我如果想要给你发邮件,还必须下载和你一样的邮箱客户端,这太麻烦了。而表示层可以将“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”,这样我们只需要让每一种类型的邮箱都能够处理“网络通用的标准数据格式”就ok了。比如说现在A用户使用的是A类型的邮箱,而B用户使用的是B类型的邮箱,A类型的邮箱的数据格式是A数据格式,B类型的邮箱的数据格式是B数据格式,如果没有表示层,B用户肯定是不能处理A用户发送来的数据格式的,但是有了表示层之后,表示层可以把A用户发送来的A数据格式转换为“网络通用的标准数据格式”,而B类型的邮箱可以对“网络通用的标准数据格式”进行正确的转换,可以转换成B数据格式,这样就不会出现A邮箱和B邮箱的数据格式不通问题了。

3.接着说下会话层
在这里插入图片描述
会话层主要是确定采用何种连接方法的。比如说现在A用户想要给B用户发送五封邮件,那么是建立一次连接,一次发送五封邮件?还是建立5次连接,一次发送一封邮件。这个是会话层主要负责的。

再来看一下传输层以下的处理

4.然后是传输层
在这里插入图片描述

传输层的作用主要是建立连接和断开连接,以及当检测到目标主机上没有接收到全部的发送数据时,它会重发数据。当主机A向主机B发送邮件的时候,主机A会确保与主机B之间能够成功通信以便后面发送数据,确保通信其实就是建立连接。当主机A成功发送数据到主机B,并且主机B也全部接收了,那么这个时候传输层又会负责断开连接。
还有就是传输层可以重发数据,比如说现在主机A给主机B发送的邮件内容是“早上好”,但是主机B接收到的内容却只有“早上”,后面主机A会确认主机B是否接收到了全部的数据,检测结果是没有全部接收到,那么这个时候主机A会把“好”重新发送给主机B。

5.接着是网络层
在这里插入图片描述
在这里插入图片描述

网络层主要时进行发送数据的,传输层是负责连接和重发数据的。
网络层的作用是在网络与网络互相连接的环境中,准确的把数据从发送端主机发送到接收端主机的,这个过程中目标ip地址非常重要,它是找到目的主机的关键,目标ip地址可以理解成我们生活中的电话号码。

网络层与传输层是相互协作的关系,网络层不能确保数据一定能传达到对方的主机上,比如说本来的发送内容是“早上好”,但是发送到接收端主机之后,它只接收到了“早上”。这个时候就需要传输层起作用了,需要传输层来进行重发操作。

6和7.数据链路层和物理层
在这里插入图片描述

通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。数据链路层会把传输的数据转换成0,1二进制的形式。

然后就是物理层,物理层可以理解成之前老的座机电话的电话线。物理层可以将0,1二进制数据转换为电压和脉冲信号,进而通过物理的传输介质,比如说电话线,把电信号和脉冲信号通过物理介质传输到对端。

主机B端的处理
接收端主机B上的处理流程正好与主机A相反,它从物理层开始将接收到的数据逐层发送给上一分层来进行处理,从而使用户B最终在主机B上使用邮件客户端软件接收用户A发送过来的邮件,并可以读取相应内容为“早上好”。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础课23——设计客服机器人

根据调查数据显示,使用纯机器人完全替代客服的情况并不常见,人机结合模式的使用更为普遍。在这两种模式中,不满意用户的占比都非常低,不到1%。然而,在满意用户方面,人机结合模式的用户满意度明显高于其他模…

专访虚拟人科技:如何利用 3DCAT 实时云渲染打造元宇宙空间

自古以来,人们对理想世界的探索从未停止,而最近元宇宙的热潮加速了这一步伐,带来了许多新的应用。作为元宇宙的关键入口,虚拟现实(VR)将成为连接虚拟和现实的桥梁。苹果发布的VISION PRO头戴设备将人们对VR…

响应式特性

前言 持续学习总结输出中,今天分享的是响应式特性 1.什么是响应式? 简单理解就是数据变,视图对应变。 数据的响应式处理→ 响应式:数据变化,视图自动更新 聚焦于数据 → 数据驱动视图 使用 Vue 开发,我们主要关注…

干货分享 | 3D WEB轻量化引擎HOOPS Communicator如何读取复杂大模型文件?

HOOPS Communicator是一款简单而强大的工业级高性能3D Web可视化开发包,其主要应用于Web领域,主要加载其专有的SCS、SC、SCZ格式文件;HOOPS还拥有另一个桌面端开发包HOOPS Visualize,主要加载HSF、HMF轻量化格式文件。 两者虽然同…

【PyQt学习篇 · ⑨】:QWidget -控件交互

文章目录 是否可用是否显示/隐藏是否编辑是否为活跃窗口关闭综合案例信息提示状态提示工具提示“这是什么”提示 焦点控制单个控件角度父控件角度 是否可用 setEnabled(bool):该函数用于设置QWidget控件的可用性,参数bool为True表示该控件为可用状态&…

shopee、亚马逊卖家如何安全给自己店铺测评?稳定测评环境是关键

大家都知道通过测评可以提升产品的转化率,提升产品的销量,那么做跨境平台的卖家如何安全的给自己店铺测评呢? 无论是亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、敦煌网、Wayfair、雅虎、eBay、Newegg、乐天、美客多、阿里国际、沃尔…

unity打AB包,AssetBundle预制体与图集(一)

第一步:打AB包 1、先创建一个AB包的按钮,如图 新建一个脚本 public class BulidBundle : Editor {[MenuItem("TOOL/BuildBundle")]public static void BuildAndroidBundle(){} }创建目录 public static void BuildAndroidBundle(){// 设置…

NowCoder | 链表中倒数第k个结点

NowCoder | 链表中倒数第k个结点 OJ链接 思路:定义两个快慢指针,让快指针先提前走k个节点,然后再让慢结点和快结点一起走,当快指针 NULL时,慢指针就是倒数第k个节点 代码如下: struct ListNode* FindK…

卡尔曼家族从零解剖-(04)贝叶斯滤波→细节讨论,逻辑梳理,批量优化

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…

Web3游戏的十字路口:沿用传统IP还是另起炉灶?

人们经常问我对 Web3 游戏有什么看法。因此,我想以书面形式概述一下我目前的想法。 让我先澄清一下:我不是专家。这不是一篇深入探讨游戏世界精细指标如 MAU 或 D14 等的全面分析。请把这看作是我根据个人交流和研究,这反映我在游戏领域关注…

电脑监控软件丨2023全网最详细解析

电脑监控软件是一个比较敏感的话题,因为很多员工会觉得电脑监控侵犯了自己的隐私,电脑上企业会觉得安装软件只不过是为了保护自己的核心利益。 对于此,我们要辩证的看待。 今天我们从企业的角度出发,谈谈电脑监控软件的话题。 必…

Linux CentOS7.9安装OpenJDK17

Linux CentOS7.9安装OpenJDK17 一、OpenJDK下载 清华大学开源软件镜像站 国内的站点,下载速度贼快 二、上传解压 文件上传到服务器后,解压命令: tar -zxvf jdk-xxxx-linux-x64.tar.gz三、配置环境 export JAVA_HOME/home/local/java/j…

京东app地推拉新和京喜大赢家网推app拉新申请渠道 附全套攻略

京东app地推拉新和京喜大赢家网推拉新可以通过“聚量推客”申请 聚量推客是什么呢?一手官签服务商直营app拉新平台 京东app地推拉新项目和京喜大赢家网推拉新项目有什么区别呢? 京东app只能地推作业,京喜大赢家推广支持网推推广操作也更简…

K7系列FPGA进行FLASH读写1——CCLK控制(STARTUPE2原语)

最近的工作涉及对 FPGA 进行远程更新,也就是通过远程通信接口将 .bin 文件送到 FPGA,然后写入 FLASH,这样当 FPGA 重新上电后就可以执行更新后的程序了。因此第一步工作就是进行 FLASH 的读写控制。 然而如果尝试配置 FLASH 管脚时&#xff0…

【MySql】MySql表的增删查改

目录 1.新增 1.1单行数据 全列插入 2.2 多行数据 指定列插入 2.查询 2.1 全列查询 2.2 指定列查询 2.3查询字段为表达式 2.4 别名 2.5 去重:DISTINCT 2.6 排序:ORDER BY 2.7 条件查询:WHERE 2.8 分页查询:LIMIT 3.修…

Nginx篇---第二篇

系列文章目录 文章目录 系列文章目录一、请列举Nginx和Apache 之间的不同点二、在Nginx中,如何使用未定义的服务器名称来阻止处理请求?三、请解释Nginx服务器上的Master和Worker进程分别是什么?一、请列举Nginx和Apache 之间的不同点 二、在Nginx中,如何使用未定义的服务器…

vue开发环境搭建部署(mac版)

前言 目前后端工作越来越少了,年底了,为了先过验收。项目负责人、产品、需求制定的方案就是先做假页面,所以前端的活多点。 其实现在不喜欢搞前端,原因很多,但是感觉现在似乎流行的码林绝学又是九九归一的瓶颈期…

Prometheus接入AlterManager配置企业微信告警(基于K8S环境部署)

文章目录 一、创建企业微信机器人二、配置AlterManager告警发送至企业微信三、Prometheus接入AlterManager配置四、部署PrometheusAlterManager(放到一个Pod中)五、测试告警 注意:请基于 PrometheusGrafana监控K8S集群(基于K8S环境部署)文章之上做本次实验。 一、创…

RLHF的替代算法之DPO原理解析:从Zephyr的DPO到Claude的RAILF

前言 本文的成就是一个点顺着一个点而来的,成文过程颇有意思 首先,如上文所说,我司正在做三大LLM项目,其中一个是论文审稿GPT第二版,在模型选型的时候,关注到了Mistral 7B(其背后的公司Mistral AI号称欧洲…

HTML5的语义元素

HTML5语义元素&#xff1a; HTML5提供新的语义元素来明确一个web页面的不同部分&#xff1a;<head>、<nav>、<section>、<article>、<aside>、<figcation>、<figure>、<footer>。 1&#xff09;、<section>元素&#x…