Сравнение зашифрованных DNS-протоколов: DoT, DoH, DoQ

Сравнение Plain DNS, DoT, DoH, DoQ по уровням, портам, производительности, сценариям использования, рекомендациям по выбору и настройке.

Справочник терминов

  • Plain DNS: обычный DNS, по умолчанию использует UDP/53, при необходимости — TCP/53 (например, при обрезке ответа или передаче зон).
  • DoT: DNS over TLS, TLS поверх TCP, порт по умолчанию 853 (RFC 7858/8310).
  • DoH: DNS over HTTPS, поверх HTTPS (HTTP/2 или HTTP/3), порт по умолчанию 443 (RFC 8484).
  • DoQ: DNS over QUIC, поверх QUIC + TLS 1.3, порт по умолчанию UDP/853 (RFC 9250, IANA назначил 853/udp).

Уровневая модель (упрощенная TCP/IP)

  • Прикладной уровень: HTTP, HTTPS, DNS (DoH — это инкапсуляция DNS в HTTPS).
  • Уровень безопасности: TLS (предоставляет шифрование для TCP или QUIC).
  • Транспортный уровень: TCP, UDP, QUIC.
  • Сетевой уровень: IP.
  • Канальный уровень: Ethernet и т.п.
  • Физический уровень: витая пара/оптика/беспроводные.

Ключевые сведения

  • Plain DNS работает поверх UDP/TCP, без шифрования.
  • DoT = TCP + TLS + DNS (специализированный порт 853).
  • DoH = TCP/QUIC + TLS + HTTP(S) + DNS (порт 443, общий с обычным HTTPS).
  • DoQ = QUIC + TLS 1.3 + DNS (специализированный порт UDP/853).
graph TB
    subgraph Прикладной уровень
        A[HTTP]
        A2[HTTPS]
        C[DNS]
        D[DoH DNS over HTTPS]
    end

    subgraph Уровень безопасности
        E[TLS]
    end

    subgraph Транспортный уровень
        F[TCP]
        G[UDP]
        H[QUIC]
    end

    subgraph Сетевой уровень
        I[IP]
    end

    subgraph Канальный уровень
        J[Ethernet]
    end

    subgraph Физический уровень
        K[Витая пара/оптика/беспроводные]
    end

    A2 --> F
    A2 --> H
    A --> F
    C --> F
    C --> G
    D --> A2
    E --> F
    E --> H
    F --> I
    G --> I
    H --> I
    I --> J
    J --> K

    style D fill:#e1f5fe
    style E fill:#fff3e0

Базовые сведения и уточнения

  • Plain DNS по умолчанию использует UDP/53, при обрезке ответа (флаг TC) или необходимости надежной передачи переключается на TCP/53.
  • DoT устанавливает TLS-туннель поверх TCP для DNS, порт 853 по умолчанию; можно использовать долгоживущие соединения для снижения накладных расходов на рукопожатие.
  • DoH передаёт DNS как ресурс HTTPS (application/dns-message), обычно с HTTP/2 или HTTP/3, порт 443, легко смешивается с обычным HTTPS.
  • DoQ использует QUIC (на базе UDP) для DNS, обеспечивает низкую задержку и избегает блокировки очереди; экосистема развивается.
  • Утверждения вроде «QUIC всегда быстрее TCP на X%» не универсальны; реальные показатели зависят от сети (потери, джиттер, RTT), переиспользования соединений, реализации и развертывания сервера.
  • DoH не означает «DNS в HTTP всегда медленнее/быстрее»; производительность зависит от переиспользования соединений, качества сети и реализации; во многих случаях DoH/3 и DoT близки или DoH/3 даже лучше.
  • DoT может использовать SNI для проверки сертификата по хосту; DoH полагается на стандартную проверку сертификатов HTTPS и соответствие хоста.
  • Зашифрованный DNS защищает от прослушивания и подмены на линии, но не гарантирует полную анонимность. Резолвер может сохранять запросы; выбирайте доверенного провайдера и изучайте политику конфиденциальности.
