Internet Control Message Protocol is a Layer 3 Protocol. In IP networks, devices send ICMP encapsulated in IP packet. The general role of ICMP Protocol is generate error packets about the network devices and it is used in troubleshooting activities. As a summary, ICMP supports IP routing, diagnostics and error reporting.
Network engineers use ICMP Protocol generally for troubleshooting activities. The main two troubleshooting commands for network engineers , “ping” and “traceroute”, works with Internet Control Message Protocol . In every passed node, TTL value in the IP packet decrease one. And when it is 0, that node sends ICMP message to the sender, about the reachability of the destination.
Internet Control Message Protocol does not guaranteed the delivery. A hundred percent security is not required already.
You can use Subnetting Cheat Sheet for You Subnetting Calculations.
ICMP Message is sent as encapsulated in IP Packet.
In the ICMP Message, firstly there is an ICMP Header in the front.This Internet Control Message Protocol Message , consist of the below areas:
We can devide ICMP Messages into two category accourding to their goals. These Message Categories are:
You can Practice On Various Network Topologies With Packet Tracer Labs Page!
ICMP Header has three main areas as we mentione above: Type, Code and Checksome. Here;
What are these Type and Code values? Let’s see firtly Type values and their meanings. And then we will talk about the Code values.
The Type values and teir meanings are below:
ICMP Code values give detailed information about the case. Code values and their menaings are also below:
Here, ICMP Echo Request Messages (Type 8) and ICMP Echo Reply Messages (Type 0) messages are two messages, that are sent and received in a successfull communication.
ICMPv4 is the ICMP version that is used for IPv4. With the development of IPv6, ICMP also needed to enhanced to support IPv6. This enhancements provide ICMPv6.
ICMPv6 is the IPv6 enabled enhanced version of ICMPv4. Internet Control Message Protocol version 6 has similar functions that ICMPv4 supports. Beside these functions, it also has additional features.
AdditionalIy to the Internet Control Message Protocol version 4 functions, ICMPv6 supports:
In an IPv6 header, if you see the value “58”, this is the ICMPv6 Packet.
In ICMPv6 Packet, like ICMPv4 there are different fields. These fields are similar to version 4. Let’s remember these fields:
We use ICMPv6 with IPv6 Neighbor Solicitation Messages. And we use IPv6 Neighbor Solicitation Message to determine the link-local address of a destination. Here, type 135 represents this IPv6 Neighbor Solicitation Messages. When this message reaches the destination, as a reply, destination sends a IPv6 Neighbor Advertisement Message. Here, the type is 136.
Internet Control Message Protocol version 6 is also used for IPv6 Router Advertisement Messages with type 134. If these messags are response to a Solicitation Message, the type 133 is used.
ICMPv6 has different message types for different message categories like ICMPv4. Here, we can divide ICMPv6 Messages into two category like version 4:
Error Messages ad their type values are below:
Informational Messages are also below:
We can also talk about the IPv6 Neighbour Discovery and ICMPv6. In ICMPv6, there are different type values:
Like ICMPv4, ICMPv6 also has the Code values. You can also check the code values of this different Types below: