IP数据包分片理解

来源:互联网 发布:p2p局域网监控软件 编辑:程序博客网 时间:2024/06/05 06:29
 

IP数据包分片理解

一、     以太网帧格式如下:

     

      MAC数据包的最小值为46byte,至于这个最小值是因为以太网信道侦听需要,1500byte为规范值。

      一般的电脑MTU设置值为1500,就是基于MAC最大封包的考虑。一般的IP包的大小肯定超过1500byte,为了能在MAC帧中传输,必须将IP包进行分片,分成适合传输的MAC帧。

可以测试发现,当IP数据包的大小超过1500byte时,且不允许分片时,电脑系统拒绝发送此报文,同时提示数据包需要分片。

使用ICMP包进行测试,因为IP头占用20byte,ICMP头占用8byte,所以ICMP包大小最大为1472byte。测试,使用1472的ICMP报文可以通过,但是使用1473的ICMP不分片报文则不能通过。

测试1:

 

抓包如下,1472byte的ICMP报文可以通过不分片进行传输;

 

   测试2:

因为ICMP报文的大小为3000byte,所以肯定报文要进行分片,抓包如下:

第一个ICMP报文,满载1472byte。IP包中fragment flags 字段表有后续有Ip分片。

第二个报文(第一分片)就直接通过IP分片传输,且不包含ICMP头,此IP包承载的大小为1480byte。

第三个报文(第二分片),承载的数据包大小为48byte,分片结束。此包的整个大小为:1472+1480+48=3000 byte

原创粉丝点击