Sistem Penamaan Domain ;
SNR (bahasa Inggris: (
Domain Name System;
DNS) adalah sebuah sistem yang menyimpan informasi tentang nama host ataupun nama domain dalam bentuk basis data tersebar (
distributed database)
di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat
IP untuk setiap nama host dan mendata setiap server transmisi surat (
mail exchange server) yang menerima surel (
email) untuk setiap domain. Menurut browser Google Chrome,
DNS adalah layanan jaringan yang menerjemahkan nama situs web menjadi alamat internet.
DNS menyediakan pelayanan yang cukup penting untuk Internet, ketika
perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk
mengerjakan tugas seperti pengalamatan dan penjaluran (routing),
manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama
domain, contohnya adalah penunjukan sumber universal (URL)
dan alamat surel. Analogi yang umum digunakan untuk menjelaskan
fungsinya adalah DNS bisa dianggap seperti buku telepon internet dimana
saat pengguna mengetikkan www.indosat.net.id di peramban web maka
pengguna akan diarahkan ke alamat IP 124.81.92.144 (IPv4) dan
2001:e00:d:10:3:140::83 (IPv6).
Sejarah singkat DNS
Penggunaan nama sebagai pengabstraksi alamat mesin di sebuah jaringan
komputer yang lebih dikenal oleh manusia mengalahkan TCP/IP, dan kembali
ke zaman ARPAnet. Dahulu, seluruh komputer di jaringan komputer
menggunakan file
HOSTS.TXT dari SRI (sekarang SIR International),
yang memetakan sebuah alamat ke sebuah nama (secara teknis, file ini
masih ada - sebagian besar sistem operasi modern menggunakannya dengan
baik secara baku maupun melalui cara konfigurasi, dapat melihat Hosts
file untuk menyamakan sebuah nama host menjadi sebuah alamat IP
sebelum melakukan pencarian via DNS). Namun, sistem tersebut di atas
mewarisi beberapa keterbatasan yang mencolok dari sisi prasyarat, setiap
saat sebuah alamat komputer berubah, setiap sistem yang hendak
berhubungan dengan komputer tersebut harus melakukan update terhadap
file Hosts.
Dengan berkembangnya jaringan komputer, membutuhkan sistem yang bisa
dikembangkan: sebuah sistem yang bisa mengganti alamat host hanya di
satu tempat, host lain akan mempelajari perubaha tersebut secara
dinamis. Inilah DNS.
Paul Mockapetris menemukan DNS di tahun 1983; spesifikasi asli muncul di
RFC 882 dan 883. Tahun 1987, penerbitan RFC 1034 dan RFC 1035 membuat
update terhadap spesifikasi DNS. Hal ini membuat RFC 882 dan RFC 883
tidak berlaku lagi. Beberapa RFC terkini telah memproposikan beberapa
tambahan dari protokol inti DNS.
Teori bekerja DNS
Para Pemain Inti
Pengelola dari sistem DNS terdiri dari tiga komponen:
- DNS resolver, sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.
- recursive DNS server, yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada para resolver tersebut;
dan ...
- authoritative DNS server yang memberikan jawaban terhadap permintaan dari recursor, baik dalam bentuk sebuah jawaban, maupun dalam bentuk delegasi (misalkan: mereferensikan ke authoritative DNS server lainnya)
Pengertian beberapa bagian dari nama domain
Sebuah nama domain biasanya terdiri dari dua bagian atau lebih (secara teknis disebut
label), dipisahkan dengan titik.
- Label paling kanan menyatakan top-level domain - domain tingkat atas/tinggi (misalkan, alamat www.wikipedia.org memiliki top-level domain org).
- Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau subdomain dari domain yang lebih tinggi. Catatan: "subdomain" menyatakan ketergantungan relatif, bukan absolut. Contoh: wikipedia.org merupakan subdomain dari domain org, dan id.wikipedia.org dapat membentuk subdomain dari domain wikipedia.org (pada praktiknya, id.wikipedia.org
sesungguhnya mewakili sebuah nama host - lihat dibawah). Secara teori,
pembagian seperti ini dapat mencapai kedalaman 127 level, dan setiap
label dapat terbentuk sampai dengan 63 karakter, selama total nama
domain tidak melebihi panjang 255 karakter. Tetapi secara praktik,
beberapa pendaftar nama domain (domain name registry) memiliki batas yang lebih sedikit.
- Terakhir, bagian paling kiri dari bagian nama domain (biasanya)
menyatakan nama host. Sisa dari nama domain menyatakan cara untuk
membangun jalur logis untuk informasi yang dibutuhkan; nama host adalah
tujuan sebenarnya dari nama sistem yang dicari alamat IP-nya. Contoh:
nama domain www.wikipedia.org memiliki nama host "www".
DNS memiliki kumpulan hierarki dari
DNS servers. Setiap domain atau subdomain memiliki satu atau lebih
authoritative DNS Servers
(server DNS otorisatif) yang mempublikasikan informasi tentang domain
tersebut dan nama-nama server dari setiap domain di-"bawah"-nya. Pada
puncak hirarki, terdapat
root servers- induk server nama: server yang ditanyakan ketika mencari (
menyelesaikan/
resolving) dari sebuah nama domain tertinggi (
top-level domain).
Sebuah contoh dari teori rekursif DNS
Sebuah contoh mungkin dapat memperjelas proses ini. Andaikan ada aplikasi yang memerlukan pencarian alamat IP dari
www.wikipedia.org. Aplikasi tersebut bertanya ke
DNS recursor lokal.
- Sebelum dimulai, recursor harus mengetahui dimana dapat menemukan root nameserver; administrator dari recursive DNS server secara manual mengatur (dan melakukan update secara berkala) sebuah file dengan nama root hints zone (panduan akar DNS) yang menyatakan alamat-alamt IP dari para server tersebut.
- Proses dimulai oleh recursor yang bertanya kepada para root server tersebut - misalkan: server dengan alamat IP "198.41.0.4" - pertanyaan "apakah alamat IP dari www.wikipedia.org?"
- Root server menjawab dengan sebuah delegasi, arti kasarnya: "Saya tidak tahu alamat IP dari www.wikipedia.org, tapi saya "tahu" bahwa server DNS di 204.74.112.1 memiliki informasi tentang domain org."
- Recursor DNS lokal kemudian bertanya kepada server DNS (yaitu: 204.74.112.1) pertanyaan yang sama seperti yang diberikan kepada root server. "apa alamat IP dari www.wikipedia.org?". (umumnya) akan didapatkan jawaban yang sejenis, "saya tidak tahu alamat dari www.wikipedia.org, tapi saya "tahu" bahwa server 207.142.131.234 memiliki informasi dari domain wikipedia.org."
- Akhirnya, pertanyaan beralih kepada server DNS ketiga (207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.
Proses ini menggunakan pencarian rekursif (
recursion / recursive searching).
Pengertian pendaftaran domain dan glue records
Membaca contoh di atas, Anda mungkin bertanya: "bagaimana caranya DNS
server 204.74.112.1 tahu alamat IP mana yang diberikan untuk domain
wikipedia.org?" Pada awal proses, kita mencatat bahwa sebuah
DNS recursor memiliki alamat IP dari para
root server yang (kurang-lebih) didata secara explisit (
hard coded). Mirip dengan hal tersebut, server nama (
name server) yang otoritatif untuk
top-level domain mengalami perubahan yang jarang.
Namun, server nama yang memberikan jawaban otorisatif bagi nama
domain yang umum mengalami perubahan yang cukup sering. Sebagai bagian
dari proses pendaftaran sebuah nama domain (dan beberapa waktu
sesudahnya), pendaftar memberikan pendaftaran dengan server nama yang
akan mengotorisasikan nama domain tersebut; maka ketika mendaftar
wikipedia.org, domain tersebut terhubung dengan server nama
gunther.bomis.com dan
zwinger.wikipedia.org
di pendaftar .org. Kemudian, dari contoh di atas, ketika server
dikenali sebagai 204.74.112.1 menerima sebuah permintaan, DNS server
memindai daftar domain yang ada, mencari
wikipedia.org, dan mengembalikan server nama yang terhubung dengan domain tersebut.
Biasanya, server nama muncul berdasarkan urutan nama, selain berdasarkan alamat IP. Hal ini menimbulkan
string
lain dari permintaan DNS untuk menyelesaikan nama dari server nama;
ketika sebuah alamat IP dari server nama mendapatkan sebuah pendaftaran
di zona induk, para programmer jaringan komputer menamakannya sebuah
glue record.