DNS Cache adalah penyimpanan sementara hasil pencarian DNS yang digunakan agar permintaan terhadap domain yang sama tidak selalu harus melakukan proses resolusi lengkap dari awal. Cache dapat terdapat pada perangkat pengguna, sistem operasi, aplikasi, resolver DNS, maupun komponen jaringan tertentu.
Ketika sebuah domain pernah di-resolve, informasi seperti alamat IP dapat disimpan untuk jangka waktu tertentu. Jika informasi yang sama kembali dibutuhkan sebelum masa cache berakhir, sistem dapat menggunakan data yang tersimpan tersebut sehingga proses resolusi menjadi lebih cepat dan mengurangi query ke server DNS lainnya.
DNS Cache merupakan mekanisme normal dan penting dalam sistem DNS. Namun, cache juga menjadi salah satu alasan mengapa perubahan DNS terkadang belum langsung terlihat dari semua perangkat atau jaringan.
Apa Fungsi DNS Cache?
DNS Cache digunakan untuk meningkatkan efisiensi proses resolusi DNS. Tanpa caching, permintaan yang sama dapat berulang kali melakukan pencarian DNS meskipun informasi yang dibutuhkan belum berubah.
Beberapa fungsi dan manfaat DNS Cache antara lain:
- Mempercepat proses resolusi domain yang pernah diakses.
- Mengurangi jumlah query DNS yang harus dikirim.
- Mengurangi beban pada recursive resolver dan authoritative DNS server.
- Mengurangi penggunaan sumber daya jaringan.
- Membantu meningkatkan efisiensi akses ke layanan berbasis domain.
Bagaimana Cara Kerja DNS Cache?
Ketika pengguna membuka sebuah domain, perangkat akan mencari informasi DNS yang diperlukan. Jika jawaban yang masih valid sudah tersedia di cache, informasi tersebut dapat digunakan tanpa melakukan seluruh proses pencarian DNS kembali.
Secara sederhana:
Pengguna membuka domain
↓
Periksa DNS Cache
↓
Cache tersedia dan masih valid?
↙️ ↘️
Ya Tidak
↓ ↓
Gunakan cache Lakukan resolusi DNS
↓
Simpan hasil ke cache
Data yang disimpan tidak berlaku selamanya. Sebagian besar jawaban DNS memiliki nilai TTL yang menentukan berapa lama data tersebut dapat disimpan dalam cache.
Di Mana DNS Cache Disimpan?
DNS Cache dapat berada pada beberapa lapisan. Karena itu, dua perangkat yang mengakses domain yang sama belum tentu selalu memperoleh kondisi cache yang sama.
Cache dapat ditemukan pada:
- Browser atau aplikasi tertentu.
- Sistem operasi komputer atau perangkat.
- Local DNS resolver.
- Router atau perangkat jaringan tertentu.
- Recursive DNS resolver milik ISP.
- Public DNS resolver.
Setiap lapisan dapat memiliki mekanisme caching yang berbeda. Inilah salah satu alasan mengapa troubleshooting DNS terkadang memerlukan pemeriksaan dari lebih dari satu jaringan atau resolver.
Apa Hubungan DNS Cache dengan TTL?
TTL atau Time to Live menentukan berapa lama sebuah jawaban DNS dapat disimpan dalam cache sebelum dianggap kedaluwarsa.
Misalnya terdapat A Record:
example.com A 192.0.2.10
TTL: 3600
TTL 3600 berarti jawaban tersebut dapat disimpan oleh resolver selama 3.600 detik atau sekitar satu jam.
Jika alamat IP kemudian diubah menjadi:
example.com A 192.0.2.20
resolver yang masih memiliki jawaban lama dalam cache dapat tetap menggunakan 192.0.2.10 sampai cache tersebut kedaluwarsa.
Penjelasan khusus mengenai TTL tersedia pada artikel Apa Itu TTL pada DNS?.
Apakah DNS Cache Hanya Menyimpan Alamat IP?
Tidak. Cache DNS tidak terbatas pada A atau AAAA Record. Resolver dapat menyimpan berbagai hasil query DNS sesuai aturan caching yang berlaku.
Data yang dapat di-cache antara lain:
- A Record.
- AAAA Record.
- CNAME Record.
- MX Record.
- NS Record.
- TXT Record.
- Jawaban dari jenis record DNS lainnya.
Selain jawaban yang berhasil ditemukan, DNS juga mengenal mekanisme negative caching untuk kondisi tertentu ketika data yang diminta tidak tersedia.
Apa Itu Negative DNS Cache?
Negative DNS caching adalah penyimpanan sementara informasi bahwa nama atau record tertentu tidak ditemukan. Mekanisme ini mencegah resolver mengulangi query yang sama secara terus-menerus ketika jawabannya memang belum tersedia.
Misalnya sebuah subdomain belum dibuat:
app.example.com → tidak ditemukan
Resolver dapat menyimpan hasil negatif tersebut untuk jangka waktu tertentu. Jika administrator kemudian membuat record untuk app.example.com, resolver yang masih menyimpan negative cache mungkin belum langsung melihat record baru tersebut.
Karena itu, cache tidak hanya perlu dipertimbangkan ketika mengubah record lama, tetapi juga ketika membuat hostname atau DNS Record baru.
Perbedaan DNS Cache dan DNS Record
DNS Record adalah data konfigurasi yang berada pada zona DNS, sedangkan DNS Cache adalah salinan sementara dari hasil resolusi yang disimpan oleh resolver atau sistem lain.
Secara sederhana:
DNS Record → data sumber pada DNS
DNS Cache → hasil resolusi yang disimpan sementara
Mengubah DNS Record pada authoritative DNS server tidak selalu langsung menghapus salinan lama yang sudah berada pada cache resolver.
Perbedaan DNS Cache dan DNS Resolver
DNS Resolver adalah komponen yang membantu melakukan proses pencarian DNS, sedangkan DNS Cache adalah data sementara yang dapat digunakan oleh resolver untuk menjawab query dengan lebih efisien.
Resolver dapat memeriksa cache terlebih dahulu. Jika jawaban yang dibutuhkan tersedia dan masih valid, resolver tidak perlu melakukan pencarian lengkap ke authoritative DNS server.
Apa Hubungan DNS Cache dengan DNS Propagation?
Istilah DNS propagation sering digunakan untuk menggambarkan periode ketika perubahan DNS belum terlihat secara seragam dari berbagai jaringan atau resolver.
Salah satu penyebab utamanya adalah caching. Resolver yang masih menyimpan data lama dapat memberikan jawaban berbeda dari resolver yang cache-nya sudah kedaluwarsa dan telah mengambil data baru.
Untuk memahami proses tersebut secara khusus, Anda dapat membaca artikel Apa Itu DNS Propagation?.
Kenapa DNS Masih Menampilkan IP Lama?
Jika DNS Record telah diubah tetapi domain masih mengarah ke alamat IP lama, cache merupakan salah satu kemungkinan penyebabnya.
Contohnya:
Record lama:
example.com → 192.0.2.10
Record baru:
example.com → 192.0.2.20
Authoritative DNS mungkin sudah memberikan 192.0.2.20, tetapi recursive resolver yang sebelumnya menyimpan 192.0.2.10 dapat terus memberikan jawaban lama sampai cache tersebut berakhir.
Namun, jangan langsung menyimpulkan semua masalah berasal dari cache. Periksa juga authoritative nameserver dan DNS Record untuk memastikan perubahan memang dilakukan pada zona yang benar.
Apakah Menghapus DNS Cache Mengubah DNS Record?
Tidak. Menghapus atau melakukan flush DNS Cache hanya membersihkan data sementara pada sistem yang bersangkutan. Tindakan tersebut tidak mengubah DNS Record pada authoritative DNS server.
Setelah cache dihapus, sistem akan melakukan query DNS kembali ketika informasi domain dibutuhkan.
Apa Itu Flush DNS?
Flush DNS adalah proses menghapus DNS Cache lokal agar sistem tidak lagi menggunakan jawaban DNS yang sebelumnya tersimpan.
Flush DNS dapat berguna ketika:
- DNS Record baru saja diubah.
- Perangkat masih memperoleh alamat IP lama.
- Domain telah dipindahkan ke server baru.
- Konfigurasi DNS telah diperbaiki tetapi perangkat masih melihat hasil lama.
- Melakukan troubleshooting masalah resolusi DNS lokal.
Namun, flush cache pada komputer tidak menghapus cache yang berada pada recursive resolver milik ISP atau public DNS resolver.
Cara Flush DNS Cache di Windows
Pada Windows, DNS resolver cache lokal dapat dibersihkan melalui Command Prompt.
ipconfig /flushdns
Jalankan Command Prompt dengan hak akses yang sesuai jika diperlukan.
Setelah cache dibersihkan, query DNS berikutnya akan meminta informasi kembali melalui resolver yang digunakan oleh sistem.
Cara Flush DNS Cache di Linux
Cara membersihkan DNS Cache pada Linux bergantung pada resolver atau layanan caching yang digunakan.
Pada sistem yang menggunakan systemd-resolved, salah satu perintah yang dapat digunakan adalah:
sudo resolvectl flush-caches
Pada distribusi atau konfigurasi lain, layanan seperti dnsmasq, nscd, atau resolver lainnya dapat menggunakan metode berbeda.
Karena itu, identifikasi terlebih dahulu layanan DNS yang digunakan sebelum menjalankan perintah.
Cara Flush DNS Cache di macOS
Metode flush DNS pada macOS dapat berbeda berdasarkan versi sistem operasi.
Salah satu perintah yang umum digunakan pada versi modern adalah:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Jika perintah tidak bekerja pada versi tertentu, periksa dokumentasi sesuai versi macOS yang digunakan.
Apakah Browser Memiliki DNS Cache Sendiri?
Browser dapat memiliki mekanisme caching atau koneksi internal yang membuat hasil akses tidak selalu berubah hanya dengan membersihkan cache DNS sistem operasi.
Selain itu, browser modern dapat menggunakan Secure DNS atau DNS over HTTPS sehingga resolver yang digunakan browser dapat berbeda dari resolver sistem operasi.
Karena itu, ketika melakukan troubleshooting, hasil dari browser sebaiknya dibandingkan dengan DNS lookup langsung menggunakan tools seperti dig atau nslookup.
Cara Mengecek Apakah Masalah Berasal dari DNS Cache
Salah satu cara adalah membandingkan hasil query dari beberapa sumber.
Contoh dengan dig:
dig example.com A
Anda juga dapat melakukan query langsung ke resolver tertentu:
dig @8.8.8.8 example.com A
dig @1.1.1.1 example.com A
Jika hasil dari beberapa resolver berbeda, salah satu kemungkinan adalah terdapat cache dengan usia berbeda. Namun, perbedaan juga dapat terjadi karena konfigurasi DNS tertentu, sehingga hasil tetap perlu dianalisis dengan konteks yang benar.
Cara Mengecek Data pada Authoritative Nameserver
Untuk mengetahui apakah record baru sudah tersedia pada sumber authoritative, lakukan query langsung ke authoritative nameserver.
Contoh:
dig @ns1.example.net example.com A
Jika authoritative nameserver sudah memberikan data baru tetapi recursive resolver masih memberikan data lama, cache resolver kemungkinan masih aktif.
Apakah Mengganti DNS Resolver Bisa Mengatasi Cache Lama?
Kadang-kadang bisa, tetapi tidak selalu.
Resolver lain mungkin belum memiliki cache lama sehingga dapat mengambil data terbaru dari authoritative DNS. Namun, resolver tersebut juga dapat memiliki cache sendiri.
Mengganti resolver sebaiknya digunakan sebagai langkah pengujian, bukan sebagai pengganti konfigurasi DNS yang benar.
Apakah Restart Router Menghapus DNS Cache?
Tergantung pada perangkat dan konfigurasinya. Sebagian router dapat menyimpan informasi DNS sementara, sedangkan sebagian lainnya hanya meneruskan query ke resolver eksternal.
Restart router dapat membersihkan cache tertentu pada perangkat, tetapi tidak akan menghapus cache pada resolver milik ISP atau layanan DNS publik.
Apakah DNS Cache Bisa Menjadi Masalah Keamanan?
DNS Cache sendiri merupakan mekanisme normal. Masalah keamanan dapat terjadi apabila data palsu berhasil dimasukkan ke cache resolver, kondisi yang dikenal sebagai DNS cache poisoning.
Resolver modern menggunakan berbagai mekanisme untuk mengurangi risiko tersebut. DNSSEC juga dapat membantu resolver yang melakukan validasi untuk memverifikasi keaslian data DNS yang ditandatangani.
DNS Cache dan DNSSEC
Resolver yang melakukan validasi DNSSEC tidak hanya menyimpan jawaban DNS, tetapi juga memeriksa validitas tanda tangan DNSSEC sesuai mekanisme yang berlaku.
DNSSEC tidak menghilangkan kebutuhan caching. Keduanya memiliki fungsi berbeda:
DNS Cache → meningkatkan efisiensi resolusi
DNSSEC → membantu memverifikasi integritas dan keaslian data DNS
Kesalahan Umum Saat Mengatasi DNS Cache
Beberapa kesalahan yang sering terjadi ketika troubleshooting DNS antara lain:
- Mengubah DNS Record berulang kali sebelum TTL lama berakhir.
- Menganggap flush DNS lokal menghapus cache seluruh internet.
- Menganggap setiap hasil DNS lama pasti disebabkan cache.
- Tidak memeriksa authoritative nameserver.
- Mengubah record pada DNS provider yang sudah tidak authoritative.
- Mengabaikan negative caching setelah membuat record baru.
- Mengabaikan cache atau Secure DNS pada browser.
Tips Sebelum Melakukan Perubahan DNS
Jika perubahan DNS sudah direncanakan, administrator dapat mempertimbangkan TTL sebelum migrasi dilakukan.
Salah satu pendekatan yang umum adalah menurunkan TTL beberapa waktu sebelum perubahan sehingga data lama memiliki masa cache lebih pendek. Setelah migrasi selesai dan konfigurasi telah stabil, TTL dapat dinaikkan kembali sesuai kebutuhan.
Namun, menurunkan TTL setelah record lama sudah tersimpan dalam cache tidak otomatis mengubah masa cache dari jawaban yang telah diterima sebelumnya.
Kesimpulan
DNS Cache adalah penyimpanan sementara hasil resolusi DNS yang membantu mempercepat pencarian domain dan mengurangi query berulang ke infrastruktur DNS.
Lama penyimpanan jawaban DNS berkaitan erat dengan TTL. Selama data lama masih berada dalam cache, perubahan DNS pada authoritative server belum tentu langsung terlihat dari setiap resolver atau perangkat.
Flush DNS dapat membantu membersihkan cache lokal, tetapi tidak menghapus cache pada resolver lain. Ketika melakukan troubleshooting, bandingkan hasil dari resolver dan authoritative nameserver agar dapat membedakan masalah caching dari kesalahan konfigurasi DNS.
Pertanyaan Umum tentang DNS Cache
Apa fungsi DNS Cache?
DNS Cache menyimpan hasil resolusi DNS untuk sementara sehingga query yang sama dapat dijawab lebih cepat tanpa selalu melakukan proses pencarian DNS lengkap dari awal.
Berapa lama DNS Cache disimpan?
Durasi caching umumnya dipengaruhi oleh TTL pada jawaban DNS. Implementasi resolver dan jenis jawaban juga dapat mempengaruhi bagaimana data disimpan dalam cache.
Apakah flush DNS mengubah DNS Record?
Tidak. Flush DNS hanya menghapus cache lokal pada sistem yang dibersihkan. DNS Record pada authoritative DNS server tetap tidak berubah.
Kenapa domain masih mengarah ke IP lama setelah DNS diubah?
Salah satu penyebabnya adalah resolver masih menyimpan jawaban lama dalam cache. Namun, authoritative nameserver dan konfigurasi DNS juga perlu diperiksa untuk memastikan perubahan sudah dilakukan dengan benar.
Apakah restart komputer menghapus DNS Cache?
Restart dapat membersihkan cache lokal tertentu tergantung sistem operasi dan layanan yang digunakan, tetapi tidak menghapus cache pada recursive resolver milik ISP atau layanan DNS lainnya.
Apa perbedaan DNS Cache dan DNS propagation?
DNS Cache adalah data hasil resolusi yang disimpan sementara. DNS propagation merupakan istilah yang umum digunakan untuk menggambarkan kondisi ketika perubahan DNS belum terlihat seragam, dan perbedaan usia cache antarresolver merupakan salah satu penyebab utamanya.
