网络学习:数据的封装与解封装

目录

一、数据的封装与解封装

1. 数据的封装过程

2. 数据的解封装过程

二、数据的传输过程

1. 相关概念

2. 网络传输过程中数据封装和解封装模拟


一、数据的封装与解封装

1. 数据的封装过程

数据封装过程,在这里我们举例说明,以两台主机的通信为实例进行分析讲解,如下图所示:

自上而下的流程:

应用层:原始数据被转换成二进制数据

传输层:二进制数据被分割成小的数据段,并封装TCP头部 (数据段)

(TCP头部的关键信息–端口号)

网络层:传输层传来的数据被封装上IP头部 (数据包)

(IP头部的关键信息–IP地址)

数据链路层:网络层传来的数据被封装上MAC头部 (数据帧)

(MAC头部的关键信息–MAC地址)

物理层:二进制数据组成的比特流转化为电信号在网络中传输 (比特流)

2. 数据的解封装过程

数据被封装完毕通过网络传输到接收方后,将进入数据的解封装过程,是封装过程的一个逆过程,如下图所示:

自下而上的流程:

物理层:将电信号转化为二进制数据,并将其送至数据链路层

数据链路层:查看MAC地址,地址是自己,就拆掉MAC头部,继续传输,否则就丢弃数据

网络层:查看IP地址,地址是自己,就拆掉IP头部,继续传输,否则就丢弃数据

传输层:查看TCP头部,判断应该传到哪里,然后重组数据,传输到应用层

应用层:二进制转化为原始数据

二、数据的传输过程

1. 相关概念

在学习数据的传输过程之前我们还需要来了解几个其他相关概念:

PDU:对于OSI参考模型而言,每一层都是通过PDU(Protocol Data Unit,协议数据单元)来进行通信的,而对于 TCP/IP 五层结构,也是沿用这个概念。

PDU是指同层之间传递的数据单位,在TCP/IP 五层结构体系中,上层数据被封装 TCP 头部后,这个单元称为段(Segment);

数据段向下传到网络层,被封装 IP 头部后,这个单元称为包(Packet);

数据包继续向下传输到数据链路层,被封装 MAC 头部后,这个单元称为帧(Frame);

最后帧传输到物理层,帧数据变成比特(Bits)流;比特流通过物理介质传送出去。

为了方便后续的网络硬件内容学习,需要了解网络设备属于那一层,但常见的设备属于哪一层并没有严格的定义或官方的文档说明,设备属于哪一层要看这个设备主要工作在哪一层。

image.png

2. 网络传输过程中数据封装和解封装模拟

在实际的网络环境中,最终的发送方和接收方往往相隔千山万水,中间会有很多的硬件设备起到中转作用。为了说明整个过程,我们假设了一种通信结构,在两台通信的计算机之间增加了两台交换机和路由器,发送主机所发送的数据只有经过这些 “ 中间设备” 才能到达接收主机,如下图所示:

发送主机按照前面讲解的内容进行数据封装。

主要过程:

        从发送主机物理网卡发送的电信号通过网线到达交换机,交换机将电信号转换成二进制数据送往交换机的数据链路层,因为交换机是数据链路层的设备,所以它将可以查看数据帧头部的内容,但不会进行封装和解封装过程,当交换机发现数据帧头部封装的 MAC 地址不属于自己的 MAC 地址时,它不会像终端设备那样将数据帧丢弃,而是根据该 MAC 地址将数据帧智能地转发到路由器设备,在转发前要重新将二进制数据转换成物理的电信号。

        当路由器收到数据后,会拆掉数据链路层的 MAC 头部信息,将数据送达网络层,这样 IP 头部信息就 “暴露” 在最外面了,路由器将检测数据包头部的目标 IP 地址信息,并根据该信息进行路由过程,智能地将数据报文转发到下一跳路由器上,在转发前要重新封装新的 MAC 头部信息,并将数据转换成二进制数

从这个过程我们可以看出,数据在传输过程中不断地进行着封装和解封装的过程,中间设备属于哪一层就在哪一层对数据进行相关的处理,以实现设备的主要功能。

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

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

相关文章

平面纯弯梁单元Matlab有限元编程 |欧拉梁单元| 简支梁|悬臂梁|弯矩图 |变形图| Matlab源码 | 视频教程

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

NLP:自定义模型训练

书接上文,为了完成指定的任务,我们需要额外训练一个特定场景的模型 这里主要参考了这篇博客:大佬的博客 我这里就主要讲一下我根据这位大佬的博客一步一步写下时,遇到的问题: 文中的cfg在哪里下载? 要不…

Python 浅复制与深复制(Shallow Copy Deep Copy)

在Python中,赋值语句的意义是在对象与变量之间建立引用关系,相当于给对象起了名字。对于复合类型对象,由于其可以保存其他类型对象的引用,而在复制时即引出了“仅复制引用关系”或“同时复制引用对象”两种选择,即浅复…

C++ 哈希表OJ

目录 1、1. 两数之和 2、面试题 01.02. 判定是否互为字符重排 3、217. 存在重复元素 4、 219. 存在重复元素 II 5、49. 字母异位词分组 频繁查找某一个数的时候可以使用哈希表,哈希表可以使用容器,也可以使用数组模拟,当元素是字符串中的字…

SoundTouch对音频处理(Android)

SoundTouch对音频处理(Android) SoundTouch介绍 SoundTouch 是一个用于音频处理的开源库,主要用于改变音频的速度、音调和音量等特征。您可以在项目中使用 SoundTouch 库来实现音频处理的功能,比如变速播放、音高变化、混响效果…

上海亚商投顾:沪指震荡微涨 AI手机、军工板块集体走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日低开后震荡回升,黄白二线分化明显,银行等权重板块走势较强。AI手机概念股持续…

基于yolov5的柿子成熟度检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的柿子成熟度检测系统,系统既能够实现图像检测,也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili (一)简介 基于yolov5的柿子成熟度检测系统是在pytorch框架下实现的,这是一个完整的…

JavaWeb----MySQL

一:JavaWeb相关介绍 Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站 JavaWeb:是用Java技术来解决相关Web互联网领域的技术栈 JavaWeb流程 1.网页:展现数据 2.数据…

BI财务实战:毛利分析怎么做?终于有人讲透了

在上两篇,我们分享了 今天,我们将开启财务分析系列的第三篇,深入研究真实业务背景,并通过详细的分析思路和实际操作步骤,探讨如何在多种因素的交织影响下,准确定位毛利变化的关键要素。通过这一深入剖析&a…

docker 部署prometheus+grafana

首先进行部署docker 配置阿里云依赖: curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 配置centos 7的镜像源 yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装一些后期或需要的的一下依…

AI制作PPT软件有哪些?亲测并推荐10款PPT制作AI工具!

在信息爆炸的时代,我们都渴望找到一种最佳方式,可以让我们的思想和观点更有效地传达出去。其实最适合的表达工具,就在我们身边——很多人熟悉的PPT工具,就是这样一个强大的媒介。 不过,面对市场上琳琅满目的PPT制作工…

学会这样回复客户,高效又便捷!

如何高效的回复客户信息是广大企业及商户需关注的议题。以下介绍几个实用小妙招,能够促进客户体验,提高工作效率。 1. 客户分级:根据重要性对客户进行分类,先处理重要客户的信息,提升他们的满意度。 2. 自动回复&#…

elementui 去掉el-input中textarea的右下角标、关闭高度调整功能

1、示例图 2、实现代码 ::v-deep .el-textarea {.el-textarea__inner {resize: none; // 去除右下角图标} }

如何提高项目成功率?分享20 种项目管理工具、技术和软件

本文将分享20种项目管理常用的工具、技术和软件,比如项目管理软件 PingCode、Worktile、Redmine、Jira、SAP、PrimaveraSystems等;项目计划阶段工具和技术WBS、甘特图、PERT图、风险评估矩阵等等。 项目管理是确保项目成功交付的关键,它涉及到…

龙蜥社区成立系统安全 SIG,助力系统安全生态

随着数字化时代的到来,云计算、大数据、人工智能等技术的广泛应用,操作系统承载越来越多的关键业务和数据,其安全性对于信息系统的运转和发展具有至关重要的作用。因此,加强操作系统安全防护、提高安全意识和防范能力是数字化时代…

电商API 接口列表|包含淘宝|京东|1688商品接口

电商API 接口列表 整理了一些 API 接口,可以用于 Vue、React、UniApp、微信小程序等项目实践练习。 为了方便调用,大多使用GET方式请求,传参采用混合 params 和 query方式。 所有接口仅供学习交流使用,不保证实时更新,…

SkyEye:助力飞行器状态控制系统仿真

飞行器与常见的航天器一样,属于安全关键领域的大型复杂设备,对安全性、可靠性有着极高的要求。为保证稳定飞行,需要对目标对象进行实时跟踪,通过发出正确的修正偏差指令来操纵飞行器改变飞行姿态,因此对飞行器状态控制…

Leetcode 206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: 输…

stl的基本知识学习

1.vector: 2.set: 3.map: 4.栈: 5.队列: 6. unordered_map与unordered_set: 7. 位运算: 8.cctype: 导图:

【物联网】-智能社会的分类

万物感知 感知物理世界,变成数字信号 (温度、空间、触觉、嗅觉、听觉、视觉) 万物互联 将数据变成online,使智能化 (宽联接、广联接、多联接和深联接) 万物智能 基于大数据和人工智能的应用 &#…