Na verdade, o ICMP está no "topo" da camada 3. Ele usa o protocolo IP para entregar dados a um host remoto. Em outras palavras, as mensagens ICMP devem ser encapsuladas em pacotes IP.
Considere-o como semelhante ao ARP, que pode ser considerado "no topo" da camada 2, enquanto estiver usando o protocolo Ethernet para realmente enviar pacotes.
O ICMP é implementado como parte da camada IP, para que o processamento do ICMP possa ser visto como ocorrendo paralelamente ao processamento IP ou como parte dele. Portanto, no tópico rede em camadas baseada em TCP / IP, o ICMP é mostrado como um protocolo da camada 3.
@Robbie Mckennie
A qual camada o ICMP pertence é objeto de intenso debate. O cabeçalho do ICMP está na camada 4, assim como o TCP e o UDP, de modo que as pessoas argumentam que ele pertence à camada 4. Outros, no entanto, argumentam que o ICMP é um protocolo da camada 3, pois auxilia o IP e não tem conceito de portas.
Para mim, a classificação de um protocolo como pertencente a uma determinada camada no modelo OSI depende de como o protocolo funciona. Um exemplo:
O BGP é usado para rotear na camada 3, mas o próprio BGP é transportado pelo TCP (e, é claro, pelo IP)