Sebelum dipergunakannya DNS, jaringan komputer menggunakan HOSTS files yang berisi informasi dari nama komputer dan IP address-nya. Di Internet, file ini dikelola secara terpusat dan di setiap loaksi harus di copy versi terbaru dari HOSTS files, dari sini bisa dibayangkan betapa repotnya jika ada penambahan satu komputer di jaringan, maka kita harus copy versi terbaru file ini ke setiap lokasi. Dengan makin meluasnya jaringan internet, hal ini makin merepotkan, akhirnya dibuatkan sebuah solusi dimana DNS di desain menggantikan fungsi HOSTS files, dengan kelebihan unlimited database size, dan performace yang baik.
DNS adalah sebuah aplikasi services di Internet yang menerjemahkan sebuah domain name ke IP address. Sebagai contoh, www untuk penggunaan di Internet, lalu diketikan nama domain, misalnya: yahoo.com maka akan di petakan ke sebuah IP mis 202.68.0.134. Jadi DNS dapat di analogikan pada pemakaian buku telepon, dimana orang yang kita kenal berdasarkan nama untuk menghubunginya kita harus memutar nomor telepon di pesawat telepon. Sama persis, host komputer mengirimkan queries berupa nama komputer dan domain name server ke DNS, lalu oleh DNS dipetakan ke IP address.
Prinsip dasar DNS
Domain Name System (DNS) adalah distributed database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet. 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 System merupakan sebuah hirarki pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya:
Root-Level Domain
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 (“.”).
Top-Level Domain
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
- int Organisasi internasional, seperti NATO
- xx dua-huruf untuk kode negara (id:Indonesia, sg:singapura, au:australia, dll)
Top-level domains dapat berisi second-level domains dan hosts. Pada jaringan Internet top level domain untuk Indoenesia adalah id. Pada saat ini telah ada kesepakatan di antara provider dan pengelola jaringan di Indonesia untuk pengaturan sub-domain di bawah top level domain id. Kesepakatan ini ditujukan untuk mempermudah pengaturan routing dan manajemen jaringan. Kesepakatan tentang sub-domain di bawah top level domain id adalah :
- go.id Sub-domain untuk organisasi pemerintahan, mis LIPI (lipi.go.id), BPPT (bbpt.go.id).
- co.id Sub-domain untuk organisasi komersial, mis LEN (len.co.id), PT.Agung Teknik (atw.co.id).
- ac.id Sub-domain untuk organisasi pendidikan, mis UIN Alauddin (uin-alauddin.ac.id.), UI (ui.ac.id), UGM (ugm.ac.id).
- net.id Sub-domain untuk provider network, mis IndoInternet (indo.net.id), Radnet (radnet.net.id), Idola (idola.net.id).
- or.id Sub-domain untuk organisasi kemasyarakatan, mis WALHI (walhi.or.id).
Penamaan sub-domain di bawah sub-domain di atas diserahkan sepenuhnya kepada pengelola jaringan di domain tersebut. Misalkan EC Galery Computer dapat memilih domain ecgalerycomputer.ac.id ataupun ecgalery-computer.ac.id. Yang perlu dipertahankan adalah konsistensi penamaan domain. Sebaiknya domain yang digunakan bersifat permanen, tidak berganti-ganti. Karena pergantian domain akan memerlukan updating pada seluruh jaringan. Perluasan domain (domain expanding) di bawah suatu domain juga diserahkan sepenuhnya kepada pengelola jaringan di masing-masing sub-domain. Misalkan di domain ecgalerycomputer.ac.id terdapat beberapa subdomain lagi yang lebih kecil seperti sesi Blogger di EC Galery Computer digunakan sub domain blog.ecgalerycomputer.ac.id.
Second-Level Domains
Second-level domains dapat berisi host dan domain lain, yang disebut dengan subdomain. Untuk contoh: Domain akademik, ac.id terdapat komputer (host) seperti ecgalerycomputer.ac.id dan subdomain kuliah.ecgalerycomputer.ac.id. Subdomain kuliah.ecgalerycomputer.ac.id juga bisa terdapat komputer (host) misalnya jarkom.kuliah.ecgalerycomputer.ac.id.
Domain name yang digunakan dengan host name akan menciptakan fully qualified domain name (FQDN) untuk setiap komputer. Sebagai contoh, jika terdapat jarkom.kuliah.uin-alauddin.ac.id, dimana jarkom adalah host name dan kuliah.uin-alauddin.ac.id adalah domain name. 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.
- Resolvers mengirimkan queries ke name server
- Name server mencek ke local database, atau menghubungi name server lainnya, jika ditemukan akan diberitahukan ke resolvers jika tidak akan mengirimkan failure message
- Resolvers menghubungi host yang dituju dengan menggunakan IP address yang diberikan name server