9

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

5 Answers 5

8

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.

12

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.

1
  • 2
    Thanks for actually referencing the one source that matters
    – lobi
    Sep 27, 2016 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.

2
  • thats confusion of the highest order though, the way you learn about the whole stack of layers implicitly states that layer n payload is of layer n+1 protocol ... so misleading, gosh! And ofc I find the true answer on stackexchange rather than at university Mar 29, 2022 at 20:39
  • Doing education well is tricky, if you try and cover every detail when first teaching something you can easilly lose the forest for the trees. Compounding matters, the subjects a university needs to teach often don't line up exactly with the research interests of their staff, so often staff end up teaching stuff where they don't really have the depth of knowledge to go beyond what is in the cirriculum. Jan 6 at 21:34
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)

0

Transport layer protocol means a protocol that actualy conveys data by encapsulating it and providing means for securing it or acknowledging it for exemple which is not the case with what icmp does. In addition,it is integrated in every IP layer implementation (wether on end host or networking device) so you can even say it works in conjunction with ip even though ip transport it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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