网络协议之数据的封装和解封装

当我们通过软件发送一个请求的时候、往往是如下格式:方法 + URL + http协议头

在七层网络中是如何封装发送的呢?如下图以Hello代替软件的http数据包

 

网络协议之数据的封装和解封装

在实际数据传输中每一层都有相应的协议,但是其中的表示层和会话层的协议(传输数据的时候不会对数据做任何操作),于是将这两层合并到应用层,也称为TCP/IP五层模型

在这里我们假设我们的软件发送hello到目的端:

1、数据在应用层进行封装发出、经过 表示和会话层时候不会做任何操作:数据包内容为hello

2、当数据包传送到传输层时:传输层会对数据包进一步封装、为该数据包添加TCP/UDP头,具体添加哪一个取决于应用层使用得是哪一个,其中包含了源端口和目的端口号、源端口号往往是指定的、或是浏览器自动指派的端口。

3、在传输层封装了端口号、数据传送到网络层对数据包进一步封装,为该数据包添加了IP头、其中包含源ip和目的ip,这样在数据传输的过程中数据就可以找到对应的目的主机

4、经过以上的封装、数据就已经到达了设备的网卡上、下一步就要通过网线进行传输了、但是一个载体来进行传输、因此在数据包中在加入含有源MAC地址和目标MAC地址字段

5、经过物理层实际的网线进行数据传输

 

在目的端电脑上、当数据到达以后,目的端会对数据包进行一个解封装,其中过程如下

网络协议之数据的封装和解封装