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
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
Sistem Penamaan Domain
DNS (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).
Teori
kerja 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;
·
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).
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.
Praktik DNS
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, 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
Pengguna 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)
Tidak
perlu dijelaskan, pihak ini adalah yang menerima tagihan dari NIC.
Server Nama (Name Servers)
Disebut
sebagai server nama otoritatif yang mengasuh zona nama domain dari sebuah nama
domain.
0 komentar:
Posting Komentar