Что такое TCP-пинг?
TCP-пинг измеряет, доступен ли хост и насколько быстро он отвечает, открывая TCP-соединение вместо отправки ICMP-эха. Поскольку за большинством хостингов и CDN протокол ICMP недоступен, IPeek измеряет доступность и задержку через TCP-соединение к портам 443 и 80, сообщая минимальное, среднее и максимальное время кругового обхода по нескольким попыткам.
Чем TCP-пинг отличается от ICMP-пинга
Классическая команда ping отправляет ICMP echo request и засекает ответ. Это работает в локальной сети, но не на большей части публичного интернета, потому что межсетевые экраны, CDN и облачные провайдеры регулярно отбрасывают или понижают приоритет ICMP. TCP-пинг вместо этого открывает реальное соединение к порту службы и засекает, сколько занимает рукопожатие. Поскольку веб-серверы обязаны принимать соединения на 443 и 80, чтобы работать, это надёжно достигает хостов, которые никогда не отвечают на ICMP, и измеряет задержку пути, по которому реально идёт ваш трафик.
Как читать результаты по задержке
IPeek сообщает минимальное, среднее и максимальное время кругового обхода по нескольким попыткам. Минимум — это задержка пути в лучшем случае; среднее — то, что обычно можно ожидать. Разрыв между минимумом и максимумом — это джиттер: малый разрыв означает стабильное соединение, а большой разброс сигнализирует о перегрузке или перегруженном хосте. Грубо говоря, менее 50 мс — отлично, от 50 до 150 мс — нормально между регионами, а стабильно высокие или сильно колеблющиеся значения указывают на сетевую или серверную проблему, которую стоит исследовать.
Когда TCP-пинг — правильный инструмент
Прибегайте к TCP-пингу, когда обычный ping сообщает 100% потерь пакетов, но сайт явно загружается, — это просто означает, что ICMP фильтруется. Используйте его, чтобы подтвердить, что сервер принимает соединения на своих веб-портах, сравнить задержку до хоста из вашей точки или заметить периодическую медлительность до того, как она превратится в простой. Это также честное измерение, когда вам важен реальный опыт пользователей, ведь он засекает тот же TCP-путь, который используют браузеры и API, а не отдельный канал ICMP.
Почему ICMP часто блокируют
Операторы блокируют или ограничивают ICMP, чтобы уменьшить поверхность атаки и шум: ICMP-флуд был классическим вектором отказа в обслуживании, а echo-ответы выдают полезную для разведки информацию. CDN и балансировщики также завершают соединения на границе, так что ICMP-пинг измерял бы ближайший пограничный узел, а не источник. Поэтому неудавшийся ICMP-пинг ничего не говорит о том, работает ли сайт. TCP-пинг к портам, на которых служба реально слушает, даёт надёжный ответ «да или нет» о доступности.