We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Networking

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is the Internet Control Message Protocol?

By Robert Grimmick
Updated: May 16, 2024
Views: 13,681
Share

The Internet Control Message Protocol (ICMP) is a utility used for error reporting and diagnostic purposes in computer networks. ICMP is part of the Internet Protocol (IP) Suite, and consists of predefined messages with varying purposes. Most aspects of the Internet Control Message Protocol go unnoticed by end users, but a few network tools such as traceroute and ping rely on ICMP messages for their functionality.

At the heart of both the Internet and smaller computer networks is a collection of protocols known as the IP Suite. These protocols specify the formats for messages exchanged between networking devices, and establish rules for how those messages are sent and received. The protocols are also layered, with each layer relying on the one beneath it. The ICMP is part of the second-highest layer, the Internet layer. This layer includes the well known Internet Protocol responsible for the transmission of individual groups of data, called packets, across one or more networks.

ICMP is used to send error messages or diagnostic information between devices, or hosts, using the Internet Protocol. ICMP messages are predefined and may be referred to either by name or type number. Most of these messages are for different types of error reporting. For example, when a particular host cannot be reached, an ICMP message is often generated indicating the specific problem preventing data delivery. Other types of messages are sent if packets become corrupted or if a router or host in a network is congested.

A packet’s maximum size is not predefined, but dictated by the Maximum Transmission Unit (MTU) of a particular network link. Different links can have different MTUs, but a packet must be smaller than the smallest MTU along a given path in order to complete its journey. A technique known as Path MTU Discovery (PMTUD) uses ICMP messages to notify a sender when packets are too large for a particular path segment.

A related protocol known as the ICMP Router Discovery Protocol (IRDP) can facilitate automatic network configuration for hosts that support it. IRDP uses two types of Internet Control Message Protocol messages to announce and discover nearby routers, i.e., hosts that connect two or more networks. A router supporting IRDP will periodically broadcast an ICMP router advertisement message announcing its presence to hosts. Hosts can also send a solicitation message requesting all nearby routers to identify themselves.

Some popular network utilities also rely on the Internet Control Message Protocol. One tool, traceroute, utilizes the ICMP message generated when a packet has expired or exceeded its “time to live” (TTL). By setting an intentionally low TTL value for a packet, traceroute will receive an ICMP Time Exceeded message from the last router the packet reached before expiring. Repeating this process and increasing the TTL value will, in theory, generate a list of all hosts packets are traveling through.

Another tool called ping relies on the ICMP Echo Request message, which is responded to with an ICMP Echo Reply message. Unfortunately, ping can also be abused in a so-called a “smurf attack” when a hacker sends echo requests with falsified sender information, which are then replied to by many other machines. This can congest a network to the point where no legitimate packets can get through, a situation known as denial of service.

Share
EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
Share
https://www.easytechjunkie.com/what-is-the-internet-control-message-protocol.htm
Copy this link
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.