什么是数据封装和解封装?

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:23:35

数据封装

(Data Encapsulation)

数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在 OSI 7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成。

每层可以添加协议头和尾到其对应的 PDU 中。协议头包括层到层之间的通信相关信息。协议头、协议尾和数据是三个相对的概念,这主要取决于进行信息单元分析的各个层。例如,传输头(TH)包含只有传输层可以看到的信息,而位于传输层以下的其它所有层将传输头作为各层的数据部分进行传送。在网络层,一个信息单元由层3协议头(NH)和数据构成;而数据链路层中,由网络层(层3协议头和数据)传送下去的所有信息均被视为数据。换句话说,特定 OSI 层中信息单元的数据部分可能包含由上层传送下来的协议头、协议尾和数据。

例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B 应用层。计算机 A 的应用层联系任何计算机 B 的应用层所必需的控制信息,都是通过预先在数据上添加协议头。结果信息单元,其包含协议头、数据、可能包含协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。

计算机 B 中的物理层接收信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取包含在计算机 A 的数据链路层预先添加在协议头中的控制信息;其次去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至高一层。应用层执行完后,数据就被传送至计算机 B 中的应用程序接收端,最后收到的正是从计算机 A 应用程所发送的数据。

网络分层和数据封装过程看上去比较繁杂,但又是相当重要的体系结构,它使得网络通信实现模块化并易于管理。

解封装正好是封装的反向操作,把封装的数据包还原成数据.