ICMP (Internet Control Message Protocol) is a message control and error-reporting protocol between a host server and a gateway to the Internet. ICMP uses Internet Protocol (IP)datagrams, but the messages are processed by the IP software and are not directly apparent to the application user.