Apa itu DNS?
DNS merupakan singkatan dari Domain Name System.
Kita semua tahu bahwa semua perangkat yang terhubung ke jaringan seperti server, komputer, ponsel, IoT dan lain sebagainya memiliki alamat masing-masing seperti kita punya nomor telepon masing-masing. Contoh, alamat salah satu server Google adalah 172.217.2.238. Alamat ini disebut dengan IP (Internet Protocol) Address. Contoh lain adalah alamat IP salah satu server Facebook adalah 31.13.93.35.
Kalau kita ingin membuka Google, kita harus mengakses alamatnya di browser. Kita bisa ketikkan http://172.217.2.238. Begitu juga kalau kita ingin membuka Facebook, kita bisa ketikkan http://31.13.93.35.
Akan tetapi sulit bagi kita untuk mengingat angka-angka alamat IP tersebut. Sementara komputer tidak mengerti huruf dan tidak bisa diberi alamat sebagaimana alamat rumah kita. Di sinilah DNS berperan.
Mudahnya, DNS bisa kita anggap sebagai buku telepon internet. Sebagai buku telepon internet, tugas utama DNS adalah menerjemahkan nama domain menjadi alamat IP.
Bagaimana DNS Bekerja?
Secara sederhana:
DNS bertugas menerjemahkan nama domain yang mudah kita kenali menjadi alamat IP yang dapat dikenali oleh komputer. Contoh, ketika kita ingin membuka google.com di browser, maka yang terjadi adalah:
- Komputer kita akan tanya ke DNS server: “Dimana alamat IP google.com?”
- DNS server menjawab “Server google.com di 172.217.2.238”
- Setelah mengetahui alamat IP server Google, komputer kita menghubungi server Google di alamat 172.217.2.238 dengan permintaan HTTP.
- Server Google mengirim konten HTTP ke komputer kita sesuai permintaan, dan komputer kita menampilkannya di browser.
Sebenarnya:
Ketika me-resolve DNS di internet, ada beberapa DNS server yang terlibat, bukan hanya satu server. Ada ratusan DNS server di internet yang disebut root server. Root server ini bertindak sebagai authoritative server bagi root zone. Root server tersebut terepresentasikan dengan 13 FQDN. Berikut daftarnya:
FQDN / Hostname | IP | Pengelola |
---|---|---|
a.root-servers.net | 198.41.0.4, 2001:503:ba3e::2:30 | VeriSign, Inc. |
b.root-servers.net | 199.9.14.201, 2001:500:200::b | University of Southern California (ISI) |
c.root-servers.net | 192.33.4.12, 2001:500:2::c | Cogent Communications |
d.root-servers.net | 199.7.91.13, 2001:500:2d::d | University of Maryland |
e.root-servers.net | 192.203.230.10, 2001:500:a8::e | NASA (Ames Research Center) |
f.root-servers.net | 192.5.5.241, 2001:500:2f::f | Internet Systems Consortium, Inc. |
g.root-servers.net | 192.112.36.4, 2001:500:12::d0d | US Department of Defense (NIC) |
h.root-servers.net | 198.97.190.53, 2001:500:1::53 | US Army (Research Lab) |
i.root-servers.net | 192.36.148.17, 2001:7fe::53 | Netnod |
j.root-servers.net | 192.58.128.30, 2001:503:c27::2:30 | VeriSign, Inc. |
k.root-servers.net | 193.0.14.129, 2001:7fd::1 | RIPE NCC |
l.root-servers.net | 199.7.83.42, 2001:500:9f::42 | ICANN |
m.root-servers.net | 202.12.27.33, 2001:dc3::35 | WIDE Project |
Ke-13 root server tersebut selalu preloaded di setiap DNS server.
Untuk melihat bagaimana sistem DNS bekerja, mari kita simak proses resolusi DNS untuk domain blog.elhashif.net berikut ini:
- Client tanya ke DNS server lokal “Apa alamat IP blog.elhashif.net?”
- Jika DNS server lokal tidak memiliki informasi tentang blog.elhashif.net, DNS server lokal akan bertanya ke root server “Dimana DNS server .net?”
- Setelah mendapatkan jawaban alamat IP DNS server .net, DNS server lokal akan bertanya ke DNS server .net “Dimana DNS server elhashif.net?”
- Setelah mendapatkan jawaban alamat IP DNS server elhashif.net, DNS server lokal akan bertanya ke DNS server elhashif.net “Dimana host blog.elhashif.net?”
- Setelah mendapatkan jawaban alamat IP host blog.elhashif.net, DNS server lokal akan memberikan jawaban berupa alamat IP blog.elhashif.net kepada client.
Proses resolusi DNS dapat diubah dengan mekanisme caching atau forwarding:
- Caching. Setelah DNS server lokal mendapatkan informasi DNS, dia menyimpan informasi tersebut selama beberapa waktu yang ditentukan oleh nilai TTL (time to live) di SOA record dari zone yang bersangkutan. Nilai TTL default adalah satu jam.
- Forwarding. Daripada bertanya pada root servers, kita dapat mengonfigurasi DNS server lokal agar meneruskan DNS request ke DNS server yang lain. Misalnya, request dari DNS server lokal dapat kita teruskan ke DNS server milik ISP, atau OpenDNS, atau Google DNS.
Terimakasih atas kunjungannya, semoga bermanfaat. 🙂