ICMP is considered a part of the IP layer, which transmits error messages and other information that requires attention. ICMP packets are often used by the IP layer or higher protocol (TCP/UDP) (some error messages are returned to the user process ). ICMP packets are transmitted inside IP datagram. For example, the format of ICMP packets is as follows: for various types of ICMP packets, different types are determined by the type fields and code fields in the packets. To associate an ICMP error message with a specific protocol or user process, when an ICMP error message is sent, the packet always contains the first eight bytes of the IP address header and the IP address datagram that generates the ICMP error message. In order to prevent the broadcast storm caused by the past Allow ICMP error packets to respond to the broadcast group, the following rules do not produce ICMP error packets: 1) ICMP error packets (however, ICMP Query Packets may generate ICMP error packets ). 2) the destination address is the IP datagram of the broadcast address (see Figure 3-9) or multicast address (Class D address, see Figure 1-5. 3) as the datagram for Link Layer broadcast. 4) It is not the first slice of the IP address (the slice will be introduced in section 11.5 ). 5) the source address is not a datagram of a single host. This means that the source address cannot be zero address, loop address, broadcast address, or multicast address. The ICMP address mask request and the ICMP address mask request are used by the diskless system to obtain its own subnet mask during the boot process. The message format is as follows: ICMP timestamp request and ICMP timestamp request allow the system to query the current time from another system. The recommended value returned is the number of milliseconds since midnight, and the coordinated unified time (coordinateduniversaltime, UTC ). The message format is as follows: the requester fills in the initiation Timestamp and then sends the message. When receiving the request message, the system must enter the receiving Timestamp and the sending timestamp when sending the response. One of the UDP rules for ICMP port non-Accessibility error is that if a UDP datagram is received and the destination port is inconsistent with a process in use, UDP returns an ICMP inaccessible packet. ICMP inaccessibility packets are as follows: