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 2 (Data Link); ICMP uses MAC addresses for delivery.
- B.Layer 7 (Application); ping is an application-layer utility. The presentation layer is where routers make forwarding decisions between subnets regardless of vendor implementation
- C.Layer 4 (Transport); ICMP is a transport-layer protocol similar to UDP. The network layer relies on windowing and acknowledgments to provide its reliability in the data plane
- D.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.
Why D 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. ICMP is not a Layer 4 protocol and uses neither TCP nor UDP, so that choice is wrong. ICMP uses IP, not MAC addressing directly, so that choice is wrong. ping is a utility that uses ICMP; the protocol itself is Layer 3, so that choice is wrong.
Know someone studying for Network Fundamentals? Send them this one.