Comparativa de protocolos DNS cifrados: DoT, DoH, DoQ

Explicación de las relaciones de capas, puertos, diferencias de rendimiento y escenarios de uso entre Plain DNS, DoT, DoH y DoQ, con recomendaciones prácticas de elección y configuración.

Resumen rápido de términos

  • Plain DNS: DNS en texto claro, usa UDP/53 por defecto, y TCP/53 cuando es necesario (como respuestas truncadas, transferencia de zona, etc.).
  • DoT: DNS sobre TLS, utiliza TCP sobre TLS, puerto 853 por defecto (RFC 7858/8310).
  • DoH: DNS sobre HTTPS, basado en HTTPS (HTTP/2 o HTTP/3), puerto 443 por defecto (RFC 8484).
  • DoQ: DNS sobre QUIC, basado en QUIC + TLS 1.3, puerto UDP/853 por defecto (RFC 9250, IANA asigna 853/udp).

Relaciones de capas (modelo TCP/IP simplificado)

  • Capa de aplicación: HTTP, HTTPS, DNS (DoH está encapsulado en la capa de aplicación HTTPS)
  • Capa de seguridad: TLS (proporciona cifrado para TCP o QUIC)
  • Capa de transporte: TCP, UDP, QUIC
  • Capa de red: IP
  • Capa de enlace: Ethernet, etc.
  • Capa física: cable de par trenzado/fibra óptica/inalámbrico, etc.

Puntos clave

  • Plain DNS opera sobre UDP/TCP, sin cifrar.
  • DoT = TCP + TLS + DNS (puerto dedicado 853).
  • DoH = TCP/QUIC + TLS + HTTP(S) + DNS (usa 443, comparte puerto con HTTPS habitual).
  • DoQ = QUIC + TLS 1.3 + DNS (puerto dedicado UDP/853).
graph TB
    subgraph Capa de aplicación
        A[HTTP]
        A2[HTTPS]
        C[DNS]
        D[DoH DNS sobre HTTPS]
    end

    subgraph Capa de seguridad
        E[TLS]
    end

    subgraph Capa de transporte
        F[TCP]
        G[UDP]
        H[QUIC]
    end

    subgraph Capa de red
        I[IP]
    end

    subgraph Capa de enlace
        J[Ethernet]
    end

    subgraph Capa física
        K[Cable de par trenzado/fibra óptica/inalámbrico]
    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

Conceptos básicos y aclaraciones

  • Plain DNS usa UDP/53 por defecto; cuando hay truncamiento (bit TC) o se necesita transmisión fiable, cambia a TCP/53.
  • DoT establece un túnel TLS sobre TCP para transportar mensajes DNS, puerto 853 por defecto; permite reutilizar conexiones largas para reducir el coste de handshake.
  • DoH encapsula DNS como un recurso HTTPS (application/dns-message), usualmente usando HTTP/2 o HTTP/3, puerto 443, fácil de confundir con HTTPS habitual.
  • DoQ usa QUIC (basado en UDP) directamente para DNS, con ventajas de baja latencia y evitar bloqueo de cabeza de cola, aunque su ecosistema aún está en crecimiento.
  • No es preciso afirmar categóricamente que “QUIC es siempre X% más rápido que TCP”; el rendimiento real depende de la condición de red (pérdida, jitter, RTT), reutilización de conexiones, detalles de implementación y despliegue del servidor.
  • DoH no es “más lento o rápido por usar HTTP”; el rendimiento depende de la reutilización de conexiones, la calidad de red y la implementación; en muchos casos DoH/3 y DoT son comparables o DoH/3 mejor.
  • DoT puede usar SNI para validar el nombre de host del certificado; DoH depende de la validación habitual de certificados HTTPS y coincidencia de nombres de host.
  • DNS cifrado solo evita espionaje y manipulación en la ruta, no implica “anonimato total”. El resolvedor aún puede registrar consultas; elija proveedores confiables y revise sus políticas de privacidad.
