Sistem Penamaan Domain ; SNR (bahasa Inggris:
(Domain Name System; DNS) adalah sebuah sistem yang menyimpan
informasi tentang nama host ataupun nama domain dalam bentukbasis 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
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 keauthoritative 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.orgsesungguhnya
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 recursorlokal.
§ 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 dariwww.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.
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.
DNS dalam praktik
Ketika sebuah
aplikasi (misalkan web broswer), hendak mencari alamat IP dari sebuah nama
domain, aplikasi tersebut tidak harus mengikuti seluruh langkah yang disebutkan
dalam teori di
atas. Kita akan melihat dulu konsep caching, lalu
mengartikan operasi DNS di "dunia nyata".
Caching
dan masa hidup (caching and time to live)
Karena jumlah
permintaan yang besar dari sistem seperti DNS, perancang DNS menginginkan
penyediaan mekanisme yang bisa mengurangi beban dari masing-masing server DNS.
Rencana mekanisnya menyarankan bahwa ketika sebuah DNS resolver (klien) menerima
sebuah jawaban DNS, informasi tersebut akan di cache untuk
jangka waktu tertentu. Sebuah nilai (yang di-set oleh administrator dari server
DNS yang memberikan jawaban) menyebutnya sebagai time to live (masa hidup),
atau TTL yang
mendefinisikan periode tersebut. Saat jawaban masuk ke dalamcache, resolver akan mengacu
kepada jawaban yang disimpan di cache tersebut;
hanya ketika TTL usai (atau saat administrator mengosongkan jawaban dari memori resolver secara manual)
maka resolver menghubungi
server DNS untuk informasi yang sama.
Waktu
propagasi (propagation time)
Satu akibat
penting dari arsitektur tersebar dan cache adalah
perubahan kepada suatu DNS terkadang efektif secara langsung dalam skala
besar/global. Contoh berikut mungkin akan menjelaskannya: Jika seorang
administrator telah mengatur TTL selama
6 jam untuk host www.wikipedia.org, kemudian
mengganti alamat IP dari www.wikipedia.org pada
pk 12:01, administrator harus mempertimbangkan bahwa ada (paling tidak) satu
individu yang menyimpan cache jawaban
dengan nilai lama pada pk 12:00 yang tidak akan menghubungi server DNS sampai
dengan pk 18:00. Periode antara pk 12:00 dan pk 18:00 dalam contoh ini disebut
sebagai waktu propagasi (propagation
time), yang bisa didefiniskan sebagai periode waktu yang berawal antara
saat terjadi perubahan dari data DNS, dan berakhir sesudah waktu maksimum yang
telah ditentukan oleh TTL berlalu.
Ini akan mengarahkan kepada pertimbangan logis yang penting ketika membuat
perubahan kepada DNS: tidak semua akan
melihat hal yang sama seperti yang Anda lihat. RFC1537 dapat
membantu penjelasan ini.
DNS
di dunia nyata
Di dunia nyata,
user tidak berhadapan langsung dengan DNS resolver -
mereka berhadapan dengan program seperti web
brower (Mozilla Firefox, Safari, Opera, Internet Explorer, Netscape,Konqueror dan
lain-lain dan klien mail (Outlook Express, Mozilla Thunderbird dan
lain-lain). Ketika user melakukan aktivitas yang meminta pencarian DNS
(umumnya, nyaris semua aktivitas yang menggunakan Internet), program tersebut
mengirimkan permintaan ke DNS Resolver yang
ada di dalam sistem operasi.
DNS resolver akan
selalu memiliki cache (lihat
di atas) yang memiliki isi pencarian terakhir. Jika cache dapat memberikan
jawaban kepada permintaan DNS, resolver akan
menggunakan nilai yang ada di dalam cache kepada
program yang memerlukan. Kalau cache tidak
memiliki jawabannya, resolver akan
mengirimkan permintaan ke server DNS tertentu. Untuk kebanyakan pengguna di
rumah, Internet Service Provider(ISP) yang
menghubungkan komputer tersebut biasanya akan menyediakan server DNS: pengguna
tersebut akan mendata alamat server secara manual atau menggunakan DHCP untuk
melakukan pendataan tersebut. Namun jika administrator sistem / pengguna telah
mengkonfigurasi sistem untuk menggunakan server DNS selain yang diberikan
secara default oleh ISP misalnya seperti Google Public DNS ataupun OpenDNS[1], maka DNS resolver akan mengacu ke
DNS server yang sudah ditentukan. Server nama ini akan mengikuti proses yang
disebutkan di Teori DNS, baik mereka
menemukan jawabannya maupun tidak. Hasil pencarian akan diberikan kepada DNS resolver; diasumsikan telah ditemukan jawaban, resolver akan menyimpan
hasilnya di cache untuk
penggunaan berikutnya, dan memberikan hasilnya kepada software yang meminta
pencarian DNS tersebut.
Sebagai bagian
akhir dari kerumitan ini, beberapa aplikasi seperti web browser juga memiliki DNS cache mereka sendiri,
tujuannya adalah untuk mengurangi penggunaan referensi DNS resolver, yang akan meningkatkan kesulitan
untuk melakukan debug DNS,
yang menimbulkan kerancuan data yang lebih akurat. Cache seperti ini
umumnya memiliki masa yang singkat dalam hitungan 1 menit.
Penerapan
DNS lainnya
Sistem yang
dijabarkan di atas memberikan skenario yang disederhanakan. DNS meliputi
beberapa fungsi lainnya:
§ Nama host dan alamat IP tidak
berarti terhubung secara satu-banding-satu. Banyak nama host yang diwakili
melalui alamat IP tunggal: gabungan dengan pengasuhan maya (virtual hosting), hal ini memungkinkan satu komputer
untuk malayani beberapa situs web. Selain itu, sebuah nama host dapat mewakili
beberapa alamat IP: ini akan membantu toleransi kesalahan (fault tolerance dan penyebaran beban (load
distribution), juga membantu suatu situs berpindah dari satu lokasi fisik ke
lokasi fisik lainnya secara mudah.
§ Ada cukup banyak kegunaan DNS
selain menerjemahkan nama ke alamat IP. Contoh:, agen pemindahan surat Mail
transfer agents(MTA) menggunakan DNS untuk mencari tujuan
pengirimanE-mail untuk alamat tertentu. Domain
yang menginformasikan pemetaan exchange disediakan melalui rekod MX (MX record) yang meningkatkan lapisan tambahan untuk toleransi
kesalahan dan penyebaran beban selain dari fungsi pemetaan nama ke alamat IP.
§ Kerangka Peraturan Pengiriman (Sender Policy Framework) secara kontroversi menggunakan
keuntungan jenis rekod DNS, dikenal sebagai rekod TXT.
§ Menyediakan keluwesan untuk
kegagalan komputer, beberapa server DNS memberikan perlindungan untuk setiap
domain. Tepatnya, tigabelas server akar (root servers) digunakan oleh
seluruh dunia. Program DNS maupun sistem operasi memiliki alamat IP dari
seluruh server ini. Amerika Serikat memiliki, secara angka, semua kecuali tiga
dari server akar tersebut. Namun, dikarenakan banyak server akar menerapkan anycast, yang memungkinkan beberapa
komputer yang berbeda dapat berbagi alamat IP yang sama untuk mengirimkan satu
jenis servicesmelalui area
geografis yang luas, banyak server yang secara fisik (bukan sekedar angka)
terletak di luar Amerika Serikat.
DNS menggunakan TCP dan UDP di port komputer 53
untuk melayani permintaan DNS. Nyaris semua permintaan DNS berisi permintaan
UDP tunggal dari klien yang dikuti oleh jawaban UDP tunggal dari server.
Umumnya TCP ikut terlibat hanya ketika ukuran data jawaban melebihi 512 byte,
atau untuk pertukaaran zona DNS zone transfer
Jenis-jenis catatan DNS
Beberapa kelompok
penting dari data yang disimpan di dalam DNS adalah sebagai berikut:
§ AAAA record atau catatan alamat IPv6 memetakan sebuah nama host ke alamat
IP 128-bit (untuk IPv6).
§ CNAME record atau catatan nama kanonik membuat alias untuk nama domain.
Domain yang di-alias-kan memiliki seluruh subdomain dan rekod DNS seperti
aslinya.
§ [MX record]]' atau catatan pertukaran surat memetakan sebuah nama domain ke
dalam daftar mail exchange server untuk domain tersebut.
§ PTR record atau catatan penunjuk memetakan sebuah nama host ke nama
kanonik untuk host tersebut. Pembuatan rekod PTR untuk sebuah nama host di
dalam domain in-addr.arpayang
mewakili sebuah alamat IP menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut.
Contohnya (saat penulisan / penerjemahan artikel ini), www.icann.netmemiliki
alamat IP 192.0.34.164, tetapi sebuah rekod PTR memetakan
,,164.34.0.192.in-addr.arpa ke nama kanoniknya: referrals.icann.org.
§ NS record atau catatan server nama memetakan sebuah nama domain ke dalam
satu daftar dari server DNS untuk domain tersebut. Pewakilan bergantung kepada
rekod NS.
§ SOA record atau catatan otoritas awal (Start of Authority) mengacu
server DNS yang mengediakan otorisasi informasi tentang sebuah domain Internet.
§ Catatan TXT mengijinkan administrator untuk
memasukan data acak ke dalam catatan DNS; catatan ini juga digunakan di
spesifikasi Sender Policy Framework.
Jenis catatan
lainnya semata-mata untuk penyediaan informasi (contohnya, catatan LOC memberikan letak lokasi fisik dari sebuah
host, atau data ujicoba (misalkan, catatan WKS memberikan sebuah
daftar dari server yang memberikan servis yang dikenal (well-known service)
seperti HTTP atau POP3 untuk sebuah domain.
Nama domain yang diinternasionalkan
Nama domain harus
menggunakan satu sub-kumpulan dari karakter ASCII, hal ini
mencegah beberapa bahasa untuk menggunakan nama maupun kata lokal mereka. ICANN telah
menyetujuiPunycode yang berbasiskan
sistem IDNA, yang memetakan
string Unicode ke
karakter set yang valid untuk DNS, sebagai bentuk penyelesaian untuk masalah
ini, dan beberapa registries sudah
mengadopsi metode IDNS ini.
Perangkat lunak DNS
Utiliti
berorientasi DNS termasuk:
§ dig (domain information groper)
Pengguna legal dari domain
Pendaftar
(registrant)
Tidak satupun
individu di dunia yang "memiliki" nama domain kecuali Network
Information Centre (NIC), atau
pendaftar nama domain (domain name
registry).
Sebagian besar dari NIC di dunia menerima biaya tahunan dari para pengguna
legal dengan tujuan bagi si pengguna legal menggunakan nama domain tersebut.
Jadi sejenis perjanjian sewa-menyewa terjadi, bergantung kepada syarat dan
ketentuan pendaftar. Bergantung kepada beberpa peraturan penamaan dari para
pendaftar, pengguna legal dikenal sebagai "pendaftar" (registrants)
atau sebagai "pemegang domain" (domain holders)
ICANN memegang
daftar lengkap untuk pendaftar domain di seluruh dunia. Siapapun dapat
menemukan pengguna legal dari sebuah domain dengan mencari melalui basis data WHOIS yang disimpan
oleh beberpa pendaftar domain.
Di (lebih kurang)
240 country code
top-level domains (ccTLDs),
pendaftar domain memegang sebuah acuan WHOIS (pendaftar dan nama server).
Contohnya, IDNIC, NIC Indonesia, memegang informasi otorisatif WHOIS
untuk nama domain .ID.
Namun, beberapa
pendaftar domain, seperti VeriSign, menggunakan model
pendaftar-pengguna. Untuk nama domain .COM dan .NET, pendaftar domain, VeriSign
memegang informasi dasar WHOIS )pemegang domain dan server nama). Siapapun
dapat mencari detail WHOIS (Pemegang domain,
server nama, tanggal berlaku, dan lain sebagainya) melalui pendaftar.
Sejak sekitar
2001, kebanyakan pendaftar gTLD (.ORG, .BIZ,
.INFO) telah mengadopsi metode pendaftar "tebal", menyimpan
otoritatif WHOIS di beberapa
pendaftar dan bukan pendaftar itu saja.
Kontak
Administratif (Administrative Contact)
Satu pemegang
domain biasanya menunjuk kontak administratif untuk menangani nama domain.
Fungsi manajemen didelegasikan ke kontak administratif yang mencakup
(diantaranya):
§ keharusan untuk mengikuti syarat
dari pendaftar domain dengan tujuan memiliki hak untuk menggunakan nama domain
§ otorisasi untuk melakukan
pemutakhiran ke alamat fisik, alamat surel dan nomor telepon dan lain
sebagainya via WHOIS
Kontak
Teknis (Technical Contact)
Satu kontak
teknis menangani server nama dari sebuah nama domain. Beberapa dari banyak
fungsi kontak teknis termasuk:
§ memastikan bahwa konfigurasi
dari nama domain mengikuti syarat dari pendaftar domain
§ pemutakhiran zona domain
§ menyediakan fungsi 24x7 untuk ke
server nama (yang membuat nama domain bisa diakses)
Kontak
Pembayaran (Billing Contact)
Server
Nama (Name Servers)
Disebut sebagai
server nama otoritatif yang mengasuh zona nama domain dari sebuah nama domain.
0 komentar:
Posting Komentar