Struktur dan Cara Kerja DNS

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
Hierarki/pohon DNS dan sistem berkas UNIX

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