ICMP is used by the ping utility. At which OSI layer does ICMP operate, and why does it NOT guarantee delivery like TCP?
- A.Layer 3 (Network); ICMP is carried inside IP packets and provides control/error messaging but has no built-in reliability, sequence numbering, or acknowledgment mechanism.
- B.Layer 4 (Transport); ICMP is a transport-layer protocol similar to UDP.
- C.Layer 2 (Data Link); ICMP uses MAC addresses for delivery.
- D.Layer 7 (Application); ping is an application-layer utility.
Why A is correct
ICMP is a Layer 3 (Network layer) protocol encapsulated directly in IP packets (Protocol field = 1). It provides error reporting (unreachable, time exceeded) and diagnostics (echo/reply) but has no sequence numbers, acknowledgments, or connection state, so delivery is not guaranteed. Option B is wrong: ICMP is not a Layer 4 protocol and uses neither TCP nor UDP. Option C is wrong: ICMP uses IP, not MAC addressing directly. Option D is wrong: ping is a utility that uses ICMP; the protocol itself is Layer 3.
Know someone studying for Network Fundamentals? Send them this one.