Struktur dan Cara Kerja DNS
Struktur database DNS sangat mirip dengan
sistem-berkas/filesystem UNIX yaitu berbentuk hierarki atau pohon.
Tingkat teratas pada DNS adalah root yang disimbolkan dengan titik/dot
(.) sedangkan pada sistem berkas UNIX, root disimbolkan dengan slash
(/).
Setiap titik cabang mempunyai label
yang mengidentifikasikannya relatif terhadap root (.). Tiap titik cabang
merupakan root bagi sub-tree/tingkat bawahnya. Tiap sub-tree
merupakan domain dan dibawah domain terdapat sub-tree lagi bernama
subdomain. Setiap domain mempunyai nama yang unik dan menunjukkan posisinya
pada pohon DNS, pengurutan/penyebutan nama domain secara penuh dimulai dari domain
paling bawah menuju ke root (.). Masing-masing nama yang membentuk suatu
domain dipisahkan dengan titik/dot (.) dan diakhiri dengan titik yang
merupakan nama absolut relatif terhadap root (.).
Sistem penulisan nama secara absolut dan lengkap ini disebut FQDN (Fully Qualified Domain Name).
Hierarki/pohon DNS dan sistem berkas UNIX
Tiap
organisasi yang telah mendaftar ke Network Information Center(NIC) akan
mendapatkan nama domain sesuai dengan organisasi tersebut. Nama domain tersebut
bisa dibagi lagi menjadi subdomain sesuai dengan kebutuhan organisasi tersebut
sesuai dengan otorisasi domain. Contoh: InterNIC mempunyai semua Top Level
Domain termasuk com, perusahaan indolinux akan mendaftarkan nama domain indolinux.com
(komersial), maka indolinux diberikan/didelegasikan oleh InterNIC untuk
mengelola domain indolinux.com yang merupakan sub domain dari com.
Indolinux dapat membagi lagi domain indolinux.com ke beberapa sub domain
misal pikachu.indolinux.com, raichu.indolinux.com.
Setiap server DNS pada suatu
jaringan mempunyai informasi tentang host-host dalam jaringan
tersebut yaitu alamat IP, routing email, server ftp, server web, dsb.
Selain itu tiap host dalam
otorisasi suatu domain juga bisa mendapatkan alias dari nama host-nya
dalam domain di atasnya. misal: iwan.indolinux.com bisa saja mempunyai
alias (canonical name) pikachu.indolinux.com, dimana kedua domain
tersebut mengacu ke mesin/host yang sama. Dengan adanya sistem berbentuk
hierarki/pohon ini maka tidak ada nama host yang sama pada domain/subdomain
yang sama, karena masing-masing dari node/titik-cabang mempunyai nama
unik dan tidak boleh ada yang menyamainya kecuali berbeda sub-tree/sub
pohon. Tidak akan ada konflik antar organisasi karena masing-masing organisasi
mempunyai domain yang berbeda-beda dan ini diatur oleh InterNIC untuk TLD.
Misal: indolinux menginginkan nama
mesin/host di bawah domain indolinux.com dengan nama pikachu (pikachu.indolinux.com),
sedang 5leaps Software juga menginginkan nama yang sama untuk salah satu host-nya
dengan domain 5leaps.org. Disini tidak akan terjadi konflik karena
masing-masing mempunyai domain sendiri-sendiri. Indolinux mempunyai pikachu.indolinux.com
dan 5leaps Software mempunyai pikachu.5leaps.org. Seperti dijelaskan di
atas, tidak boleh suatu nama/label sama yang berada dalam domain sama atau
mempunyai parent atau sub-tree atas yang sama karena ini akan
membuat konflik pada penamaan domain. Coba bayangkan jika orang tua yang sama
mempunyai dua orang anak dengan nama yang sama. Bagaimana mereka memanggil satu
dari dua anak tersebut? anda pasti tahu jawabannya. Ini sangat menyulitkan.
Konflik domain
Kedalaman pohon dibatasi sampai
level 127, akankah anda menembus batas ini untuk domain anda? sepertinya tidak.
Sebuah nama domain adalah nama sub-tree dari
domain name-space.
Suatu host diwakili dengan nama domain yang full/penuh termasuk nama mesin/komputer tersebut, dan host mengacu pada suatu host/komputer secara individu. Sedangkan domain berisi semua host yang berada dibawahnya. Individual host yang berada pada suatu domain menunjukkan informasi mengenai alamat jaringan, perangkat keras, routing mail, dsb.
Suatu host diwakili dengan nama domain yang full/penuh termasuk nama mesin/komputer tersebut, dan host mengacu pada suatu host/komputer secara individu. Sedangkan domain berisi semua host yang berada dibawahnya. Individual host yang berada pada suatu domain menunjukkan informasi mengenai alamat jaringan, perangkat keras, routing mail, dsb.
Untuk membedakan nama domain dan
subdomain kita ambil contoh:
- pikachu.indolinux.com adalah subdomain dari indolinux.com.
- stwn.raichu.domain.net adalah subdomain dari raichu.domain.net.
- dst.