数据封装

2018/10 28 08:10

数据封装

数据封装,一台计算机要想发送数据到另一台计算机,数据首先必须打包,打包过程称为封装。

封装就是在数据前面加上特定的协议头部。

发送方:当应用程序用TCP传送数据时,数据被送入协议栈中,然后通过每一层直到被当作一串比特流送入网路。其中每一层对收到的数据都要增加一些首部信息(封装),有时还要增加尾部信息。TCP传给IP的数据单元称作TCP报文段(TCP segment),IP传给网络接口层的数据单元称做IP数据报(IP datagram),通过以太网传输的比特流称作帧(Frame)。

封装过程:

用户数据

Appl首部 用户数据

TCP首部 应用数据(TCP段)

IP首部  TCP首部 应用数据(IP数据报)

以太网首部 IP首部   TCP首部 应用数据 以太网尾部  (以太网帧)

可见,数据自上而下递交的过程实际上就是不断封装的过程。

  所以,对于接收方,数据自下而上递交的过程就是不断拆封的过程。

由于TCP、UDP、ICMP、IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识以表明数据属于那一层,为此,IP在首部中存入了一个长度为8bit的数值,称为协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。

类似的,许多应用程序都可以使用TCP或UDP来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。TCP和UDP都用一个16bit的端口号来表示不同的应用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部中。

网络接口分别要发送和接收IP、ARP、RARP数据,因此也必须在以太网帧首部中加入某种标识,指明生成数据的网络层协议,以太网的帧首部也有一个16bit的帧类型域。

--转载请注明: http://91o.cc/%e6%95%b0%e6%8d%ae%e5%b0%81%e8%a3%85/

作者 - 分类 未分类

发表回复

(必填)