Senin, 14 Juni 2010

DNS part II

C.    Struktur Kerja DNS
Model kerja server DNS dapat digambarkan sebagai berikut :
Bagian resolver adalah bagian dari program aplikasi yang berfungsi menjawab setiap pertanyaan tentang domain. Untuk menjawab pertanyaan, resolver dapat mencari jawabannya dengan memeriksa isi cache dan meneruskan pertanyaan ke server DNS atau bertanya langsung ke server DNS. Cache adalah bagian yang menyimpan pertanyaan-pertanyaan tentang domain yang pernah diajukan sebelumnya. Setiap aplikasi internet yang ingin menghubungi host lain pasti akan berinteraksi dengan server DNS melalui resolver.
Jika server DNS tidak memiliki jawaban dari pertanyaan domain (name server bukan authoritative name server dari domain yang ditanyakan), maka server DNS akan meneruskan pertanyaan tersebut ke name server yang dianggapnya lebih tahu. Proses pengalihan ke name server (NS) lain (proses name resolution) ini merupakan proses iteratif yang berlangsung hingga diperoleh alamat lengkap sebuah host. Sebagai contoh jika ada user yang ingin menghubungi pandu.ee.ugm.ac.id, maka mula-mula NS akan menghubungi root server. Karena root server tidak memiliki informasi untuk host pandu.ee.ugm.ac.id, maka root server akan memberikan referensi kepada NS untuk menghubungi authoritative name server terdekat yaitu name server untuk domain id. Dari name server domain id , NS kembali memper oleh referensi untuk menghubungi name server domain ac. Proses ini terus berlangsung hingga NS memperoleh informasi lengkap tentang host pandu.ee.ugm.ac.id.
Setiap request domain akan disimpan di dalam cache untuk jangka waktu tertentu. Hal ini bertujuan untuk mempercepat proses name resolution. Sebagai contoh jika sebelumnya ada user yang me-request informasi untuk pandu.ee.ugm.ac.id, maka untuk user yang me-request fileserver.lapi.ugm.ac.id akan diarahkan ke name server yang memiliki korelasi terdekat dengan domain yang pernah di-request yang tersimpan di dalam cache, yaitu name server ugm.ac.id.
D.    Contoh penerapan DNS
Setelah kita mengetahui apakah itu DNS, bagaimana sejarahnya, mengerti bagaimana struktur hingga memahami prinsip kerjanya maka disini akan diberikan contoh bagaimana penerapan DNS didunia nyata. Disini ada beberapa contoh sebagai penggambaran cara kerja DNS. Contohnya yaitu :

