4、然后开始检查ip fragment flag(ip fragment flag是ip数据报的第7个字节)和ip实际数据(ip代表ip数据报去掉ip头后的数据),当ip fragment flag等于0x40(ETH_IP_FLAG_FRAG_DONT)且ip实际数据长度大于ETH_IP_MTU(1480),这个时候会发送icmp unreachable packet差错报文,这里两处判断发送的icmp报文就是icmp差错报文的两种情况,我们长听说icmp差错报文到底怎么发出来的,这里就是例子。当不符合这两个条件后,ip报文进入下一级处理。
5、如果ip fragment flag等于0x20(ETH_IP_FLAG_FRAG_MORE)或者ip的第7个和第8个字节标志是分片标志,我们这个时候就获取一个ip分片包,关于分片数据包的处理,后面再介绍,下面继续介绍正常不是分片的数据包。