为什么没有为不是第一个片段的碎片数据报生成ICMP错误消息?

问题描述 投票:-1回答:3

不会为不是第一个片段的碎片数据报生成ICMP错误消息。 - FOROUZAN的数据通信和网络

为什么?

networking icmp
3个回答
1
投票

定义ICMP的原始RFC,RFC 792, INTERNET CONTROL MESSAGE PROTOCOL,制定了这个规则:

ICMP消息通常报告处理过程中的错误 数据报。避免消息的无限回归 等,不发送有关ICMP消息的ICMP消息。也是ICMP 消息仅发送有关处理片段零的错误 fragemented datagrams。 (片段零的片段offeset等于零)。


0
投票

只有第一个片段具有IP头信息。发送ICMP错误时,原始数据报的前8个字节。对于第一个片段,这8个字节(实际Ip头)将是发送者的有用信息,而不是其他片段的情况。


0
投票

只有第一个片段有TCP头。

当发送方收到ICMP时,ICMP数据部分有两种类型的标头。 (IP,TCP)

发件人可以检查TCP标头以恢复错误。

但是,如果不是第一个片段,则没有数据可以检查出错了什么

因此,ICMP仅为第一个片段生成。因为发件人不能做任何事情。

© www.soinside.com 2019 - 2024. All rights reserved.