Contoh 1: Contoh Umum Menggunakan Browser
Di dunia nyata, user tidak berhadapan langsung dengan DNS resolver - mereka berhadapan dengan program seperti web brower (Mozilla Firefox, Safari, Opera, Internet Explorer, Netscape, Konqueror dan lain-lain dan klien mail (Outlook Express, Mozilla Thunderbird dan lain-lain). Ketika user melakukan aktivitas yang meminta pencarian DNS (umumnya, nyaris semua aktivitas yang menggunakan Internet), program tersebut mengirimkan permintaan ke DNS Resolver yang ada di dalam sistem operasi. DNS resolver akan selalu memiliki cache (lihat diatas) yang memiliki isi pencarian terakhir. Jika cache dapat memberikan jawaban kepada permintaan DNS, resolver akan menggunakan nilai yang ada di dalam cache kepada program yang memerlukan.
Kalau cache tidak memiliki jawabannya, resolver akan mengirimkan permintaan ke server DNS tertentu. Untuk kebanyakan pengguna di rumah, Internet Service Provider(ISP) yang menghubungkan computer tersebut biasanya akan menyediakan server DNS: pengguna tersebut akan mendata alamat server secara manual atau menggunakan DHCP untuk melakukan pendataan tersebut. Jika administrator sistem telah mengkonfigurasi sistem untuk menggunakan server DNS mereka sendiri, DNS resolver umumnya akan mengacu ke server nama mereka. Server nama ini akan mengikuti proses yang disebutkan di Teori DNS, baik mereka menemukan jawabannya maupun tidak. Hasil pencarian akan diberikan kepada DNS resolver; diasumsikan telah ditemukan jawaban, resolver akan menyimpan hasilnya di cache untuk penggunaan berikutnya, dan memberikan hasilnya kepada software yang meminta pencarian DNS tersebut.
Sebagai bagian akhir dari kerumitan ini, beberapa aplikasi seperti web browser juga memiliki DNS cache mereka sendiri, tujuannya adalah untuk mengurangi penggunaan referensi DNS resolver, yang akan meningkatkan kesulitan untuk melakukan debug DNS, yang menimbulkan kerancuan data yang lebih akurat. Cache seperti ini umumnya memiliki masa yang singkat dalam hitungan 1 menit.
Misalkan saja kita browsing di warnet, dan akan menghubungi www.google.com .Rangkaian proses yang akan dijalankannya adalah sebagai berikut:
1.    PC kita mengontak Server DNS lokal (biasanya terletak pada jaringan ISP) untuk menanyakan IP Address www.google.com .
2.     Server DNS lokal akan melihat ke dalam cache-nya.
3.    Jika data itu terdapat di dalam cache server DNS server lokal, maka server tersebut akan memberikan alamat IP tersebut ke Browser. Jika tidak, maka server tersebut mengontak server DNS di atasnya (biasanya disebut Root DNS server) untuk mengetahui alamat IP dari DNS server yang mengelola domain www.google.com.
4.    Jika domain www.google.com benar-benar exist, maka Root DNS akan mendapatkan alamat IP server DNS www.google.com,kemudian alamat dikirim ke server DNS lokal kita .
5.    Server DNS lokal akan mengontak Server DNS www.google.com untuk menanyakan alamat IP dari www.google.com , dan Server DNS www.google.com memberikan data alamat IP www.google.com
6.    Server DNS lokal memberitahu alamat IP untuk www.google.com kepada Browser/Client (PC kita).
7.    Kemudian kita menggunakan alamat itu untuk diisikan ke dalam IP Packet untuk menghubungi www.google.com .
Contoh 2.
1.    Mengetikan sesuatu alamat / URL (Uniform Resources Locator) ke kolom address di browser. Misalnya www.ilkom.unsri.ac.id

2.    Berikutnya software Browser yang dijalankan diatas sebuah system operasi berinteraksi dengan modem atau perangkat keras lainnya yang menghubungkan computer kita ke Internet melalui sebuah ISP.
3.    Permintaan kita pada browser tadi sebelum diteruskan ke server tujuan, harus diterjamahkan dahulu ke alamat IP ADDRESS, karena yang kita ketikan di browser tadi adalah penamaan domain padahal server yang terkoneksi ke Internet menggunakan alamat IP Address yang unik dan juga router bekerja terkoneksi ke router lainnya juga membaca IP Address. Maka alamat yang kita ketikan tadi ditanyakan terlebih dahulu ke mesin DNS (Domain Named Service), tugas utama mesin DNS ini adalah melakukan translasi nama domain ke alamat IP atau sebaliknya yang disimpan pada sebuah database. Sebagai contoh tadi permintaan dari pc kita ke ilkom.unsri.ac.id, maka server DNS akan mentralasikan bahwa ilkom.unsri.ac.id adalah IP Address 202.93.35.xxx, mesin ini akan bekerja keras untuk melayani semua permintaan alamat IP ilkom.unsri.ac.id dari manapun di dunia. Untuk mengetahui alamat IP ADDRESS dari sebuah alamat domain dapat dilakukan dengan perintah ping www.alamatdomainnya.com dari command dos.
4.    DNS akan mengembalikan permintaan kita tadi ke computer kita dan browser akan mengirim permintaan tadi ke router dengan IP Address, dan router karena hanya bisa membaca IP Address akan meneruskan permintaan tadi sesuai dengan jalan yang telah dibuat router sebelumnya, karena router ini ‘HIDUP’, router saling memberikan informasi dirinya kepada router yang ada disebelahnya.
5.    pada saat website yang kita tuju ditemukan maka disisi kiri bawah browser akan muncul tulisan ‘ WEB SITE F0UND, WAITING FOR REPLY’, dengan menggunakan skema protocol tertentu maka permintaan kita tadi telah sampai ke server tujuan.
6.    Server tujuan akan meneruskan permintaan kita ke server ilkom.unsri.ac.id dan mencari layanan yang kita inginkan, disini misalnya web server yang menjalankan suatu layanan tertentu. Misalnya memunculkan  ilkom.unsri.ac.id/index.html. sesuai yang dikonfigurasi di server tujuan.
Pada saat kita mengetikkan sesuatu alamat pada browser maka data akan dilewatkan oleh suatu protocol HTTP melewati port 80 pada server. Alamat ini adalah URL dari suatu situs yang mempunyai alamat yang unik di Internet. Web Browser akan mengirimkan suatu aturan yang telah disepakati sebelumnyua, aturan ini biasa disebut sebagai protocol, stadar protocol menggunakan TCP/IP, proses ini dimulaid dengan melakukan 3 way handshakes antara sumber dan tujuan.
Web browser, suatu aplikasi pada client yang akan menampilkan halaman web sites dari internet. Web browser di install di sisi user (OS) menampilkan informasi ke komputer dengan interpreting bahasa pengkodean HTML, dimana homepage berisi gambar, suara, multimedia, dan resources lainnya yang dapat diakses. Files Coding pada HTML memberikan datanya ke browser apa yang akan ditampilkan ke sisi client. Isi HTML yang akan ditampilkan bukan dari browsernya tetapi dari web servernya dan
Browser akan menginterpret tag HTML untuk link ke halaman berikutnya

DNS

A.    DNS (Domain Name System)
Pada awal berkembangan internet, seorang user yang akan menghubungi komputer user lain harus menyebutkan alamat IP address komputer yang hendak dituju. Seiring dengan berkembangnya teknologi internet dan semakin berlipatnya jumlah pengguna aplikasi internet, maka akanlah sangat menyusahkan jika kita harus mengingat IP address setiap user yang berupa angka-angka. Untuk mengatasi hal ini, dikembangkanlah sistem penterjemahan IP address yang berupa angka ke nama yang lebih mudah diingat maupun sebaliknya. Pada awalnya sistem penamaan IP address menggunakan sistem host table.
Dalam sistem ini, setiap komputer menyimpan file host.txt yang berisikan daftar kombinasi IP address dengan nama dari setiap komputer yang terhubung ke internet. Jadi setiap ada penambahan user ataupun perubahan data user, kita harus  memperbaharui file host.txt melalui FTP ke seluruh host yang ada di internet. Tentunya system penamaan IP seperti ini sangatlah tidak efektif dan sudah tidak mampu menangani kebutuhan yang ada saat ini. Oleh karena itu pada tahun 1984, Paul Mockapertis mengusulkan sistem penamaan IP yang baru yaitu menggunakan Domain Name System (DNS), sistem inilah yang digunakan hingga saat ini.
    Domain Name System (DNS) adalah distribute 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 dimana DNS memiliki keunggulan seperti:
1.    Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
2.    Konsisten, IP address sebuah komputer bisa berubah tapi host name tidak berubah.
3.    Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.
B.    Prinsip Kerja Pendelegasian Domain
Sistem database yang digunakan DNS adalah sistem hirarki. Sistem ini dipilih karena sistem ini cocok digunakan untuk sistem terdistribusi, konsisten untuk setiap host, dan updateable. Sistem ini digambarkan sebagai sebuah tree yang memiliki beberapa cabang. Cabang-cabang ini mewakili domain, dan dapat berupa host, subdomain, ataupun top level domain, yang digambarkan sebagai berikut:
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. Pembentukan dan  pembacaannya dimulai dari node yang paling bawah berurut dari node yang paling bawah hingga node yang paling atas (root). Sebagai contoh untuk nama host pandu.ee.ugm.ac.id. kita dapat menguraikan domainnya menjadi :
. merupakan root domain,
id merupakan top level domain,
ac merupakan second level domain,
ugm merupakan third level domain,
ee merupakan fourth level domain,
pandu merupakan fifth level domain yang menunjukkan nama host.
Dari contoh di atas kita dapat mengetahui aturan penulisan nama host, yaitu dimulai dari kiri ke kanan untuk node yang paling bawah hingga node yang paling atas, dan setiap domain  dipisahkan dengan titik. Seperti yang telah disampaikan sebelumnya bahwa selain berfungsi untuk mapping alamat IP ke nama host, DNS juga berfungsi sebaliknya, yaitu reverse mapping dari nama host ke alamat IP. Masalah aturan mapping dan reverse mapping ini akan dibahas pada bagian konfigurasi zone.