Tuesday, October 29, 2013

DNS (Domain Name System)

Pengertian 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).

Sejarah DNS 

Sebelum dipergunakannya DNS, jaringan komputer menggunakan HOSTS.TXT dari SRI (sekarang SIR International) yang berisi informasi dari nama komputer dan IP address-nya. Di Internet, file ini dikelola secara terpusat dan di setiap lokasi harus di copy versi terbaru dari HOSTS files, dari sini bisa dibayangkan betapa repotnya jika ada penambahan 1 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.

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.

Keungulan DNS


  1. Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah computer cukup host name (nama Komputer). 
  2. Konsisten, IP address sebuah computer bisa berubah tapi host name tidak berubah. 
  3. Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet. 

Kekurangan DNS


  1. DNS tidak mudah untuk di implementasikan.
  2. Tidak konsisten.
  3. Tidak bisa membuat banyak nama domain. 

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.

FUNGSI DNS

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.

Struktur DNS 

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 Internet Domain, TLD)

merupakan rujukan kepada huruf-huruf terakhir setelah tanda titik dalam sebuah nama domain. TLD dibagi menjadi 2, yaitu:

generic Top Level Domain (gTLD) 

Dipergunakan oleh macam-macam organisasi, sebagai contoh, .com untuk organisasi komersial, .org untuk organisasi nonkomersial, edu untuk lembaga pendidikan Amerika, dll. Domain ini terdiri dari 3 huruf atau lebih. Sebagian besar gTLD tersedia untuk dapat digunakan secara luas, tetapi untuk alasan historis, .mil (militer Amerika Serikat) dan .gov (Pemerintahan Federal Amerika Serikat) dibatasi dan hanya dapat digunakan oleh kedua otoritas tersebut. Domain-domain dalam gTLD disubklasifikasikan ke dalam ranah yang disponsori (sponsored top-level domains (sTLD)), misalnya .aero, .coop dan .museum, dan ranah yang tidak disponsori (unsponsored top-level domains (uTLD)), misalnya .biz, .info, .name and .pro.

country code Top Level Domain (ccTLD)

Dipergunakan untuk kode negara atau wilayah dependensi. Terdiri dari 2 huruf, misalnya .jp untuk Jepang, .id untuk Indonesia, uk untuk Inggris, sg untuk Singapura.

3.  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. Second level di Indonesia antara lain go.id untuk lembaga pemerintahan Indonesia ; mil.id untuk lembaga militer Indonesia ; sch.id untuk lembaga pendidikan tingkat sekolah.
Struktur domain .id di bawah secong level domain diantaranya :
.ac : akademik
.co : company
.or : organisasi
.net : network
.go : government
.mil : military
.sch : school
.web : website
.war.net.id : khusus warnet

4.  Host Name

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.

Keberadaan DNS ini bersifat terdistribusi di seluruh dunia. Dengan pendistribusian ini maka masing-masing organisasi bertanggung jawab atas database yang berisi informasi mengenai jaringannya sendiri. Misalnya, DNS Server UNM hanya bertanggung jawab atas unm.ac.id.

Bagaimana DNS Bekerja? 

Secara sederhana cara kerja DNS bisa dilihat pada gambar berikut ini: 

DNS menggunakan relasi client – server untuk resolusi nama. Pada saat client mencari satu host, maka ia akan mengirimkan query ke server DNS. Query adalah satu permintaan untuk resolusi nama yang dikirimkan ke server DNS.  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.

Jika permintaan tidak ada pada database, name server akan menghubungi server root dan server lainnya dengan cara sebagai berikut :

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.

Prinsip Kerja DNS 

  • Resolvers mengirimkan queries ke name server 
  • Name server mencek ke local database, atau menghubungi name server lainnya. Jika ditemukan maka akan diberitahukan ke revolvers dan jika tidak maka akan mengirimkan failure message. 
  • Resolvers menghubungi host yang dituju dengan menggunakan IP Addressyang diberikan name server. 
  • Resolvers akan menjawab pertanyaan dengan dua cara yaitu : Melihat isi cache nya sendiri (apabila pertanyaan tersebut pernah ditanyakan dan jawabannya disimpan dalam cashe miliknya). kemudian Bertanya/query kepada dns server local serta menginterpretasikan hasilnya. 

Komponen DNS

Ada 3 bagian yang mendukung kinerja system DNS: 

  • DNS resolver, merupakan sebuah program DNS client yang dijalankan pada komputer user dan menghasilkan DNS request untuk keperluan program aplikasi. Resolver adalah bagian dari program aplikasi yang berfungsi untuk menjawab pertanyaan program aplikasi tentang domain. 
  • Recursive DNS server, yang akan meneruskan pencarian DNS melalui respons (balasan) query dari resolver, dan mengembalikan jawaban ke resolver.
  • Authoritative DNS server, adalah bagian yang menangani jawaban-jawaban keluar ke query dari recursor, pada tiap-tiap bagian jawaban, atau bagian dari penunjukan/penyerahan (contohnya, penyerahan ke authoritative DNS server yang lain). 

