一、关于应用层用户数据的历程,见下图:
TCP/IP数据包的封装
过程:应用层将数据通过协议栈逐层向下传递,其下的每层接到来自上层的数据时,根据每层的协议都要在其数据
的前端添加首部信息进行封装。不同的协议层对数据包有不同的称谓,在传输层叫做数据段,在网络层叫做数据报,
在链路层叫做数据帧。在经过链路层时,数据已经封装成帧并递交给物理层的传输介质上,到达目标主机后,同理每
层协议在逐层剥掉其首部,最后递交给目标主机应用层的数据与源主机发送的数据一致。
注:对于有效数据称之为“有效载荷”,添加的部分称其为“报头”,下层收到来自上层交付的数据时,对于下层来
说并不关心其具体内容,因为站在当前层的角度来看,此时已添加上层报头信息的数据整个都被视为有效载荷,当前
层要做的只是继续封装该数据,即添加自己的报头。而解包的过程亦是如此,每层只负责剥离自己能识别的报头信
息。任何数据报中的报头信息必须包含"上层协议",即要把当前的有效载荷交付给上层的谁谁谁。
二、上图适应两台计算机在同一网段的情况,如果是不同网段,从源主机到目标主机间的数据传输则须经过一个或多
个路由器,以实现数据的跨网络传输。
注:路由器是工作在第三层的网络设备,同时兼有交换机的功能,可以在不同的链路层接口之间转发数据包。因此路由
器需要将进来的数据包拆掉网络层和链路层两层首部并重新封装。
三、以太网帧格式
帧格式:其中源地址和目的地址指的是网卡的硬件地址(也就是MAC地址),长度为12个字节(48位),由生产
厂家烧制具有唯一性的地址标识,出厂时既已固化。在centos下利用config命令可以查看MAC地址。帧协议类型包
括了IP、ARP、RARP这三种协议,其类型值分别为0800的IP协议,0806的ARP协议,0835的RARP协议。而后
是有效载荷的大小(数据长度),最后是CRC校验码,用于差错校验的。
注:HWaddr则为MAC地址。
有效数据:以太网帧中的数据长度规定最小46字节,最大1500字节,ARP和RARP数据包的长度不够46字节,要在
后面补填充位。最大值1500称为以太网的最⼤大传输单元(MTU),不同的网络类型有不同的MTU,如果一个数据包从