KNOWLEDGE

Proses Lengkap Resolusi DNS — Berapa Langkah dari Browser ke Root Server?

Dari mengetik google.com hingga memperoleh IP: 4 lapisan cache dan hingga 3 kueri lintas jaringan, langkah demi langkah, beserta penjelasan TTL, rekursif vs iteratif, dan DoH.

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).

LapisanLokasiTTL UmumCara memeriksa / menghapus
① BrowserDi dalam proses Chrome / Firefox60 detik (Chrome)Periksa / hapus di chrome://net-internals/#dns
② Stub resolver OSWindows DNS Client / macOS mDNSResponder / systemd-resolvedSama dengan TTL recordWindows: lihat dengan ipconfig /displaydns, hapus dengan ipconfig /flushdns
③ Router rumahDNS forwarder bawaan routerTergantung implementasi routerTerhapus saat router dimulai ulang / manual di panel admin
④ Resolver rekursif ISP / publik1.1.1.1 / 8.8.8.8 / 223.5.5.5Sama dengan TTL recordPengguna tidak bisa menghapusnya — harus menunggu TTL kedaluwarsa
⑤ Server otoritatifNS milik pemilik domainTidak 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 = rekursif

4. Uji Sendiri — dig +trace

dig +trace memaksa pencarian iteratif lengkap dan menampilkan setiap langkah:

terminal — dig +trace cleanip.io
$ 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 ms

Penjelasannya:

  • 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.x adalah 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 UmumArtiTempat dipakai
60 (1 menit)Sangat singkat, cocok untuk layanan yang sering berganti IPFailover / pengujian A/B
300 (5 menit)Singkat, umum dipakai CDNBawaan Cloudflare
3600 (1 jam)SedangSitus web biasa
86400 (1 hari)LamaRecord NS / record A yang jarang berubah
172800 (2 hari)Standar untuk record NS TLDRecord NS untuk .com / .io dan sejenisnya
518400 (6 hari)Standar untuk record NS rootRecord 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

JenisArtiContoh
AAlamat IPv4cleanip.io → 104.21.x.x
AAAAAlamat IPv6cleanip.io → 2606:4700::6810:x
CNAMEAlias (mengarah ke domain lain)www.cleanip.io → cleanip.io
NSNS otoritatif domaincleanip.io → nolan.ns.cloudflare.com
MXServer emailcleanip.io → mx1.cleanip.io (10)
TXTTeks bebas (SPF / DKIM / verifikasi)SPF / Google verification
SOAStart of authority zona — berisi NS utama / email / nomor seriSatu per zona
PTRPencarian balik: IP → nama host8.8.8.8 → dns.google
CAASiapa yang boleh menerbitkan sertifikat SSL untuk sayacleanip.io → letsencrypt.org
SRVRecord 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

mimetic
mimetic
mimetic