封装与解封装

封装:将数据变为比特流的过程中,在参考模型的每一层需要添加上特定的协议报头动作

动作:从高层往低层依次封装,在每一层使用特定的协议,对数据进行处理,在数据前添加特定的协议报头。

封装原则:

1:每一层在上一层数据前添加协议报头

2:添加完协议报头的整体,就是该层的PDU

3:每一层的PDU对于下一层来说就是上层数据(每一层的上层数据就是上层的PDU)

PDU(协议数据单元,也就是每层的数据单位)

应用层:APDU

表示层:PPDU

会话层:SPDU

传输层:段(segment)

网络层:包(packet)

数据链路层:帧(frame)

物理层:比特(bit)

封装由发送者发送出去,数据只有被封装以后才有可能被发送出去。

*主机在封装数据包之前,必须要知道目的端IP地址,在封装数据帧之前,必须要知道去往目的网络的路由以及下一跳的MAC地址。

封装的必要参数

传输层:源端口号     目标端口号

网络层:源IP地址     目标IP地址

数据链路层:源MAC地址   目标MAC地址

解封装:封装的逆过程,数据从比特流还原为数据的过程

动作,从底层往高层依次解封装,每解封装一层,会将该层的忒点那个协议报头去掉

解封装原则:

1:必须从底层往高层解封装

2:解封装时,只有协议报头合理(打个比方,你收到一个包裹,上面有你的名字还有你的家庭住址才是你的,之久叫做合理),才可以解封装。

3:解封装一旦停止,数据就会被丢弃

解封装由接收者触发,数据必须经过解封装才可以被接受

数据链路层分为两个子层:

LLC子层:逻辑链路控制子层--负责和上层协商,使用SAP来区分不同的上层协议

MAC子层:介质访问控制子层

数据链路层有FCS(帧检验字段)用于检测数据的完整性

LLC子层提供服务访问点(SAP),标识上层协议

1:每一层都需要利用下层的服务进行通信

2:每一层都需要为上层服务,所以需要标识上层所使用的协议或应用

传输层:使用端口号标识上层应用

网络层:使用协议号标识上层应用