Pengertian
Domain Name System atau DNS adalah Distribute Database System yang digunakan pada pencarian nama komputer (name resolution) pada rangkaian yang menggunakan TCP/IP. DNS merupakan sebuah aplikasi service yang biasa digunakan di dalam Internet, seperti Web Browser atau e-mail yang menerjemahkan sebuah domain ke dalam IP Address.
Kelebihan DNS
- Mudah; DNS sangat mudah karena user tidak lagi dipersulit untuk mengingat IP Address suatu komputer dan cukup host-name-nya saja.
- Konsisten; IP Address suatu komputer boleh berubah, tetapi host-name tidak boleh berubah.
- Sederhana; DNS mudah untuk dikonfigurasi(bagi admin).
Kekurangan DNS
User tidak dapat menggunakan nama banyak untuk mencari nama domain, baik di internet maupun di intranet.
Fungsi DNS
Fungsi daripada DNS adalah menerjemahkan nama komputer ke dalam IP Address (memetakan nama komputer menjadi IP Address).
Prinsip Kerja
DNS bekerja dengan konsep Server-Client. Sebuah komputer yang menjalankan fungsi Server disebut "DNS Server" atau "Nameserver", sedangkan komputer lain yang meminta penerjemahan dari hostname ke IP Address disebut "DNS Client".
Struktur Hierarki
Struktur Hierarki dari DNS mirip dengan struktur hierarki direktori pada sistem operasi Linux. Seluruh database digambarkan sebagai sebuah struktur "pohon terbalik" (tree) dimana pada puncaknya disebut sebagai root node. Pada setiap node di dalam tree tersebut memiliki keterangan (label) di dalamnya, seperti .org, .com, .edu, .net, dan lain-lain, yang relatif terhadap puncaknya (parent). Setiap node ini merupakan root dari subtree, atau pada sistem file Linux merupakan root direktori dari sebuah direktori. Pada sistem DNS, hal ini disebut dengan nama domain.
Pengelolaan DNS
Pengelolaan DNS biasanya menggunakan Server terpusat yang disebut sebagai DNS Server atau nameserver yang memiliki wewenang mengelola beberapa nama domain dan mengacu ke beberapa domain lainnya yang juga dikelola oleh DNS Server lain.
Ketika komputer Client meminta informasi IP Address suatu hostname ke DNS Server/nameserver (biasanya lewat port 53), kemudian DNS Server mencoba menerjemahkan berdasarkan Library Resolvernya, apakah hosting yang ditanyakan merupakan nama domain yang dikelola nameserver tersebut. Nameserver ini akan memberi jawaban berdasarkan cache dari data yang pernah ditanyakan sebelumnya dan berhasil dijawab. Jika nameserver belum memiliki jawaban dalam cache-nya, maka nameserver akan melakukan proses recursive resolution, yakni akan bertanya mulai dari root untuk meminta referensi nameserver yang manakah yang merupakan pengelola domain tersebut, hingga menghubungi authoritative nameserver untuk menentukan berapakah IP Address dari hostname yang ditanyakan tersebut. Proses yang sama juga akan dilakukan untuk kebalikannya, yakni klien menanyakan hostname dari suatu IP Address.