ciarfella@shug.enet.dec.com (Paul Ciarfella) (12/01/90)
RFC 1122 says that ICMP messages must not be generated as a result of receiving non-initial fragments of a datagram. But, what happens if reassembly of a datagram times out and the initial fragment was never received. Does this mean that I cannot send an ICMP Time Exceeded given that I don't have the initial fragment? Thanks, Paul C --------------------------------------------------------------------------- Paul Ciarfella Digital Equipment Corporation Littleton, MA --------------------------------------------------------------------------- Disclaimer : My opinions are my own. | When in doubt, mumble. Address : ciarfella@shug.dec.com ---------------------------------------------------------------------------
barmar@think.com (Barry Margolin) (12/01/90)
In article <17727@shlump.nac.dec.com> ciarfella@shug.enet.dec.com (Paul Ciarfella) writes: > RFC 1122 says that ICMP messages must not be generated as a > result of receiving non-initial fragments of a datagram. > But, what happens if reassembly of a datagram times out > and the initial fragment was never received. Does this > mean that I cannot send an ICMP Time Exceeded given that > I don't have the initial fragment? Correct. ICMP error messages are supposed to contain the first N data octets from the IP datagram that caused the error. This allows the recipient of the ICMP error to determine which higher-level protocols got the error, and report the error back to the appropriate entities. If you haven't received the first fragment then you can't have the first N data octets, so you won't be able to construct a useful error datagram. If you don't receive the initial fragment then the sender will simply behave as if no fragments made it to you, presumably timing out and perhaps retransmitting. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar