Intinya dalam Satu Paragraf
Dari mengetik google.com di browser hingga memperoleh IP rata-rata butuh 15-150 milidetik. Dalam rentang itu terjadi 4 kali pencarian cache ditambah hingga 3 kueri lintas jaringan: cache browser → cache stub OS → cache router → cache resolver rekursif ISP → tanya root (.) → tanya TLD (.com) → tanya server otoritatif (ns.google.com) → menerima record A. Makin awal cache cocok, makin cepat — tetapi cache kedaluwarsa sesuai TTL, dan setelah itu seluruh jalur dijalankan lagi. Berikut uraiannya langkah demi langkah.
1. Alur Lengkap 8 Langkah
┌─────────────────────────────────────────────────────────────┐
│ Browser (Chrome / Firefox) — ketik google.com │
└────────────────┬────────────────────────────────────────────┘
│ ① Cache DNS browser (Chrome ~60s)
↓ miss
┌─────────────────────────────────────────────────────────────┐
│ Stub resolver OS + cache DNS sistem │
└────────────────┬────────────────────────────────────────────┘
│ ② Cache sistem miss → kirim kueri UDP ke router
↓
┌─────────────────────────────────────────────────────────────┐
│ Penerusan DNS router rumah + cache router │
└────────────────┬────────────────────────────────────────────┘
│ ③ Cache router miss → diteruskan ke resolver rekursif ISP
↓
┌─────────────────────────────────────────────────────────────┐
│ Resolver rekursif ISP / publik (1.1.1.1 / 8.8.8.8 / 223.5.5.5) │
│ Cache hit: langsung dikembalikan, seluruh proses 1-5ms │
│ Cache miss: masuk ke alur "pencarian lengkap" di bawah │
└────────────────┬────────────────────────────────────────────┘
│ ④ Bertanya ke NS root "di mana google.com?"
↓
13 klaster root nameserver (a~m.root-servers.net)
│ ⑤ Menjawab "Saya tidak tahu, tanya NS .com: a.gtld-servers.net"
↓
Server otoritatif TLD .com (Verisign)
│ ⑥ Menjawab "Saya juga tidak punya semuanya, tanya NS google.com: ns1.google.com"
↓
Server otoritatif google.com (dioperasikan sendiri oleh Google)
│ ⑦ Menjawab "record A google.com = 142.250.x.x"
↓
┌─────────────────────────────────────────────────────────────┐
│ ⑧ Resolver rekursif menyimpan jawaban di cache (sesuai │
│ TTL) dan mengembalikannya ke klien — setiap lapisan di │
│ sepanjang jalur juga menyimpan salinannya sendiri │
└─────────────────────────────────────────────────────────────┘Poin penting: dalam praktik nyata, alur lengkap 8 langkah hampir tidak pernah terjadi. Alamat IP situs-situs besar hampir selalu sudah ada di cache resolver rekursif, sehingga bagi pengguna biasa jawaban sudah kembali di langkah ④. Hanya domain yang jarang dikenal, situs yang lama tidak dikunjungi, TTL yang sudah kedaluwarsa, atau domain yang baru didaftarkan yang memicu alur lengkap.
2. Penjelasan 5 Lapisan Caching DNS
Saat DNS dirancang pada 1983, perancangnya sudah memperhitungkan satu fakta: jumlah pencarian 100.000 kali lebih banyak daripada perubahan. Karena itu cache ada di mana-mana, dan setiap lapisan menyimpan data selama periode TTL (Time To Live).
| Lapisan | Lokasi | TTL Umum | Cara memeriksa / menghapus |
|---|---|---|---|
| ① Browser | Di dalam proses Chrome / Firefox | 60 detik (Chrome) | Periksa / hapus di chrome://net-internals/#dns |
| ② Stub resolver OS | Windows DNS Client / macOS mDNSResponder / systemd-resolved | Sama dengan TTL record | Windows: lihat dengan ipconfig /displaydns, hapus dengan ipconfig /flushdns |
| ③ Router rumah | DNS forwarder bawaan router | Tergantung implementasi router | Terhapus saat router dimulai ulang / manual di panel admin |
| ④ Resolver rekursif ISP / publik | 1.1.1.1 / 8.8.8.8 / 223.5.5.5 | Sama dengan TTL record | Pengguna tidak bisa menghapusnya — harus menunggu TTL kedaluwarsa |
| ⑤ Server otoritatif | NS milik pemilik domain | Tidak di-cache — inilah sumber datanya | — |
3. Kueri Rekursif vs. Iteratif — Konsep Kunci
3.1 Rekursif
Klien (browser / stub OS) berkata kepada resolver rekursif ISP: "Carikan IP google.com untuk saya — saya tidak peduli bagaimana caranya." Resolver rekursif harus menyelesaikan seluruh pencarian dan mengembalikan hasil akhirnya.
3.2 Iteratif
Saat resolver rekursif berkomunikasi dengan root, TLD, dan server otoritatif, pertukaran itu bersifat iteratif — ia bertanya ke root, root menjawab "tanya .com", ia lalu bertanya ke .com, .com menjawab "tanya google", ia lalu bertanya ke google. Setiap langkah hanya melewati satu lompatan — bukan "saya bertanya ke root dan root mengurus semuanya untuk saya."
Klien ↔ resolver rekursif = rekursif4. Uji Sendiri — dig +trace
dig +trace memaksa pencarian iteratif lengkap dan menampilkan setiap langkah:
$ dig +trace cleanip.io
; <<>> DiG 9.10.6 <<>> +trace cleanip.io
;; global options: +cmd
; ① Lompatan 1 — tanya root (.)
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
... (13 record NS root)
;; Received 525 bytes from 127.0.0.53#53 in 5 ms
; ② Lompatan 2 — tanya TLD .io
io. 172800 IN NS a0.nic.io.
io. 172800 IN NS b0.nic.io.
... (4 NS untuk .io)
;; Received 822 bytes from 198.41.0.4#53(a.root-servers.net) in 121 ms
; ③ Lompatan 3 — tanya server otoritatif cleanip.io
cleanip.io. 86400 IN NS nolan.ns.cloudflare.com.
cleanip.io. 86400 IN NS treasure.ns.cloudflare.com.
;; Received 109 bytes from 156.154.150.6#53(a0.nic.io) in 53 ms
; ④ Akhirnya mendapat jawaban
cleanip.io. 300 IN A 104.21.x.x
cleanip.io. 300 IN A 172.67.x.x
cleanip.io. 86400 IN NS nolan.ns.cloudflare.com.
cleanip.io. 86400 IN NS treasure.ns.cloudflare.com.
;; Received 154 bytes from 173.245.59.108#53(nolan.ns.cloudflare.com) in 12 msPenjelasannya:
- Seluruh proses memakan 5 + 121 + 53 + 12 = 191 ms — pencarian dingin pertama memang lambat
- Tetapi kueri ke domain yang sama sedetik kemudian hanya butuh 1-2 ms, karena cache rekursif ISP sudah menyimpannya (TTL 300 detik)
104.21.x.x / 172.67.x.xadalah alamat CDN Cloudflare — IP origin asli situs kami tersembunyi di balik CDN
5. Penjelasan TTL — Berapa Lama Cache Sebenarnya Bertahan
TTL (Time To Live) adalah field tempat server otoritatif memberi tahu setiap resolver rekursif "Anda boleh menyimpan ini di cache paling lama selama ini", dalam satuan detik.
| TTL Umum | Arti | Tempat dipakai |
|---|---|---|
| 60 (1 menit) | Sangat singkat, cocok untuk layanan yang sering berganti IP | Failover / pengujian A/B |
| 300 (5 menit) | Singkat, umum dipakai CDN | Bawaan Cloudflare |
| 3600 (1 jam) | Sedang | Situs web biasa |
| 86400 (1 hari) | Lama | Record NS / record A yang jarang berubah |
| 172800 (2 hari) | Standar untuk record NS TLD | Record NS untuk .com / .io dan sejenisnya |
| 518400 (6 hari) | Standar untuk record NS root | Record NS untuk 13 klaster root server |
Catatan: TTL adalah "waktu cache maksimum" — masing-masing resolver boleh menghapus cache lebih awal, tetapi tidak pernah boleh memperpanjangnya. Jadi meskipun TTL otoritatif 1 jam, sebagian resolver mungkin sudah mengirim kueri ulang setelah 10 menit.
Jebakan: Sebelum mengganti IP, perpendek TTL terlebih dahulu (1-5 menit) dan tunggu sampai TTL lama benar-benar kedaluwarsa sebelum beralih — jika tidak, sebagian pengguna akan terus mengakses IP lama selama lebih dari satu jam.
6. Ringkasan Jenis Record DNS
| Jenis | Arti | Contoh |
|---|---|---|
| A | Alamat IPv4 | cleanip.io → 104.21.x.x |
| AAAA | Alamat IPv6 | cleanip.io → 2606:4700::6810:x |
| CNAME | Alias (mengarah ke domain lain) | www.cleanip.io → cleanip.io |
| NS | NS otoritatif domain | cleanip.io → nolan.ns.cloudflare.com |
| MX | Server email | cleanip.io → mx1.cleanip.io (10) |
| TXT | Teks bebas (SPF / DKIM / verifikasi) | SPF / Google verification |
| SOA | Start of authority zona — berisi NS utama / email / nomor seri | Satu per zona |
| PTR | Pencarian balik: IP → nama host | 8.8.8.8 → dns.google |
| CAA | Siapa yang boleh menerbitkan sertifikat SSL untuk saya | cleanip.io → letsencrypt.org |
| SRV | Record layanan (termasuk port) | SIP / XMPP / Matrix |
7. Optimasi DNS — Cara Mempercepat Resolusi
7.1 Pilih Resolver Rekursif yang Dekat
Tiongkok daratan: 223.5.5.5 (Alibaba) / 119.29.29.29 (DNSPod) paling cepat me-resolve situs domestik. Di luar itu: 1.1.1.1 (Cloudflare, jangkauan anycast terluas) / 8.8.8.8 (Google). Lihatdirektori DNS resolver publik.
7.2 Aktifkan DoH (DNS-over-HTTPS)
Mengenkripsi kueri DNS melalui HTTPS mencegah ISP melihat atau mengubahnya (memblokir pembajakan NXDOMAIN). Chrome, Firefox, dan Edge semuanya mendukungnya — cukup aktifkan di pengaturan.
7.3 Pemanasan Lebih Awal (DNS Prefetch)
Tambahkan <link rel="dns-prefetch" href="//api.example.com"> ke <head> situs Anda agar browser me-resolve-nya saat idle — ketika permintaan sebenarnya terjadi, hasilnya sudah ada di cache.
7.4 Gunakan CDN + NS Anycast
Tempatkan NS otoritatif Anda di Anycast (Cloudflare / Route 53) agar pengguna di seluruh dunia mencapai instans terdekat — memangkas latensi langkah ③ dari 100ms menjadi 10ms.
7.5 Atur TTL dengan Bijak
Atur TTL panjang (1-7 hari) untuk record yang jarang berubah (NS / MX); atur TTL pendek (5-60 menit) untuk record A yang mungkin perlu dialihkan.
8. Pertanyaan Umum
8.1 DNS Sudah Diubah tetapi Tidak Berpengaruh — Mengapa?
Pertama, periksa TTL yang berlaku saat ini. Setelah DNS diubah, setiap resolver rekursif akan tetap mengembalikan IP lama sampai TTL lama kedaluwarsa. "Propagasi global" umumnya butuh sekitar 2× TTL (karena resolver tidak saling sinkron).
- Klien:
ipconfig /flushdns(Windows) /sudo killall -HUP mDNSResponder(macOS) - Menunggu cache resolver rekursif publik kedaluwarsa: 1.1.1.1 / 8.8.8.8 masing-masing menyediakan alat "purge" untuk menghapusnya secara manual
8.2 Sebagian Pengguna Bisa Mengakses, Sebagian Tidak — Polusi DNS
Umum terjadi saat mengakses situs luar negeri dari Tiongkok daratan — GFW menyuntikkan respons DNS palsu / ISP membajak kueri. Beralih ke DoH (DNS terenkripsi di browser) dapat menghindari sebagian besar polusi DNS.
8.3 Berapa Lama Setelah Mendaftarkan Domain Baru Bisa Dipakai?
Setelah pendaftaran, registri TLD mendorong record NS Anda ke server otoritatif tingkat atas untuk .com / .net dan sebagainya — biasanya 15 menit hingga 24 jam. Domain .cn / .com.cn mungkin memerlukan pendaftaran ICP sebelum dapat di-resolve di Tiongkok daratan.
Bacaan Lanjutan
- Mengapa Hanya Ada 13 Klaster Root NameserverPuncak alur DNS — langkah ④
- Direktori DNS Publik GlobalResolver mana yang paling cepat
- RFC 1035 — Spesifikasi Asli Protokol DNS
- RFC 8484 — DoH (DNS-over-HTTPS)