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.
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
.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.
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.
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.
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:
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.