Description
The Internet Control Message Protocol (ICMP) is a supporting protocol within the Internet Protocol (IP) suite, operating at the network layer (Layer 3). It is primarily used by network devices, such as routers and hosts, to send error messages and operational information indicating, for example, that a requested service is not available or that a host or router could not be reached. ICMP messages are encapsulated within IP packets, but unlike TCP or UDP, it is not used for end-user data transmission. Common ICMP message types include Echo Request and Echo Reply (used by the ping command), Destination Unreachable, Time Exceeded (used by traceroute), and Redirect. In 3GPP networks, ICMP is relevant for IP-based communication between User Equipment (UE) and external networks, as well as within the core network for operations and maintenance. The protocol is stateless, meaning each message is processed independently, and it includes a checksum for error detection. While ICMP is fundamental for IP network functionality, 3GPP specifications often reference it in the context of interworking with external IP networks (e.g., the Internet) and for testing connectivity, but the core 3GPP protocols themselves (like GTP or Diameter) handle most control-plane signaling internally.
Purpose & Motivation
ICMP was created to provide a mechanism for IP network devices to communicate control and error information. In the early development of the Internet, the IP protocol was designed for best-effort datagram delivery without inherent mechanisms to report delivery failures or network congestion. ICMP solves this by allowing routers and destination hosts to send feedback to the source about problems encountered during packet processing, such as unreachable hosts, fragmentation needs, or routing redirects. This capability is crucial for network diagnostics, allowing administrators to identify connectivity issues, measure round-trip times, and trace network paths. In the context of 3GPP, while the mobile core network (e.g., GPRS, EPS, 5GC) uses its own set of protocols for mobility and session management, ICMP remains vital when UEs communicate with external IP networks. It ensures that IP-based applications running over 3GPP access can leverage standard Internet diagnostic tools, maintaining interoperability with the global Internet.
Key Features
- Error reporting for IP packet processing issues
- Support for network diagnostic utilities (ping, traceroute)
- Encapsulation within IP packets (protocol number 1)
- Stateless operation with message types and codes
- Checksum field for data integrity verification
- Handles destination unreachable, time exceeded, and parameter problem messages
Evolution Across Releases
ICMP was referenced from the earliest 3GPP releases for interworking with external IP networks. In R99, as part of the GPRS core network, ICMP was supported for IP connectivity between the UE and external packet data networks (PDNs), allowing basic network-layer error reporting and diagnostics over the mobile bearer.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.060 | 3GPP TS 23.060 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.976 | 3GPP TS 23.976 |
| TS 26.806 | 3GPP TS 26.806 |
| TS 27.060 | 3GPP TS 27.060 |
| TS 29.060 | 3GPP TS 29.060 |
| TS 29.061 | 3GPP TS 29.061 |
| TS 33.749 | 3GPP TR 33.749 |