封装和解封装
今天我们重点学习封装和解封装
首先我们来看看它们的概念:
封装:将上层的应用数据按照OSI参考模型从上到下的依次加入相应的头部。
解封装:将一个封装好的数据按OSI参考模型从下到上依次去除相应的头部,将数据传递给应用。
关于OSI参考模型可以参考文章 OSI七层模型与TCP/IP四层模型
如果你觉得不好去理解,那么下面我用一个实际的例子去进行展示。
男士给女生通过某个应用程序发送了:你好 ,对于“你好”这个数据,我们描述了封装与解封装的一个简要流程,上图不完全精确,因为还涉及到很多网络概念比如前导位、帧、FCS等,但这张图能够让我们很快的了解封装与解封装的基本过程。
数据到达传输层时,称为 数据段(Segment)
数据到达网络层时,称为 数据包(Packet)
数据到达数据链路层时,称为数据帧(Frame)
数据传输过程中添加到数据包或段前面的附加信息,称为报头(Header)
封装
根据上图,我们进行封装的概念讲解:
首先,男士通过某个应用程序(比如微信、QQ等)向女士发送了一条消息“你好”
我们的