Perbandingan Protokol Enkripsi DNS: DoT, DoH, DoQ

Menyusun hubungan hierarkis, port, perbedaan performa, dan skenario penggunaan Plain DNS, DoT, DoH, DoQ, serta memberikan rekomendasi pemilihan dan konfigurasi praktis.

Glosarium Istilah

  • Plain DNS: DNS teks biasa, menggunakan UDP/53 secara default, dan menggunakan TCP/53 jika diperlukan (misalnya, jika respons terpotong atau transfer zona).
  • DoT: DNS over TLS, menggunakan TCP di atas TLS, dengan port default 853 (RFC 7858/8310).
  • DoH: DNS over HTTPS, berbasis HTTPS (HTTP/2 atau HTTP/3), dengan port default 443 (RFC 8484).
  • DoQ: DNS over QUIC, berbasis QUIC + TLS 1.3, dengan port default UDP/853 (RFC 9250, IANA telah mengalokasikan 853/udp).

Hubungan Hierarkis (Model TCP/IP yang Disederhanakan)

  • Layer Aplikasi: HTTP, HTTPS, DNS (DoH adalah enkapsulasi DNS di layer aplikasi HTTPS)
  • Layer Keamanan: TLS (memberikan enkripsi untuk TCP atau QUIC)
  • Layer Transport: TCP, UDP, QUIC
  • Layer Jaringan: IP
  • Layer Tautan: Ethernet, dll.
  • Layer Fisik: Kabel berpilin/Optik/Nirkabel, dll.

Poin-poin Penting

  • Plain DNS bekerja di atas UDP/TCP dan tidak terenkripsi.
  • DoT = TCP + TLS + DNS (port khusus 853).
  • DoH = TCP/QUIC + TLS + HTTP(S) + DNS (menggunakan port 443, berbagi port dengan HTTPS biasa).
  • DoQ = QUIC + TLS 1.3 + DNS (port khusus UDP/853).
graph TB
    subgraph Layer Aplikasi
        A[HTTP]
        A2[HTTPS]
        C[DNS]
        D[DoH DNS melalui HTTPS]
    end

    subgraph Layer Keamanan
        E[TLS]
    end

    subgraph Layer Transport
        F[TCP]
        G[UDP]
        H[QUIC]
    end

    subgraph Layer Jaringan
        I[IP]
    end

    subgraph Layer Tautan
        J[Ethernet]
    end

    subgraph Layer Fisik
        K[Kabel berpilin/Optik/Nirkabel]
    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

Pengetahuan Dasar dan Koreksi

  • Plain DNS secara default menggunakan UDP/53, dan beralih ke TCP/53 jika terjadi pemotongan respons (bit TC) atau diperlukan transmisi yang andal.
  • DoT membangun tunnel TLS di atas TCP untuk mentransmisikan pesan DNS, dengan port default 853; dapat menggunakan koneksi panjang untuk mengurangi overhead handshake.
  • DoH memperlakukan DNS sebagai sumber daya HTTPS (application/dns-message), biasanya menggunakan HTTP/2 atau HTTP/3, dengan port 443, sehingga mudah disalahartikan sebagai HTTPS biasa.
  • DoQ langsung menggunakan QUIC (berbasis UDP) untuk membawa DNS, memiliki keunggulan latensi rendah dan menghindari head-of-line blocking, tetapi cakupan ekosistemnya masih berkembang.
  • Kesimpulan umum seperti “QUIC pasti lebih cepat daripada TCP sebesar X%” tidak akurat; performa aktual bergantung pada kondisi jaringan (kehilangan paket, jitter, RTT), apakah koneksi dapat digunakan kembali, detail implementasi, dan penyebaran server.
  • DoH bukan berarti “memasukkan DNS ke dalam HTTP pasti lebih lambat/lebih cepat”; performa bergantung pada penggunaan ulang koneksi, kualitas jaringan, dan implementasi; dalam banyak kasus, pengalaman DoH/3 dan DoT hampir sama atau bahkan lebih baik.
  • DoT dapat menggunakan SNI untuk memverifikasi nama host sertifikat; DoH bergantung pada verifikasi sertifikat HTTPS biasa dan pencocokan nama host.
  • DNS terenkripsi hanya dapat mencegah penyadapan dan manipulasi di tautan, bukan berarti “anonimitas penuh”. Resolver masih mungkin mencatat kueri; pilih penyedia yang dapat dipercaya dan periksa kebijakan privasinya.