Melanjutkan postingan sebelumnya tentang domain yang sempat tertunda, kali ini saya ingin berbagi hal yang sedang saya pelajari yaitu tentang Mengenal Prinsip dan Fungsi DNS (Domain Name System).
Dalam postingan tentang mengenal IP Address, kita sudah mengetahui, bahwa untuk dapat saling berkomunikasi, setiap komputer yang terhubung ke internet atau jaringan menggunakan sebuah alamat unik yang disebut dengan IP Address. Dalam perkembangan selanjutnya untuk memudahkan penamaan dikembangkan sistem penerjemah alamat IP ke nama host atau sebaliknya.
Awalnya, sistem penamaan alamat IP menggunakan sistem host table. Di dalam sistem ini, setiap komputer memiliki file host.txt yang berisi daftar daftar alamat IP dan nama host yang terhubung ke internet. Karena internet semakin berkembang, sistem host table tidak efektif mengatasi permasalahan tersebut .
Akhirnya pada tahun 1984 Paul Mockapetris mengusulkan sistem database terdistribusi dengan nama Domain Name System (DNS) yang dideskripsikan dalam RFC 882 dan 883. Sistem ini digunakan sampai sekarang pada jaringan khususnya Internet.
Pengertian DNS (Domain Name System)
Domain Name System (DNS) merupakan sistem berbentuk database terdistribusi yang akan memetakan/mengkonversikan nama host/mesin/domain ke alamat IP (Internet Protocol) dan sebaliknya.
Struktur database DNS berbentuk hierarki atau pohon yang memiliki beberapa cabang. Cabang-cabang ini mewakili domain, dan dapat berupa host, subdomain, ataupun top level domain.
Domain teratas adalah root. Domain ini diwakili oleh titik. Selanjutnya, domain yang terletak tepat di bawah root disebut top level domain. Beberapa contoh top level domain ini antara lain com, edu, gov, dan lain-lain. Turunan dari top level domain disebut subdomain. Domain yang terletak setelah top level domain adalah second level domain, dan domain yang berada di bawah second level domain disebut third level domain, begitu seterusnya
Mesin DNS bisa menggunakan Server OS Windows server yang dijadikan mesin DNS atau sebuah Server dengan OS Linux dengan menjalankan daemon seperti BIND (Berkeley Internet Name Domain) / DJBDNS yang sering digunakan, hampir 75 % implemetasi DNS menggunakan BIND.
Ada tiga belas (13) root server utama yang disebar ke seluruh dunia dan dibagi-bagi untuk melayani area negara tertentu, generic Top Level Domain (gTLD) tertentu atau blok IP Address tertentu. Antara satu root server ini dengan yang lain saling terhubung dan saling memperbaharui datanya masing-masing (www.rootservers.org).
Fungsi DNS (Domain Name System)
Secara sederhana Fungsi DNS bisa dilihat pada gambar berikut ini:
- Pada komputer Client, sebuah program aplikasi misalnya http, meminta pemetaan IP Address (forward lookup query). Sebuah program aplikasi pada host yang mengakses domain system disebut sebagai resolver, resolver menghubungi DNS server, yang biasa disebut name server.
- Name server meng-cek ke local database, jika ditemukan, name server mengembalikan IP Address ke resolver jika tidak ditemukan akan meneruskan query tersebut ke name server root server.
- Terakhir barulah si client bisa secara langsung menghubungi sebuah website / server yang diminta dengan menggunakan IP Address yang diberikan oleh DNS server.
- Saat kita mengetikkan sebuah nama domain misalnya http://www. neon.cs.virginia.edu pada web browser, maka aplikasi http (resolver) akan mengirimkan query ke Name Server DNS Server local atau DNS Server Internet Service Provider.
- Awalnya name server akan menghubungi server root. Server root tidak mengetahui IP Address domain tersebut, ia hanya akan memberikan IP Address server edu.
- Selanjutnya name server akan bertanya lagi pada server edu berpa IP Address domain neon.cs.virginia.edu. Server edu tidak mengetahui IP Address domain tersebut, ia hanya akan memberikan IP Address server virginia.edu.
- Selanjutnya name server akan bertanya ke server virginia.edu tentang IP Address neon.cs.virginia.edu. Dan server virginia.edu hanya mengetahui dan memberikan jawaban berupa IP Address server cs.virginia.edu
- Selanjutnya name server akan bertanya ke server cs.virginia.edu tentang IP Address neon.cs.virginia.edu. Dan barulah cs.virginia.edu mengetahui dan menjawab berapa IP Address domain neon.cs.virginia.edu.
- Terakhir barulah computer client bisa secara langsung menghubungi domain neon.cs.virginia.edu dengan menggunakan IP Address yang diberikan oleh server cs.virginia.edu.
- IP Address milik neon.cs.virginia.edu kemudian akan disimpan sementara oleh DNS server Anda untuk keperluan nanti. Proses ini disebut caching, yang berguna untuk mempercepat pencarian nama domain yang telah dikenalnya.