Klien membuka diskusiwebhosting.com -> resolve ip ke dns cache server terdekat -> dns cache tadi memastikan keupdatean data DNS record sesuai dengan SOA serial number -> klo ada perbedaan maka diupdate lah record di dns cache server tadi
menurut saya, gambarannya seperti ini,
jika client buka web ini, maka proses normal yg terjadi di browser adalah Looking Up ==> Connecting ==> Waiting ==> Transfering
Nah proses yg terjadi sebenarnya waktu Looking Up itu melakukan request DNS, jika belum ada cache DNS di client maupun di DNS Service maka akan looking up, jika sudah ada cache maka gak ada proses looking up, tapi langsung connecting.
Dan saat melakukan request DNS itu tidak mencari lokasi DNS terdekat dari NS domainnya, tapi secara acak, apakah akan mendapatkan ns1 atau akan mendapatkan ns2, misal mendapatkan ns2 dan ternyata ns2 tidak merespon maka akan meminta request dari ns1, begitu sebaliknya.
(silahkan bisa di test pake linux, ketik command "dig namadomain.com ns" berkali2, lihat ANSWER SECTION nya pasti berubah2).
dns cache tadi memastikan keupdatean <== SOA juga punya TTL, misal kita sudah mengupdate Serial SOA di Bind, tapi di pc kita atau di DNS Service dari ISP sudah menyimpan cache, maka SOA gak diupdate sampai TTL nya habis.
DNS Server juga tidak terlalu memakan resource besar, DNS memakai protokol UDP, jadi hanya sangat kecil sekali penggunaan resource, apalagi adanya DNS Cache gak setiap buka web melakukan query DNS.
Manfaatnya menurut saya itu High Availability, walaupun server utama mati, tapi DNS masih hidup, apalagi kita bisa bikin load balancer dari DNS, pengalaman saya Service HTTPD tinggi, sampe2 semua service baik MySQL, Email, dan DNS jadi ikut mati.
CMIIW