Is ICMP a transport Protocol?

Unanswered Question
Jun 28th, 2007


Can anyone let me know if ICMP is a transport layer protocol? I was thinking its a network layer protocol.



I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
scottmac Thu, 06/28/2007 - 13:44

Well, actually, it's more like a "layer 3.5" protocol.

It does not rely on TCP or UDP (ICMP has it's own protocol number in the header) because it's more of a "maintenance and information" utility kind of information (redirect, echo, echo reply, mask info, etc).

Most protocol charts put it about halfway between L3 & L4, but in a separate stack.



mohammedmahmoud Thu, 06/28/2007 - 13:51


ICMP is a network layer protocol (IP protocol number 1), ICMP messages are constructed at the IP layer, usually from a normal IP datagram that has generated an ICMP response. IP encapsulates the appropriate ICMP message with a new IP header (to get the ICMP message back to the original sending host) and transmits the resulting datagram in the usual manner.


Mohammed Mahmoud.

Pavel Bykov Mon, 07/02/2007 - 02:34

ICMP is defined in rfc792:

From RFC: "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."

From "OSI Reference Model-The IS0 Model of Architecture for Open Systems Interconnection"


The Transport Layer: The Transport Layer exists to provide

a universal transport service in association with the underlying

services provided by lower layers.

The Transport Layer provides transparent transfer of data

between session entities. The Transport Layer relieves these

session entities from any concern with the detailed way in

which reliable and cost-effective transfer of data is achieved.

The Transport Layer is required to optimize the use of

available communications services to provide the performance

required for each connection between session entities at a

minimum cost."

ICMP does not do any of it. It is an integral part of IP, and will alway be correctly named a Network layer protocol.

ciscopbsenthil Fri, 07/13/2007 - 10:04


It is the responsibility of the network layer (IP) protocol to ensure that the ICMP message is sent to the correct destination. This is achieved by setting the destination address of the IP packet carrying the ICMP message. The source address is set to the address of the computer that generated the IP packet (carried in the IP source address field) and the IP protocol type is set to "ICMP" to indicate that the packet is to be handled by the remote end system's ICMP client interface.

A version of ICMP has also been defined for IPv6, called ICMPv6. This subsumes all the equivalent functions of ICMP for IPv4 and adds other network-layer functions.


This Discussion