graph TD
    subgraph Семейство DNS
        A[Plain DNS UDP/TCP + DNS]

        subgraph Зашифрованный DNS
            B[DoT TCP + TLS + DNS]
            C[DoH HTTP/2,3 + TLS + DNS]
            D[DoQ QUIC + TLS 1.3 + DNS]
        end

        subgraph Транспортная база
            E[TCP]
            F[UDP]
            G[QUIC]
        end
    end

    A --> B
    A --> C
    A --> D

    B --> E
    C --> E
    C --> G
    D --> G
    A --> F

    style A fill:#f3e5f5
    style B fill:#e8f5e8
    style C fill:#e3f2fd
    style D fill:#fff3e0

Сравнительная таблица

ПротоколТранспортный уровеньШифрованиеИнкапсуляцияПорт по умолчаниюХарактеристики
Plain DNSUDP/TCPНетDNS в чистом виде53Просто и эффективно, видимый в открытом виде, подвержен прослушиванию/подмене
DoTTCPTLS 1.2/1.3DNS853Специализированный порт, легко блокируется по порту, хорошая системная поддержка
DoHTCP/QUICTLS 1.2/1.3HTTP/2-3 + DNS443Общий порт с HTTPS, высокая проницаемость, приоритет в браузерах
DoQQUICTLS 1.3DNS853/UDPНизкая задержка, избегание блокировки очереди, экосистема развивается

Производительность и задержка

  • Переиспользование соединений: DoT/DoH/DoQ поддерживают долгоживущие соединения для снижения накладных расходов на рукопожатие; DoH/2, DoH/3 и DoQ также поддерживают многопоточность в одном соединении.
  • Блокировка очереди: TCP подвержен «блокировке головы очереди» на прикладном уровне; HTTP/2 с многопоточностью частично решает проблему, но всё ещё зависит от TCP при потерях; QUIC (DoH/3, DoQ) избегает блокировки очереди на транспортном уровне, лучше работает при высоких потерях/в мобильных сетях.
  • Задержка первого пакета: при первом подключении DoT требует TCP+TLS; DoH/2 аналогично; DoH/3/DoQ на QUIC быстрее при переподключении и миграции. При длительной нагрузке различия зависят от реализации и условий сети.
  • Доступность: DoH использует порт 443, реже блокируется простым портовым фильтром; DoT использует 853, часто блокируется; DoQ использует 853/UDP, на текущем этапе может быть заблокирован или не разрешён.

Поддержка клиентов и систем

  • Браузеры: Chromium и Firefox по умолчанию включают DoH (могут автоматически переключаться на поддерживающий DoH резолвер или использовать встроенные списки).
  • Windows: Windows 11 нативно поддерживает DoH.
  • Android: Android 9+ предоставляет «Приватный DNS» (системный DoT). Системный DoH зависит от версии/производителя.
  • Платформы Apple: iOS 14+/macOS 11+ поддерживают DoT и DoH через профили или NetworkExtension.

Рекомендации по развертыванию и выбору

  • Обычные/ограниченные сети (например, публичный Wi‑Fi, необходимость обхода простых блокировок): предпочтите DoH (порт 443), включите HTTP/3 при возможности.
  • Системный единый выход (роутер, шлюз, приватный DNS Android): предпочтите DoT (853), при возможности добавьте DoH как резерв.
  • Высокие потери/мобильные сети: предпочтите DoH/3 или DoQ с QUIC (в зависимости от поддержки резолвером и клиентом).
  • Корпоративные/регуляторные сценарии: выбирайте по политике (DoH интегрируется с существующей HTTPS-инфраструктурой; DoT проще отделить от DNS-контрольной плоскости).

Краткие выводы

  • Приоритет DoH (443, высокая проницаемость); при наличии — включайте HTTP/3.
  • Для системного уровня: DoT (853) + долгоживущие соединения, при необходимости — резерв DoH (443).
  • Если резолвер и клиент поддерживают: попробуйте DoQ (часто лучше в мобильных сетях).

Стандарты

  • RFC 7858, RFC 8310 (DNS over TLS)
  • RFC 8484 (DNS over HTTPS)
  • RFC 9250 (DNS over QUIC)

Рекомендуемые DNS-сервисы