Ans :
Internet control message protocol (ICMP) is a network layer protocol. Since
Internet Protocol(IP) does not have a built-in mechanism for sending error
and control messages, a separate protocol namely: ICMP is used to support
error control. It is responsible to report errors and management queries.
ICMP is a implemented in the networks devices like routers for sending the
error messages and operations information. e.g. host is unreachable. Another
use of the ICMP is in congestion control in the network and flow control
between sender and receiver by sending a request to decrease traffic rate.
ICMP packet is also used in defining the TTL value of a path.