封装的概念是重中之重,不仅是TCP/IP协议其他很多协议都涉及数据封装。为什么数据要封装?因为数据不通过TCP/IP协议封装就无法在网络中传输。封装,通俗的意思就是各协议加入自己的首部。见下图:

 

TCP/IP协议封装

(20年前的《TCP/IP详解 卷1:协议》拍照,凑合用了,多多包涵)。在解封过程中各协议只能处理自己的首部,处理过程是各协议剥离自己的首部并读取其中各协议域的值,根据值调用程序中的不同处理模块。例如,以太网链路层的解封过程,剥离并读取以太网首部中的目的MAC。如果目的MAC是广播地址传给下一个协议模块处理,如果目的MAC是单播有两种情况:

1、目的MAC等于自己网卡中的MAC地址,数据包继续向上层协议传输。

2、目的MAC不等于自己网卡中的MAC地址,丢弃数据包。

用户数据有些场景称为有效载荷、payload由应用层中的进程产生。

作者注:本站文章均为个人观点,仅供参考。