DNS Server terdiri atas 3 jenis, yaitu:

  • Cache, jenis ini tidak mempunyai data nama-nama host dari domain tertentu. Ia hanya mencari jawaban dari beberapa dns server dan menyimpan hasil di dalam cache-nya untuk keperluan mendatang. 
  • Primary (master), adalah dns server yang memegang daftar lengkap dari sebuah domain yang dikelolanya. Misalnya server admin.wordpress.com memegang otoritas penuh atas domain wordpress.com. 
  • secondary (slave), adalah backup dari primary server, apabila primary server crash atau untuk mempermudah pendelegasiannya. Secondary server juga memuat daftar lengkap dari sebuah domain, sama seperti primary (misalnya: mufari.wordpress.com). 
sebuah contoh kasus, misalnya seorang pengguna yang berada dalam jaringan atau network tertentu, dengan menggunakan browser Internet Explorer atau browser lain mengakses situs http://nazcules.blogspot.com/

Maka hal yang terjadi adalah:
  • Browser pertama sekali akan bertanya kepada resolver di komputer tersebut berapa IP address dari http://nazcules.blogspot.com/ 
  • Resolvers akan mencari jawaban dengan melihat isi dari cache (mungkin situs tersebut pernah diakses sebelumnya).
  • Apabila situs tersebut pernah diakses sebelumnya, maka informasi mengenai alamat IP telah ada dalam cache dan resolver akan segera memberitahu jawabannya ke browser. Namun bila jawabannya belum ada dalam cache, maka resolver akan mengontak DNS server lokal yang menjadi defaultnya (DNS Server Amikom) dan memberi jawabannya ke browser, untuk segera menampilkan informasi yang tersedia. 
Dalam kasus yang berbeda, jika name server tidak mengetahui jawabannya (atau name server tidak outoritative untuk zona tersebut), maka name server lain yang lebih autoritative yaitu Root DNS. Root DNS pasti mempunyai database yang dimaksud dan memberikannya kepada DNS server lokal. Root DNS memuat seluruh daftar nama yang ada di dunia, dan Root DNS server ini tidak hanya terdiri atas satu server saja, melainkan sekitar 13 server yang diletakkan di seluruh dunia.

Masalah Seputar DNS 

Ada beberapa hal yang timbul seputar DNS, diantaranya: 

  • sistem tabel dapat digunakan untuk jumlah mesin yang tidak terlalu banyak. 
  • Internet berkembang. Jumlah host bertambah. Tabel bertambah besar dan repot. 
  • Perebutan nama yang “favorit” seperti : 
    • nama fungsi : sever, router,
    • Nama tokoh idola : seperti tokoh kartun, artis, penguasa, pengarang, science fiction,
    • Nama lokasi : kota, negara, .. . 

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 pengiriman E-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 services melalui area geografis yang luas, banyak server yang secara fisik (bukan sekedar angka) terletak di luar Amerika Serikat.

Jenis-jenis catatan DNS

Beberapa kelompok penting dari data yang disimpan di dalam DNS adalah sebagai berikut: 

  • A record atau catatan alamat memetakan sebuah nama host ke alamat IP 32-bit (untuk IPv4).
  • 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.arpa yang mewakili sebuah alamat IP menerapkan pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut. Contohnya (saat penulisan / penerjemahan artikel ini), www.icann.net memiliki 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. 
  • SRV record adalah catatan lokasi secara umum. 
  • 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.

Perangkat lunak DNS

Beberapa jenis perangkat lunak yang menerapkan metode DNS, di antaranya:

  • BIND (Berkeley Internet Name Domain) 
  • djbdns (Daniel J. Bernstein's DNS) 
  • MaraDNS 
  • QIP (Lucent Technologies) 
  • NSD (Name Server Daemon) 
  • Unbound 
  • PowerDNS 
  • Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows 2003) 
  • DJBNS (Daniel J BernstreinÂ’s Domain Name System) merupakan salah satu software DNS (Domain Name Server) yang digunakan sebagai alternatif pengganti BIND (Berkeley Internet Name Domain) dimana konsep yang dijalankan berbeda namun memiliki fungsi yang sama. Data-data yang diperlukan dikumpulkan dengan melakukan pengujian atau penelitian laboratorium. Data tersebut dianalisis dengan membandingkan penggunaan BIND dengan DJBDNS. Dimana BIND memiliki kelemahan dari segi keamanan karena bersifat open source dan tidak bisa memonitoring aktfitas kegiatan servis DNS yang dilakukan sedangkan pada DJBDNS tidak bersifat open source dan bisa memonitoring aktifitas kegiatan servis DNS. Berdasarkan uraian di atas, penulis menyimpulkan bahwa DJBDNS lebih mudah digunakan dalam pembuatan DNS dan lebih banyak memiliki fasilitas-fasilitas dari pada BIND, serta dari segi keamanannya juga. Penulis menyarankan agar menggunakan DJBDNS sebagai tools pendukung dalam pembuatan DNS.

No comments:

Post a Comment