I just read this in Wikipedia:
Although ICMP messages are contained within standard IP datagrams, ICMP messages are usually processed as a special case, distinguished from normal IP processing, rather than processed as a normal sub-protocol of IP.
How is ICMP unique? I tried to find out whether it's being used in a TCP packet or a UDP packet when running
ping, but I kept reading that it's a "unique" protocol and couldn't find a definite answer for this.
Also, I saw this question and answer in a Wireshark Lab about ICMP - ping:
If ICMP sent UDP packets instead (as in Unix/Linux), would the IP protocol number still be 01 for the probe packets? If not, what would it be?
No. If ICMP sent UDP packets instead, the IP protocol number should be 0x11.
Why would the IP protocol number be different if ICMP sent UDP packets?
Also, doesn't ICMP use UDP anyway? How does that work?