什么是数据封装与解封装

在我们数据传输过程中要遵循对等层次通信,每一层都与另一方对等层次进行通信,网络层-网络层、数据链路层-数据链路层。而这些对等通信,并非直接进行的。而是由下层逐层封装来完成对等层交换数据,这就是我们数据的封装,而解封装,就是上层需要与下层进行通信,于是逐层解封装至目标层进行通信。
这里的上下层就是指的网络参考模型的层次
上面可能说的有点复杂不易于理解,可以记住下面这句话:

数据发送时,从上至下逐层封装
数据接收时,从下至上逐层解封装
只有拆除外层封装,才能看到内层封装

TCP/IP 五层模型对应每层格式

所遵循的层次

数据封装的流程

封装与解封装流程
1.数据从应用层发出,进入传输层
传输层会为我们数据打上TCP or UDP头部,里面包含了我们数据的源端口、目的端口,到这层的时候,我们数据已经被封装成了数据段
2.再来,数据段从传输层发出,进入网络层在网络层,会为我们的数据段打上一个IP头部里面包含了数据段的源IP 、目的IP,这时候在网络层的数据段被封装成了数据包
3.在来,数据包从网络层发出,进入数据链路层在数据链路层会封装一个以太网帧头部里面包含了我们二层数据源MAC、目的MAC地址,这时候我们的数据包已经被封装成了数据帧
4.最后,数据帧从数据链路层发出,进入物理层,在这里将由物理层将帧转换为01011二进制形式的比特流在网络进行传输。

注意,数据的封装、解封装都是逐层进行的,不会出现跃层通信

数据的解封装

同封装原理一样,只不过顺序进行了颠倒,从物理层的二进制数据流开始逐层解封装直至应用层

小节

本篇了解了我们数据封装与解封装的流程,让我们理解了数据是如何在网络各层传输通信的,后续我们会使用wireshark抓包软件来逐层分析。