User Tools

Site Tools


networking:protocols:icmp

ICMP (Internet Control Message Protocol)

The Internet Control Message Protocol (ICMP) is a network protocol used to report errors and exchange diagnostic information between network devices.

Unlike TCP and UDP, ICMP is not used to transport application data. Instead, it helps devices determine whether communication is working correctly.


What Is ICMP Used For?

ICMP is commonly used for:

  • Network diagnostics
  • Error reporting
  • Reachability testing
  • Path discovery

Many familiar networking tools depend on ICMP.


Common ICMP Messages

Some of the most frequently used ICMP message types include:

ICMP Message Purpose
Echo Request Sent by Ping
Echo Reply Returned by Ping
Destination Unreachable Destination cannot be reached
Time Exceeded TTL expired (used by Traceroute)
Redirect Suggests a better route
Parameter Problem Invalid IP header

Ping

The ping command uses ICMP.

When you execute:

ping 8.8.8.8

the computer sends an ICMP Echo Request.

If the destination is reachable, it returns an ICMP Echo Reply.

Example:

Computer
     │
Echo Request
     ▼
Server
     ▲
Echo Reply
     │
Computer

Ping measures:

  • Reachability
  • Round-trip time (RTT)
  • Packet loss

Traceroute

Traceroute also relies on ICMP.

It discovers the path to a destination by sending packets with increasing Time To Live (TTL) values.

Example:

TTL = 1

↓

Router 1

↓

ICMP Time Exceeded

TTL = 2

↓

Router 2

↓

ICMP Time Exceeded

TTL = 3

↓

Router 3

↓

ICMP Time Exceeded

Eventually the packet reaches the destination.

This allows Traceroute to identify every router along the path.


Destination Unreachable

When a router or host cannot deliver a packet, it may return:

ICMP Destination Unreachable

Possible reasons include:

  • Network unavailable
  • Host unavailable
  • Port unreachable
  • Administrative filtering

ICMP Is Not TCP or UDP

ICMP is carried directly inside IP packets.

Unlike TCP and UDP, ICMP:

  • Has no port numbers.
  • Does not establish connections.
  • Does not carry application data.

Is ICMP Secure?

Many firewalls restrict or block ICMP traffic.

Reasons include:

  • Preventing network discovery
  • Reducing abuse
  • Limiting denial-of-service attacks

As a result:

Ping fails

does not always mean:

The host is offline.

The host may simply ignore ICMP Echo Requests.


ICMP and Telenegar

Several Telenegar services use or interpret ICMP.

Ping Check

Uses ICMP Echo Request and Echo Reply to determine:

  • Reachability
  • Latency
  • Packet loss

Traceroute

Uses ICMP Time Exceeded messages returned by routers to discover the network path.

Example:

1   Home Router

2   ISP Gateway

3   Regional Router

4   ...

Destination

Common Misconceptions

  • ICMP is used to transfer files.
    • False. ICMP is used only for control and diagnostic messages.
  • If Ping fails, the server is down.
    • False. Many servers intentionally block ICMP.
  • Traceroute uses only ICMP.
    • Not always. Depending on the operating system, Traceroute may use ICMP, UDP, or TCP probes.


icmp ping traceroute networking protocols

networking/protocols/icmp.txt · Last modified: by 127.0.0.1