Glossary

Ping (ICMP)

An ICMP ping is a network-level check that asks a host whether it is reachable, without touching any application on it.

Also called ICMP ping, ICMP, ICMP echo.

A ping check sends an ICMP echo request to a host and waits for the echo reply. It operates below the application entirely: no port, no protocol, no request. What comes back is a yes or no on reachability plus a round-trip time, which makes it the cheapest possible check and the least informative one.

Its limits are the important part. A host that answers pings can still have every service on it dead — the web server can be stopped, the certificate expired, the database refusing connections — and the ping will keep passing cheerfully throughout. Ping tells you a machine is powered on and routable. It does not tell you anything is working.

It also fails for reasons that are not outages. Plenty of hosts, and most cloud load balancers and CDNs, drop ICMP by policy or deprioritise it under load, so a ping failure against them means nothing at all. Ping is genuinely useful for network equipment, bare hosts and internal devices; for anything a customer talks to, an HTTP or port check is the one that answers the question.

ICMP has no ports. Ports belong to TCP and UDP, the transport protocols that carry applications, and ICMP sits one layer below TCP and UDP, at the network layer, which is why a ping cannot be aimed at port 443 or tell you whether a web server is listening. Tools that do take a port, often called a TCP ping, open a TCP connection instead: a pass proves something accepted a connection on that port, one step closer to the application than an echo reply.

Three ways to ask whether a host is up, from the least informative to the most.
CheckWhat it sendsWhat a pass provesBlocked by
ICMP pingAn ICMP echo request.The host is powered on and routable.Firewalls, cloud load balancers and CDNs that drop ICMP.
TCP port checkA TCP connection to one port.Something is listening on that port.Firewall rules that close that port.
HTTP checkA real HTTP request.The application answered with the status code and content you expect.Very little: it is the request your users make.

Questions

Does ping use a port?

No. Ping uses ICMP, which has no ports: ports belong to TCP and UDP. That is why a ping cannot tell you whether a particular service, such as a web server on port 443, is running.

Why does ping fail when the website is up?

Because many hosts, cloud load balancers and CDNs drop ICMP by policy, or answer it last under load, while serving web traffic normally. A failed ping against them says nothing about the website; an HTTP check does.

What is the difference between an ICMP ping and a TCP ping?

An ICMP ping asks the host for an echo reply and proves it is reachable. A TCP ping opens a connection to a chosen port and proves something is listening there. The TCP version still works where ICMP is blocked, and it is closer to what users need.

Does Uptimely's Ping monitor send ICMP?

No. The Ping and IP monitors open a TCP connection to port 80 on the host and count a completed connection as reachable. A host that answers ICMP but has nothing listening on port 80 shows as down. For any other port, use a Port monitor.

When is a ping check the right choice?

For network equipment, bare hosts and internal devices, where reachability is the question and ICMP is allowed through. For anything customers use, an HTTP check answers whether it works, and a TCP port check covers services that do not speak HTTP.

Uptimely's Port monitor opens a TCP connection to any port you choose, and its Website monitor checks the page itself, as often as every minute on every plan including the free one.

Start monitoring free →

Read next

Part of the Uptimely monitoring glossary — plain definitions of the vocabulary uptime monitoring, incident response and status pages are discussed in. Something here read wrong to you? Email support@getuptimely.com.