6

Why is the ICMP protocol considered to run at layer 3 on the Wikipedia page (same layer as IP) when the ICMP protocol data is a payload of the IP packet?

This is the article on Wikipedia that states that ICMP is in the same layer as IP protocol. I am confused about this. https://en.wikipedia.org/wiki/Internet_protocol_suite

4

There is much controversy about which protocols run at which layers in the models. Understand that the models, e.g. OSI Model, are just models, and the real world is often different.

There are people on both sides of ICMP layer placement. Remember that Wikipedia is maintained by everyone, including you. If you disagree with what is in an article, you are free to change it, or add something explaining why it should be a layer-4 protocol.

There are also other sources you should consult. In the end, you make up your own mind about where you think it belongs.

9

The original RFC for ICMP, RFC777 state that:

ICMP, uses the basic support of IP as if it were a higher level protocol, however, ICMP is actually an integral part of IP, and must be implemented by every IP module.

This statement is also present in RFC792 which obsoletes RFC777.

  • Thanks for actually referencing the one source that matters – lobi Sep 27 '16 at 18:18
4

Why is the ICMP protocol considered to run at layer 3 on the Wikipedia page?

As others have noted, the models are just that, models. So not everything in the real world always fits neatly into the models. ICMP is one such area where people will sometimes debate on which layer (L3, L3.5, or L4) it exists.

Despite these debates, ICMP is generally considered a L3 or network protocol because it isn't a transport layer protocol and L3.5 isn't an actual layer. Specifically, ICMP only provides structured data in the IP packet; it doesn't add anything that is considered another layer of headers like a L4 protocl like TCP or UDP do.

Additionally, while ICMP does require IP to function, it is implemented as part of the IP protocol and only exists to communicate information about the network layer. For example, ping (Echo requests and Echo replies) only provide information about L3 reachability. They don't provide any information about any higher layer protocols.

Why is the ICMP protocol considered to run at layer 3 on the Wikipedia page (same layer as IP) when the ICMP protocol data is a payload of the IP packet?

Whether the payload of an IP packet is raw data or a higher layer protocol is irrelevant to IP (L3). Or another way to say that would be just because an IP packet has a payload doesn't mean the payload is sourced from a higher layer protocol.

The same applies to L2, there are many examples (STP, CDP, and so on) of L2 frames containing data that has nothing at all to do with a L3 or higher protocol (i.e. no IP headers, etc). Again, just because the frame has a payload doesn't mean the payload is sourced from a higher layer protocol.

0

ICMP works only on Network Layer. You can test in Cisco Packet Tracer in simulation. Run ping from PC to Destination. In simulation click on any packet. Then it displays Seven Layers(OSI). You will figured out. (I cleared my doubt in this way)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.