It is possible for a datagram to generate ICMP errors after it has been fragmented. For example, suppose that each of two fragments cannot be delivered. Seemingly, this would mean that one transmitted datagram would cause two ICMP errors to be sent back to the transmitter. However,the textbook on page 517 indicates that the ICMP error should be sent for only the ?rst fragment that causes the error. This is a convenient simpli?cation: it means that your transmiting APP need never listen for more than one ICMP error response.
RFC 791 de?nes IP and RFC 792 de?nes ICMP. Both date to September 1981. ICMP, although typically mentioned as a separate protocol-and sometimes not mentioned at all-is a required part of IP; i.e., an implementation of IP is non- conforming unless it includes ICMP. RFC 1122 (October 1989) updates and clari?es the earlier standards, based on experience gained in the 80s. RFC 1122 is quite long and detailed. Since RFC 1122, the only revisions to IPv4 have addressed type-of-service.