graph TD
    subgraph Familia DNS
        A[Plain DNS UDP/TCP + DNS]

        subgraph DNS cifrado
            B[DoT TCP + TLS + DNS]
            C[DoH HTTP/2,3 + TLS + DNS]
            D[DoQ QUIC + TLS 1.3 + DNS]
        end

        subgraph Bases de transporte
            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

Resumen comparativo

ProtocoloCapa de transporteCifradoEncapsuladoPuerto por defectoCaracterísticas típicas
Plain DNSUDP/TCPNingunoDNS nativo53Simple y eficiente, visible en texto claro, fácil de manipular/auditar
DoTTCPTLS 1.2/1.3DNS853Puerto dedicado, fácil de bloquear por puerto, buen soporte a nivel de sistema
DoHTCP/QUICTLS 1.2/1.3HTTP/2-3 + DNS443Comparte puerto con HTTPS, mejor penetración, soporte prioritario en navegadores
DoQQUICTLS 1.3DNS853/UDPBaja latencia, evita bloqueo de cabeza de cola, ecosistema en desarrollo

Rendimiento y latencia

  • Reutilización de conexiones: DoT/DoH/DoQ pueden reutilizar conexiones largas para reducir costes de handshake; DoH/2, DoH/3 y DoQ también permiten multiplexar solicitudes en una sola conexión.
  • Bloqueo de cabeza de cola: TCP tiene este problema a nivel de aplicación; HTTP/2 usa multiplexación sobre TCP pero sigue afectado por pérdidas TCP; QUIC (DoH/3, DoQ) evita el bloqueo de cabeza de cola a nivel de transporte, más amigable para redes con alta pérdida/móviles.
  • Latencia del primer paquete: en la primera conexión DoT necesita handshake TCP+TLS; DoH/2 similar; DoH/3/DoQ basado en QUIC se recupera y migra más rápido. En cargas prolongadas, las diferencias dependen más de la implementación y condiciones de red.
  • Disponibilidad: DoH usa puerto 443, menos propenso a bloqueos simples por puerto; DoT usa 853, a menudo bloqueado por corte de puerto; DoQ usa 853/UDP, actualmente puede ser bloqueado o no permitido.

Soporte de cliente y sistema

  • Navegadores: Familia Chromium y Firefox incluyen DoH por defecto (pueden elevar automáticamente a resolvedores DoH o usar proveedores de listas internas).
  • Windows: Windows 11 soporta DoH nativamente.
  • Android: Android 9+ ofrece “DNS privado” (DoT a nivel de sistema). El soporte DoH a nivel de sistema depende de la versión/fabricante.
  • Plataformas Apple: iOS 14+/macOS 11+ mediante perfiles de descripción o NetworkExtension soportan DoT y DoH.

Recomendaciones de despliegue y elección

  • Redes normales/restringidas (Wi‑Fi público, necesidad de penetrar bloqueos simples): priorice DoH (puerto 443), habilite HTTP/3 si está disponible.
  • Salida única a nivel de sistema (router, gateway, DNS privado Android): priorice DoT (853); si la red lo permite, añada DoH como respaldo.
  • Redes móviles/alta pérdida: priorice DoH/3 o DoQ con QUIC (dependiendo del soporte de resolvedor y cliente).
  • Escenarios empresariales/cumplimiento: elija según la política (DoH se integra con infraestructura HTTPS existente; DoT permite separar el plano de control DNS).

Resumen

  • Priorice DoH (443, mejor penetración); si está disponible, habilite HTTP/3.
  • Para salida única a nivel de sistema: priorice DoT (853) + conexión persistente, con DoH (443) como respaldo si es necesario.
  • Si su resolvedor y cliente lo soportan: pruebe DoQ (experiencia a menudo mejor en redes móviles).

Estándares de referencia

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

Servicios DNS recomendados