Widget HTML Atas


DNS menggunakan protokol TCP


DNS umumnya menggunakan UDP pada port 53 karena:

  • UDP lebih cepat (tidak perlu koneksi, handshake, dsb.)
  • Kebanyakan permintaan DNS hanya membutuhkan pertanyaan dan jawaban singkat

Namun, DNS juga bisa menggunakan TCP, dan ini terjadi dalam beberapa kondisi tertentu. Berikut penjelasannya:


🔁 Kapan DNS menggunakan TCP?

  1. Ukuran respons DNS > 512 byte (standar lama) atau > 1232 byte (EDNS)

    • Jika jawaban DNS terlalu besar untuk UDP, maka akan dikirim ulang menggunakan TCP.
    • Contohnya: record DNSSEC, banyak record MX, atau jawaban panjang lainnya.
  2. Zone Transfer (AXFR/IXFR)

    • Proses transfer seluruh zona dari satu server DNS ke server lainnya wajib menggunakan TCP.
  3. Reliabilitas & Keamanan

    • Beberapa resolver atau firewall dikonfigurasi untuk memaksa penggunaan TCP untuk alasan keamanan, misalnya untuk mencegah spoofing atau amplification attack.

📌 Apa yang terjadi jika DNS selalu menggunakan TCP?

Kelebihan:

  • Koneksi lebih andal, cocok untuk jawaban besar.
  • Bisa mengurangi serangan DNS spoofing.

Kekurangan:

  • Overhead lebih tinggi (3-way handshake).
  • Lebih lambat dibanding UDP.
  • Membebani server DNS jika semua klien memakai TCP.

🔎 Contoh nyata:

Misalnya, saat kamu melakukan dig +dnssec terhadap domain dengan DNSSEC aktif, respons sering kali melebihi batas UDP dan otomatis menggunakan TCP.