Jika
anda menggunakan internet, maka dapat hampir dipastikan anda
menggunakan DNS (Domain Name Server) tanpa anda menyadarinya. DNS adalah
sebuah protokol standar yang digunakan dalam proses sebuah transaksi
data internet atau jaringan privat yang berfungsi untuk menterjemahkan
nama domain (misalnya fazar.net) menjadi alamat IP numerikal (misalnya
31.220.4.24). Apa perannya dalam hal konektivitas internet? Temukan
jawabannya disini.
Pada
prinsipnya, setiap perangkat yang terhubung ke internet harus
berkomunikasi dengan menggunakan alamat IP. DNS sebagaimana yang
dijelaskan diatas memiliki fungsi untuk menterjemahkan sebuah nama
domain menjadi sebuah alamat IP internet (IP Address). Nama domain
dibuat dengan konsep agar anda dapat lebih mengakses sebuah server atau
perangkat yang terhubung ke internet tanpa harus mengetahui alamat IP
nya, karena nama domain lebih mudah di ingat dan di hafal. Anda akan
mudah mengingat fazar.net (domain) ketimbang 31.220.4.24 (alamat IP)
bukan?
Apa yang terjadi jika tidak ada layanan DNS?
DNS
pada internet sama seperti oksigen untuk manusia. Tanpa layanan DNS
yang tersedia, maka dapat dipastikan anda tidak dapat melakukan
aktifitas berinternet seperti browsing, chatting, mengirim email, dan
sebagainya. Dengan kata lain internet menjadi tidak dapat diakses (alias
mandeg).
Secara umum, DNS akan
otomatis akan di setting pada saat anda melakukan dial/koneksi ke ISP
tanpa anda perlu setting manual. Setting atau pengaturan DNS ini akan
tersimpan didalam router atau modem yang menghubungkan anda ke internet.
Dan biasanya, DNS yang diberikan oleh ISP berjumlah minimal 2 server
DNS (primary dan secondary dns). Hal ini penting agar pada suatu kondisi
DNS yang pertama mengalami kegagalan koneksi atau down, maka DNS kedua
yang akan mengambil alih tugas untuk menterjemahkan nama domain/hostname
menjadi alamat IP untuk anda.
Sebenarnya
ada sebuah proses panjang yang terjadi pada saat anda memasukkan alamat
sebuah web (misalnya google.com) kemudian menekan enter pada browser
kesayangan anda. Secara kasarnya adalah sebagai berikut :
Pada
saat anda mencoba mengakses google.com, komputer akan mengirimkan
permintaan ke alamat IP mana akses google.com akan ditujukan (query)
menggunakan DNS yang ditetapkan oleh ISP.
Jika
server DNS yang disediakan oleh ISP tidak mengetahui alamat IP dari
google.com, maka server DNS tersebut akan melakukan query ke salah satu
root DNS server. Saat ini terdapat 13 root DNS server yang ada di
dunia.
DNS ISP akan menerima dan menyimpan informasi alamat IP yang didapatnya dari root DNS
Selanjutnya, DNS ISP akan meneruskan informasi alamat IP ke komputer anda.
Komputer (lewat browser) akan menghubungi / mengakses alamat IP yang diberikan oleh DNS dan meminta halaman web.
Yang
menjadikan hal ini luar biasa adalah dalam kondisi internet yang normal
dan stabil keseluruhan proses ini terjadi hanya dalam hitungan
sepersekian detik (milisecond).
Apakah kualitas DNS berhubungan dengan kecepatan akses internet?
Jawabannya : Bisa iya, bisa juga tidak. :)
Jika
kualitas link internet anda bermasalah atau terjadi permasalahan teknis
di sisi server DNS, maka proses query yang hanya membutuhkan waktu
sepersekian detik dapat meningkat menjadi beberapa detik atau bahkan
proses query menjadi gagal. Dalam kondisi demikian akses internet
terutama web browsing akan terasa sangat lamban bahkan jika query gagal
dilakukan anda akan tidak dapat browsing sama sekali. Sebaliknya,
semakin cepat proses query berlangsung, semakin responsif pula akses
internet yang anda gunakan.
Jika anda
menggunakan DNS yang tidak tepat, maka pada saat mengakses situs-situs
tertentu, koneksi anda akan terasa lebih lambat? Kenapa? Silakan temukan
jawabannya pada tulisan berikutnya.
Secara
default, ISP akan memberikan parameter setting DNS yang terbaik secara
otomatis – biasanya ISP akan memberikan 2 DNS yang servernya berada di
dalam network milik mereka. Dengan hal tersebut, diharapkan akses ke
server DNS menjadi maksimal dari sisi klien.
Jika
memang anda ingin memilih sendiri DNS yang akan anda gunakan, maka anda
dapat melakukan tes sederhana untuk menentukan kualitas DNS yang akan
anda pakai yaitu ping dan traceroute. Dalam contoh berikut ini, saya
akan memperlihatkan tes ping dan traceroute pada DNS milik Telkom
(202.134.0.155) dan DNS publik milik Google (8.8.8.8).
Tes pertama, menggunakan ping :
Pada
tes ping, nilai latensi yang lebih rendah menandakan kualitas link yang
lebih baik. Pada gambar diatas terlihat kisaran ping ke DNS telkom
lebih baik hasilnya (antara 37 – 39 ms) ketimbang DNS milik Google
(antara 68 – 71 ms).
Tes kedua, menggunakan traceroute :
Pada
tes traceroute server dengan jumlah lompatan (hop) paling sedikit
adalah yang terbaik. Terlihat akses ke DNS Telkom hanya membutuhkan 5
hops, sedangkan akses ke DNS Google membutuhkan 15 hops (terlihat
ditempat saya terdapat timed out – this is bad), sehingga dalam hal ini
akan lebih efisien jika saya menggunakan DNS Telkom.
Tidak
puas dengan tes sederhana menggunakan ping dan traceroute? Tidak
masalah. Anda dapat menggunakan tes DNS menggunakan utility kecil yang
bernama namebench.
Perlu waktu lama untuk melakukan pengetesan DNS dengan namebench, oleh
sebab itu anda harus sabar (orang sabar disayang tuhan, hehehe..) jika
melakukan benchmark dengan tool ini. namebench akan memberikan laporan
lengkap dan rekomendasi 3 DNS tercepat dan terdekat yang dapat anda
gunakan.
Dalam
tes sederhana seperti diatas dapat disimpulkan bahwa DNS milik ISP
(dalam hal ini saya menggunakan Telkom) secara teknis akan memberikan
kinerja terbaik, akan tetapi disisi lain DNS milik ISP seperti Telkom
biasanya dilengkapi dengan content filtering yang bertugas untuk
menyaring akses ke situs-situs yang mengandung unsur pornografi,
perjudian, phising, dan sebagainya.
Anda tentunya sudah sangat mengenal istilah Internet Positif, Nawala, atau sejenisnya :)
Dalam
beberapa kasus, terkadang proses penyaringan dari DNS terdapat false
positive yakni dimana kondisi situs yang saya akses diblokir padahal
saya tidak mengakses situs yang (dianggap) terlarang. Oleh karena itu,
jika anda menyukai “kebebasan” dalam mengakses internet, anda dapat
mempertimbangkan untuk menggunakan DNS yang bukan ditentukan oleh ISP –
walau pun kinerjanya tidak secepat dan se-efisien DNS milik ISP.
Content Delivery Networks (CDN) VS. DNS anda
Sebelumnya
saya menuliskan bahwa pemilihan DNS yang tidak tepat akan mengakibatkan
degradasi kecepatan akses alias lebih lambat jika mengakses situs-situs
tertentu terutama situs yang menggunakan Content Delivery Networks
(CDN) untuk mengantarkan konten statik (gambar, video, css, javascript
dan sebagainya) ke klien yang mengakses situs mereka.
CDN
adalah sebuah infrastruktur internet global yang terdiri dari ratusan
server (biasa disebut nodes atau edges) tersebar diseluruh dunia yang
bertugas untuk menyampaikan konten web pada pengunjung sebuah situs
langsung dari server terdekat dengan lokasi si pengunjung tersebut.
Hasilnya : browsing akan terasa lebih cepat.
Anda mungkin bertanya-tanya, apakah hubungan antara CDN dengan DNS?
Anda perlu mengetahui bahwa hampir semua jaringan CDN yang ada pada
saat ini menggunakan teknologi yang dinamakan Global Server Load
Balancing (GSLB) untuk mengarahkan pengunjung web ke server terdekat
secara geografis dengan server CDN. Sayangnya teknologi ini tidak dapat
menentukan secara tepat posisi pengunjung tersebut pada saat pengunjung
melakukan query / DNS lookup. CDN hanya akan berasumsi bahwa pengunjung
menggunakan server DNS yang memiliki posisi terdekat dengan mereka
secara geografis.
Mantap jika anda
menggunakan DNS milik ISP, karena secara umum posisi server DNS ISP
dekat dengan anda – karena CDN akan mengarahkan anda ke server yang
terdekat DNS anda. Sedangkan jika anda menggunakan DNS yang posisinya
berada dibelahan dunia lain, maka CDN juga akan mengarahkan anda untuk
browsing ke server CDN yang posisinya jauh dari posisi anda.
Bayangkan
jika anda menggunakan DNS Google, maka akses browsing anda akan
diarahkan ke server CDN yang lokasinya di Amerika, tentu saja aksesnya
akan menjadi lebih lamban. Berbeda jika anda menggunakan DNS ISP lokal,
maka anda akan diarahkan ke server terdekat misalnya server CDN
berlokasi di Jakarta atau maksimal ada di Singapura.
Ah… kan nggak semua situs pake CDN. Santai aja lah masbRo…
Betul,
tidak semua situs menggunakan CDN, tapi apakah anda tahu bahwa situs
seperti facebook, twitter, google, youtube dan situs-situs populer
lainnya mengimplementasikan teknologi CDN yang akan lebih maksimal
kecepatan aksesnya jika anda menggunakan DNS ISP lokal. :)
Referensi :
- http://en.wikipedia.org/wiki/Domain_Name_System
- http://en.wikipedia.org/wiki/Root_name_server
- http://www.jet-stream.com/blog/cdn-performance-heavily-disrupted-by-dns-services/
- http://shaun.net/2011/02/how-third-party-dns-resolvers-can-impact-performance/
- http://earthnet.net/support/general/dns.htm
- http://www.neowin.net/news/public-dns-providers-do-they-actually-improve-your-experience