Что такое DoH и почему пинг не равен скорости DNS
DoH (DNS over HTTPS) — протокол, при котором запросы на преобразование доменных имён в IP-адреса передаются в зашифрованном виде поверх HTTPS (порт 443), а не открытым текстом по UDP/53. Это ключевое отличие: команда ping измеряет сетевую задержку по протоколу ICMP и не учитывает время DNS-разрешения. Если вы «пингуете» IP-адрес напрямую, DoH вообще не задействован — он влияет лишь на этап поиска адреса до установления соединения.
Влияние DoH на пинг Yandex и Cloudflare корректнее измерять не командой ping, а инструментами dig или kdig, которые показывают реальное время обработки DNS-запроса. Именно эта задержка — от 5 до 30 мс при первом запросе — и ощущается как «замедление» при открытии новых сайтов.
Откуда берётся задержка при DoH
Шифрование добавляет три вида накладных расходов. Во-первых, TLS-рукопожатие при установке нового соединения требует нескольких дополнительных сетевых обменов. Во-вторых, шифрование и дешифрование данных создают вычислительную нагрузку на процессор. В-третьих, заголовки протоколов HTTPS увеличивают объём передаваемых данных. При уже установленном постоянном соединении (HTTP/2 keepalive или TLS resumption) эта разница минимальна — в тестах Mozilla она не превышала 10 мс на быстрых каналах, а на медленных DoH иногда и вовсе работал быстрее обычного DNS за счёт механизма повторной передачи TCP.
Для пользователей в России важно учитывать географию: влияние DoH на пинг Cloudflare-серверов (1.1.1.1) определяется близостью Anycast-узла провайдера. Если маршрутизация уводит трафик на далёкий зарубежный PoP, медиана задержки вырастает на 10–30 мс. Яндекс.DNS (77.88.8.8) при этом выигрывает за счёт российской инфраструктуры, особенно в регионах с нестабильной маршрутизацией к западным узлам.
Cloudflare vs Яндекс.DNS при использовании DoH: практика
По данным независимых тестов DNSPerf, Cloudflare показывает среднее время ответа около 4–14 мс в европейской части России, тогда как Яндекс.DNS в отдельных регионах демонстрирует показатели 20–50 мс и выше. Однако преимущество Cloudflare нивелируется, если ваш провайдер плохо маршрутизирует к зарубежным Anycast-узлам. Для получения точной картины следует запускать серию из 20–50 замеров в разное время суток и ориентироваться на медиану и 95-й перцентиль, а не на лучший результат.
Как правильно измерить задержку DNS с DoH
Чтобы оценить реальное влияние DoH на задержку при работе с Яндексом и Cloudflare, используйте специализированные утилиты. На Windows — dig из пакета BIND; на Linux/macOS — kdig из пакета Knot DNS Utils. Тестируйте как кэш-хит (повторный запрос одного домена), так и кэш-мисс (первый запрос нового домена) — разница между ними может достигать 50–200 мс.
| Параметр | Обычный DNS (UDP/53) | DoH Cloudflare (1.1.1.1) | DoH Яндекс.DNS (77.88.8.8) |
|---|---|---|---|
| Шифрование трафика | Нет | HTTPS/TLS | HTTPS/TLS |
| Медиана задержки (РФ, кэш-хит) | 1–5 мс | 5–15 мс | 10–30 мс |
| Медиана задержки (кэш-мисс) | 20–60 мс | 25–80 мс | 20–60 мс |
| Влияние на «сетевой пинг» (ICMP) | Не влияет | Не влияет | Не влияет |
| Конфиденциальность запросов | Видна провайдеру | Зашифрована | Зашифрована |
| Преимущество в регионах РФ | — | Крупные города, хорошая маршрутизация | Регионы, плохая маршрутизация за рубеж |
Когда выбрать Cloudflare, а когда — Яндекс.DNS
- Cloudflare DoH (https://cloudflare-dns.com/dns-query) — оптимален в Москве, Санкт-Петербурге и городах с хорошей пиринговой связностью с западными сетями; даёт минимальную медиану задержки.
- Яндекс.DNS DoH (https://common.dot.dns.yandex.net) — предпочтителен в регионах, где маршрут до Cloudflare-узлов длиннее, а также если важна российская юрисдикция хранения данных.
- Первый запрос после простоя — всегда самый «дорогой» при DoH: TLS-сессия пересоздаётся, добавляя до 50–100 мс; используйте persistent-соединения и кэш резолвера ОС.
- Для серверов и хостинга — локальный кэширующий резолвер (например, Unbound) с DoH-форвардингом обеспечивает наилучший баланс скорости и безопасности.