Pages

Subscribe:

Tuesday, March 25, 2008

Teori bekerja DNS

Pengelola dari sistem DNS terdiri dari tiga komponen:
*'''DNS resolver''', sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.
*'''recursive DNS server''', yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari ''resolver'', dan mengembalikan jawaban kepada para ''resolver'' tersebut;
''dan'' ...
*'''authoritative DNS server''' yang memberikan jawaban terhadap permintaan dari ''recursor'', baik dalam bentuk sebuah jawaban, maupun dalam bentuk delegasi (misalkan: mereferensikan ke ''authoritative DNS server'' lainnya)

===Pengertian beberapa bagian dari nama domain===

Sebuah [[nama domain]] biasanya terdiri dari dua bagian atau lebih (secara teknis disebut ''label''), dipisahkan dengan titik.
*Label paling kanan menyatakan '''[[top-level domain]]''' - domain tingkat atas/tinggi (misalkan, alamat www.wikipedia.org memiliki top-level domain org).
*Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau '''subdomain''' dari domain yang lebih tinggi. Catatan: "subdomain" menyatakan ketergantungan relatif, bukan absolut. Contoh: wikipedia.org merupakan subdomain dari domain org, dan id.wikipedia.org dapat membentuk subdomain dari domain wikipedia.org (pada prakteknya, id.wikipedia.org sesungguhnya mewakili sebuah nama host - lihat dibawah). Secara teori, pembagian seperti ini dapat mencapai kedalaman 127 level, dan setiap label dapat terbentuk sampai dengan 63 karakter, selama total nama domain tidak melebihi panjang 255 karakter. Tetapi secara praktek, beberapa [[pendaftar nama domain]] (''domain name registry'') memiliki batas yang lebih sedikit.
*Terakhir, bagian paling kiri dari bagian nama domain (biasanya) menyatakan nama host. Sisa dari nama domain menyatakan cara untuk membangun jalur logis untuk informasi yang dibutuhkan; nama host adalah tujuan sebenarnya dari nama sistem yang dicari alamat IP-nya. Contoh: nama domain www.wikipedia.org memiliki nama host "www".

DNS memiliki kumpulan hirarki dari '''DNS servers'''. Setiap domain atau subdomain memiliki satu atau lebih '''authoritative DNS Servers''' (server DNS otorisatif) yang mempublikasikan informas tentang domain tersebut dan nama-nama server dari setiap domain di-"bawah"-nya. Pada puncak hirarki, terdapat '''[[root nameserverroot servers]]'''- induk server nama: server yang ditanyakan ketika mencari ('''menyelesaikan'''/''resolving'') dari sebuah nama domain tertinggi (''top-level domain'').


===Sebuah contoh dari teori rekursif DNS===

Sebuah contoh mungkin dapat memperjelas proses ini. Andaikan ada aplikasi yang memerlukan pencarian alamat IP dari www.wikipedia.org. Aplikasi tersebut bertanya ke ''DNS recursor'' lokal.
*Sebelum dimulai, ''recursor'' harus mengetahui dimana dapat menemukan ''root nameserver''; administrator dari ''recursive DNS server'' secara manual mengatur (dan melakukan update secara berkala) sebuah file dengan nama '''root hints [[DNS zonezone]]''' (panduan akar DNS) yang menyatakan alamat-alamt IP dari para server tersebut.
*Proses dimulai oleh ''recursor'' yang bertanya kepada para ''root server'' tersebut - misalkan: server dengan alamat IP "198.41.0.4" - pertanyaan "apakah alamat IP dari www.wikipedia.org?"
*''Root server'' menjawab dengan sebuah '''delegasi''', arti kasarnya: "Saya tidak tahu alamat IP dari www.wikipedia.org, tapi saya "tahu" bahwa server DNS di 204.74.112.1 memiliki informasi tentang domain org."
*''Recursor'' DNS lokal kemudian bertanya kepada server DNS (yaitu: 204.74.112.1) pertanyaan yang sama seperti yang diberikan kepada ''root server''. "apa alamat IP dari www.wikipedia.org?". (umumnya) akan didapatkan jawaban yang sejenis, "saya tidak tahu alamat dari www.wikipedia.org, tapi saya "tahu" bahwa server 207.142.131.234 memiliki informasi dari domain wikipedia.org."
*Akhirnya, pertanyaan beralih kepada server DNS ketiga (207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.
Proses ini menggunakan [[pencarian rekursif]] (''recursion / recursive searching'').

===Pengertian pendaftaran domain dan ''glue records''===
Membaca contoh diatas, Anda mungkin bertanya: "bagaimana caranya DNS server 204.74.112.1 tahu alamat IP mana yang diberikan untuk domain wikipedia.org?" Pada awal proses, kita mencatad bahwa sebuah ''DNS recursor'' memiliki alamat IP dari para ''root server'' yang (kurang-lbeih) di data secara explisit (''hard coded''). Mirip dengan hal tersebut, server nama (''name server'') yang otoritatif untuk 'top-level domain'' mengalami perubahan yang jarang.

Namun, server nama yang memberikan jabawan otorisatif bagi nama domain yang umum mengalami perubahan yang cukup sering. Sebagai bagian dari proses pendaftara sebuah nama domain (dan beberapa waktu sesudahnya), pendaftar memberikan pendaftaran dengan server nama yang akan mengotorisasikan nama domain tersebut; maka ketika mendaftara wikipedia.org, domain tersebut terhubung dengan server nama gunther.bomis.com dan zwinger.wikipedia.org di pendaftar .org. Kemudian, dari contoh di atas, ketika server dikenali sebagai 204.74.112.1 menerima sebuah permintaan, DNS server memindai daftar domain yang ada, mencari wikipedia.org, dan mengembalikan server nama yang terhubung dengan domain tersebut.

0 comments:

Post a Comment