ping — утилита, отправляющая ICMP echo-request пакеты и ждущая echo-reply. Стандартная команда для "жив ли сервер": `ping example.com`. Выдаёт latency (RTT — round-trip time) и packet loss % при `-c N` пакетов.
ICMP (Internet Control Message Protocol) — служебный протокол IP-стека. Не TCP и не UDP — параллельный слой. Используется для: (1) echo-request/reply (ping), (2) error-messages (Destination Unreachable, Time Exceeded), (3) PMTU discovery (Fragmentation Needed), (4) redirect (роутер "попробуй другой gateway").
Практика: (1) не блокировать весь ICMP в firewall — ломает PMTU и troubleshooting. Разрешайте echo, Time Exceeded, Fragmentation Needed. (2) hosting-провайдеры иногда rate-limit ICMP — 100 % loss ping'a не значит, что сервер лёг (пробуйте telnet 22 или TCP-ping). (3) latency < 50 мс — норма для одного континента, > 200 мс — кросс-континент. Наш uplink Falkenstein ↔ Москва — 40-50 мс.
Альтернативы: (1) fping — быстрый ping множества хостов. (2) hping3 — TCP/UDP ping (если ICMP заблокирован). (3) mtr — ping + traceroute одновременно, лучший для диагностики.