06-28-2007 10:31 AM - edited 03-05-2019 05:01 PM
Hi,
Can anyone let me know if ICMP is a transport layer protocol? I was thinking its a network layer protocol.
Thanks,
Radhika
06-28-2007 10:42 AM
You are right. ICMP is a network layer protocol.
-Eric
06-28-2007 01:44 PM
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.
FWIW
Scott
06-28-2007 01:51 PM
Hi,
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.
HTH,
Mohammed Mahmoud.
07-02-2007 02:34 AM
ICMP is defined in rfc792:
http://tools.ietf.org/html/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"
http://www.comsoc.org/livepubs/50_journals/pdf/RightsManagement_eid=136833.pdf
"
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.
07-13-2007 10:04 AM
Hi,
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.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: