apakah anda tau, setiap kali anda meggunakan internet dalam kegiatan anda sehari-hari, maka setiap kali itu pula secara tidak langsung anda menggunakan dns (domain name system). penggunaan dns meliputi aplikasi email (electronic-mail), browsing, ssh/telnet, ftp, maupun aplikasi yang lain yang ada kaitannya dengan internet. fungsi utama dari sebuah sistem dns adalah menerjemahkan nama-nama host (hostnames) menjadi nomor ip (ip address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet. fungsi lainnya adalah untuk memberikan suatu informasi tentang suatu host ke seluruh jaringan internet. sebelum kita mulai instalasi bind kita flashback dulu dengan sejarah internet, dns dan bind, serta konsep dns.
sejarah internet
pada akhir tahun 1960, us. department of defense advanced research projects administration (arpa/darpa) mendanai percobaan dan riset tentang jaringan komputer secara luas yang saling menghubungkan antar hampir semua organisasi di amerika yang akhirnya dikenal dengan sebutan arpanet. hasil dari riset tersebut email (electronic-mail) mulai digunakan.
pada awal tahun 1980 protokol tcp/ip (transmission control protocol/internet protocol) mulai dikenalkan dan akhirnya menjadi protokol standar dalam struktur jaringan arpanet. jaringan arpanet berkembang pesat jumlahnya menjadi ribuan host dan masih menggunakan standar protokol tcp/ip, dan akhirnya jaringan tersebut dikenal dengan internet.
pada tahun 1988, darpa digantikan oleh national science foundation (nsf) dalam pendanaan riset diikuti dengan penggantian dari arpanet menjadi nsfnet sebagai tulang punggung (backbone) jaringan internet. kemudian pada musim semi tahun 1995, backbone internet melakukan transisi dari nsfnet (yang didanai oleh publik) ke beberapa backbone komersil, dimana memungkinkan interknoneksi antar jaringan bisa menjadi lebih jauh jaraknya. penyedia backbone komersil tersebut diantaranya adalah mci dan sprint serta pemain lama seperti uunet dan psinet.
(dns and bind 3rd edition, paul albitz & cricket liu, 1998 hal 2)
sejarah dns
pada tahun 1970an jaringan arpanet hanya terdiri dari beberapa ratus host saja. pada waktu itu, sebuah file hosts.txt yang berisi tentang semua informasi host-hosts tersebut masih bisa melayani setiap permintaan query dan menerjemahkan nama ke alamat ip (name-to-address-mapping).pada sistem operasi berbasis unix, file /etc/hosts merupakan hasil dari pengolahan file hosts.txt tersebut. file hosts.txt pada waktu itu dikelola oleh stanford research insitute network information center (sri-nic) di menlo park, california. file tersebut tersebut didistribusikan ke semua host dan penggunanya hanya dengan menggunakan satu buah host (mesin/komputer) saja. petugas administrasi dari arpanetbiasanya mengirimkan email kepada sri-nic tentang perubahan (termasuk penambahan maupun pengurangan) tentang informasi suatu host, dan dalam periode tertentu, mereka melakukan transfer file hosts.txt yang paling baru (biasanya diperbaharui sekali dalam seminggu) dengan menggunakan protokol ftp. seiring dengan berkembangnya jaringan arpanetdan penggunaan protokol tcp/ip, ukuran dari file hosts.txt menjadi besar dengan bertambahnya jumlah host yang bergabung dengan jaringan arpanet. kemudian timbul beberapa masalah dengan penggunaan file hosts.txt ini, misalnya :
trafik dan beban (traffic and load)
beban mesin dan trafik (bandwith) di sri-nic dalam mendistribusikan file menjadi lebih berat dan besar
penamaan yang saling bentrok (name collisions)
pada file hosts.txt tidak diperkenankan adanya dua buah nama host yang sama. namun pada prakteknya, tidak ada cara untuk mencegah seseorang untuk menambahkan nama yang sama sehingga kemungkinan bisa menjadi bentrok dan
pada akhirnya merusak skema yang telah ada keaslian (consistency)
mengelola keaslian dan keutuhan sebuah file antar beberapa jaringan yang sedang berkembang pesat merupakan sesuatu hal yang sulit dilakukan
berangkat dari masalah-masalah tersebut diatas, arpanet membentuk suatu sistem alternatif pengganti dari sistem lama yang menggunakan file hosts.txt. tujuannya adalah untuk memecahkan masalah dalam pengelolaan tabel host yang sangat beraneka ragam dan masih menggunakan metode sentralisasi. pada sistem yang baru, seorang sistem administrator memungkinkan untuk mengelola data secara loka, namun akan selalu update secara global di internet. sistem yang menggunakan metode desentralisasi ini diharapkan akan mengurangi beban dan trafik, serta pengelolaan data dan proses update dari sebuah informasi akan menjadi lebih mudah.
paul mockapertis dari university of southern california information science institute di marina del rey, california, dipilih sebagai orang yang bertanggung jawab terhadap rancangan, desain, arsitektur dan implementasi dari sistem pengelolaan data host yang baru. pada tahun 1984 beliau merilis rfc (request for comment) 882 dan rfc 883 yang menjelaskan tentang domain name system (dns). kemudian disusul dengan rfc 1034 dan rfc 1035 yang juga menambahkan tentang masalah kemanan dns, penerapan (implementasi), pengelolaan (adminstrative),mekanisme pembaharuan data secara dinamis, serta kemanan data dalam sebuah domain dan lain-lainnya.
(dns and bind 3rd edition, paul albitz & cricket liu, 1998 hal 3)
apa itu dns?
dns dapat disamakan fungsinya dengan buku telepon. dimana setiap komputer di jaringan internet memiliki host name (nama komputer) dan internet protocol (ip) address. secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. lalu komputer anda akan menghubungi dns server untuk mencek host name yang anda minta tersebut berapa ip address-nya. ip address ini yang digunakan untuk mengkoneksikan komputer anda dengan komputer lainnya.
struktur dns
domain name space merupakan sebuah hirarki pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya:
1. root-level domains
domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level. level paling atas di hirarki disebut dengan root domain. root domain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (“.”).
2. top-level domains
pada bagian dibawah ini adalah contoh dari top-level domains:
com organisasi komersial
edu institusi pendidikan atau universitas org organisasi non-profit
net networks (backbone internet)
gov organisasi pemerintah non militer mil organisasi pemerintah militer
num no telpon arpa reverse dns
xx dua-huruf untuk kode negara (id:indonesia,sg:singapura,au:australia,dll)
top-level domains dapat berisi second-level domains dan hosts.
3. second-level domains
second-level domains dapat berisi host dan domain lain, yang disebut dengan subdomain. untuk contoh: domain bujangan, bujangan.com terdapat komputer (host) seperti server1.bujangan.com dan subdomain training.bujangan.com. subdomain training.bujangan.com juga terdapat komputer (host) seperti client1
.training.bujangan.com.
4. host names
domain name yang digunakan dengan host name akan menciptakan fully qualified
domain name (fqdn) untuk setiap komputer. sebagai contoh, jika terdapat fileserver1.detik.com, dimana fileserver1 adalah host name dan detik.com adalah domain name.
bagaimana dns itu bekerja?
fungsi dari dns adalah menerjemahkan nama komputer ke ip address (memetakan). client dns disebut dengan resolvers dan dns server disebut dengan name servers. resolvers atau client mengirimkan permintaan ke name server berupa queries. name server akan memproses dengan cara mencek ke local database dns, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan.
proses tersebut disebut dengan forward lookup query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke ip address.
konsep dan hirarki dns
dns adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya.
struktur dari database dns bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi unix. seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain- lainnya, yang relatif rerhadap puncaknya (parent).ini bisa diibaratkan dengan relative pathname pada sistem file unix,seperti direktori bin, usr, var, etc dan lain sebagainya. pada puncak root node dalam sebuah sistem dns dinotasikan dengan "." atau "/" pada sistem file unix.
pada setiap node juga merupakan root dari subtree, atau pada sistem file unix merupakan root direktori dari sebuah direktori. hal ini pada sistem dns disebut dengan nama domain. pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file unix. pada bagian subdomainjuga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya.
(dns and bind 3rd edition, paul albitz & cricket liu, 1998 hal 4)
sejarah bind
program dns yang bernama jeeves pertama kali diimplementasikan dan ditulis sendiri oleh paul mockapertis. kemudian diteruskan oleh bind (versi 4.8.3) yang diimplementasikan pada sistem operasi 4.3 bsd unix yang ditulis oleh douglas terry, mark painter, david riggle dan songnian zhou dari computer systems research group (csrg) pada universitas california di berkeley. pada tahun antara 1985-1987, kevin dunlap seseorang dari digital equipment corporation (dec) bergabung dengan csrg yang kemudian diikuti oleh doug kingston, craig partridge, smoot carl- mitchell, mike muuss, jim bloom dan mike schwartz. pemimpin dari proyek ini adalah mike karels dan o. kure.
bind versi 4.9 dan 4.9.1 kemudian dirilis oleh dec (yang sekarang diakusisi oleh compaq computer corporation). pemimpin dari proyek ini adalah paul vixie yang merupakan karyawan dari dec serta dibantu oleh phil almquist, robert elz, alan barrett, paul albitz, bryan beecher, andrew partan, andy cherenson, tom limoncelli, berthold paffrath, fuat baran, anant kumar, art harkin, win treese, don lewis, christophe wolfhugel, dan lain- lainnya. bind versi 4.9.2 kemudian diambil alih oleh vixie enterprises, dan paul vixie menjadi arsitek dan programmernya. bind mulai dari versi 4.9.3 dan seterusnya kemudian diambil alih oleh internet software consortium (isc) dan akhirnya untuk pertama kalinya, pada tanggal 8 mei 1997 bob halley dan paul vixie merilis versi bind untuk keperluan produksi. sekarang bindversi 4 sudah mulai jarang digunakan, dan sebagai penggantinya adalah bind versi 8 dan versi 9.
cara kerja dns
ketika anda melakukan query (bisa berupa ping, ssh, dig, host, nslookup, email, dan lain sebagainya) ke sebuah host misalnya durmagati.ee.kurowo.edu maka name server akan memeriksa terlebih dahulu apakah ada record host tersebut di cache name server lokal. jika tidak ada, name serverlokal akan melakukan query kepada root server dan mereferensikan name server untuk tld .edu , name server lokal kembali melakukan query kepada name server .edu dengan jenis query yang sama dan mereferensikan kurowo.edu . name server lokal kembali melakukan query ke name server kurowo.edu dan mereferensikan query selanjutnya ke name server lokal yaitu ee.kurowo.edu . kemudian name server lokal melakukan query kepada name server lokal yaitu ee.kurowo.edu dan akhirnya mendapatkan jawaban address yang diminta. penamaan host durmagati.ee.kurowo.edu mungkin bisa diartikan nama sebuah komputer (durmagati) pada electrical engineering department (ee) pada universitas kurowo (kurowo.edu) , mungkin juga salah :)
dns
n prinsip:
untuk memetakan nama ke ip address, aplikasi memanggil prosedur yang disebutresolver dengan nama sebagai parameter
resolver akan mengirim paket udp ke dns sever local yang akan mencarinama dan mengembalikan ip address ke resolver yang akan diteruskan ke aplikasi
setelah mendapatkan ip address, aplikasi bias melanjutkan proses, misal establish koneksi atau mengirim paket udp
kesimpulan
dns adalah hasil pengembangan dari metode pencarian host name terhadap ip address di internet. pada dns client (resolver) mengirimkan queries ke name server (dns). name server akan menerima permintaan dan memetakan nama komputer ke ip address domain name space adalah pengelompokan secara hirarki yang terbagi atas root-level domains, top-level domains, second-level domains, dan host names.
6. referensi
dns and bind 3rd edition ditulis oleh paul albitz dan cricket liu, penerbit o'reilly tahun 1998, anda bisa mendapatkan edisi yang paling baru (edisi ke 4) di http://www.oreilly.com/catalog/dns4