Comparação de Protocolos de DNS Criptografado: DoT, DoH, DoQ

Revisão das relações de camadas, portas, diferenças de desempenho e cenários aplicáveis do Plain DNS, DoT, DoH, DoQ, fornecendo sugestões de escolha e configuração práticas.

Visão Geral dos Termos

  • Plain DNS:DNS em texto não criptografado, usa por padrão UDP/53, usando TCP/53 quando necessário (ex: resposta truncada, transferência de zona).
  • DoT:DNS over TLS, usa TCP sobre TLS, porta padrão 853 (RFC 7858/8310).
  • DoH:DNS over HTTPS, baseado em HTTPS (HTTP/2 ou HTTP/3), porta padrão 443 (RFC 8484).
  • DoQ:DNS over QUIC, baseado em QUIC + TLS 1.3, porta padrão UDP/853 (RFC 9250, alocado pela IANA em 853/udp).

Relações de Camadas (Modelo TCP/IP Simplificado)

  • Camada de Aplicação:HTTP, HTTPS, DNS (DoH pertence ao encapsulamento da camada de aplicação HTTPS)
  • Camada de Segurança:TLS (fornece criptografia para TCP ou QUIC)
  • Camada de Transporte:TCP, UDP, QUIC
  • Camada de Rede:IP
  • Camada de Enlace:Ethernet, etc.
  • Camada Física:Par trançado/Fibra/Rede sem fio, etc.

Pontos Principais

  • Plain DNS opera sobre UDP/TCP, sem criptografia.
  • DoT = TCP + TLS + DNS (porta dedicada 853).
  • DoH = TCP/QUIC + TLS + HTTP(S) + DNS (porta 443, compartilha porta com HTTPS comum).
  • DoQ = QUIC + TLS 1.3 + DNS (porta dedicada 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

Conhecimentos Básicos e Correções

  • O Plain DNS usa, por padrão, UDP/53, mudando para TCP/53 ao encontrar truncamento de resposta (bit TC) ou quando necessita de transporte confiável.
  • O DoT estabelece um túnel TLS sobre TCP para transportar mensagens DNS, porta padrão 853; pode reutilizar conexões persistentes para reduzir o overhead de handshake.
  • O DoH trata o DNS como um recurso do HTTPS (application/dns-message), geralmente usando HTTP/2 ou HTTP/3, porta 443, sendo facilmente confundido com HTTPS comum.
  • O DoQ usa o QUIC (baseado em UDP) diretamente para transportar DNS, oferecendo baixa latência e evitando o bloqueio de cabeçalho de fila, mas seu suporte no ecossistema ainda está crescendo.
  • Conclusões genéricas como “QUIC é certamente X% mais rápido que o TCP” não são precisas; o desempenho real depende das condições da rede (perda de pacotes, jitter, RTT), se a conexão pode ser reutilizada, detalhes de implementação e implantação do servidor.
  • O DoH não significa que “colocar DNS no HTTP é inevitavelmente mais lento/rápido”; o desempenho depende da reutilização da conexão, qualidade da rede e implementação; em muitos casos, a experiência do DoH/3 é semelhante ou até melhor que a do DoT.
  • O DoT pode usar SNI para verificar o nome do host do certificado; o DoH depende da validação de certificados常规 HTTPS e correspondência de nomes de host.
  • O DNS criptografado apenas previne espionagem e adulteração no enlace, não é equivalente a “totalmente anônimo”. O resolvedor ainda pode registrar consultas; escolha provedores confiáveis e verifique a política de privacidade.
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

Visão Geral Comparativa

ProtocoloCamada de TransporteCriptografiaEncapsulamentoPorta PadrãoCaracterísticas Típicas
Plain DNSUDP/TCPNenhumaNativo DNS53Simples e eficiente, texto visível, fácil de adulterar/auditoria
DoTTCPTLS 1.2/1.3DNS853Porta dedicada, fácil bloqueio por porta, bom suporte a nível de sistema
DoHTCP/QUICTLS 1.2/1.3HTTP/2-3 + DNS443Compartilha porta com HTTPS, alta capacidade de penetração, suporte prioritário de navegadores
DoQQUICTLS 1.3DNS853/UDPBaixa latência, evita bloqueio de cabeçalho de fila, ecossistema em desenvolvimento

Desempenho e Latência

  • Reutilização de conexão: DoT/DoH/DoQ podem todos reutilizar conexões longas para reduzir custos de handshake; DoH/2, DoH/3 e DoQ também podem multiplexar solicitações em uma única conexão.
  • Bloqueio de cabeçalho de fila (Head-of-line blocking): O TCP sofre com o problema de “bloqueio de cabeçalho de fila” na camada de aplicação; o HTTP/2 no TCP mitiga isso através de multiplexação, mas ainda é afetado pela perda de pacotes do TCP; o QUIC (DoH/3, DoQ) evita o bloqueio de cabeçalho de fila na camada de transporte, sendo mais amigável para redes com alta perda de pacotes/móveis.
  • Latência do primeiro pacote: Na primeira conexão, o DoT precisa do handshake TCP+TLS; DoH/2 é semelhante; DoH/3/DoQ baseados em QUIC são mais rápidos para reconexão e migração. Sob carga contínua, as diferenças dependem mais da implementação e condições da rede.
  • Acessibilidade: O DoH usa a porta 443, sendo o mais difícil de ser bloqueado por simples fechamento de porta; o DoT usa a porta 853, frequentemente bloqueado de forma ampla; o DoQ usa a porta 853/UDP, que atualmente também pode ser bloqueada ou não liberada.

Suporte de Cliente e Sistema

  • Navegadores: A família Chromium e o Firefox têm DoH embutido por padrão (podem atualizar automaticamente para resolvedores que suportam DoH ou usar provedores de lista interna).
  • Windows: O Windows 11 suporta nativamente DoH.
  • Android: O Android 9+ oferece “DNS Privado” (DoH a nível de sistema). A cobertura do DoH a nível de sistema depende da versão/fabricante.
  • Plataformas Apple: iOS 14+/macOS 11+ suporta DoT e DoH através de perfis de configuração ou NetworkExtension.

Recomendações de Implantação e Seleção

  • Redes comuns/restritas (como Wi‑Fi público, necessidade de ultrapassar bloqueios simples): Priorize DoH (porta 443), habilite HTTP/3 se possível.
  • Saída unificada a nível de sistema (roteador, gateway, DNS Privado Android): Priorize DoT (853), adicione DoH como fallback se a rede permitir.
  • Redes móveis/com alta perda de pacotes: Priorize DoH/3 ou DoQ com QUIC (dependendo do suporte do resolvedor e cliente).
  • Cenários corporativos/conformidade: Escolha de acordo com a política (DoH pode se integrar à infraestrutura HTTPS existente; DoT facilita a separação do plano de controle de DNS).

Resumo

  • Priorize DoH (443, alta penetração), habilite HTTP/3 se disponível.
  • Se precisar de saída unificada a nível de sistema: Priorize DoT (853) + conexão persistente, com fallback para DoH (443) se necessário.
  • Se seu resolvedor e cliente suportarem: Experimente DoQ (a experiência em redes móveis é frequentemente melhor).

Normas de Referência

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

Recomendações de Serviços DNS