Domain Name Sistem (DNS) adalah buku telepon Internet. Manusia mengakses informasi secara online melalui nama domain, seperti nytimes.com atau espn.com. Browser web berinteraksi melalui alamat Internet Protocol (IP). DNS menerjemahkan nama domain menjadi alamat IP sehingga browser dapat memuat sumber daya Internet.

Setiap perangkat yang terhubung ke Internet memiliki alamat IP unik yang digunakan mesin lain untuk menemukan perangkat tersebut. Server DNS menghilangkan kebutuhan manusia untuk mengingat alamat IP seperti 192.168.1.1 (dalam IPv4), atau alamat IP alfanumerik baru yang lebih kompleks seperti 2400:cb00:2048:1::c629:d7a2 (dalam IPv6).

dns

Bagaimana cara kerja DNS?

Proses resolusi DNS melibatkan konversi nama host (seperti www.example.com) menjadi alamat IP yang ramah komputer (seperti 192.168.1.1). Alamat IP diberikan kepada setiap perangkat di Internet, dan alamat tersebut diperlukan untuk menemukan perangkat Internet yang sesuai - seperti alamat jalan yang digunakan untuk menemukan rumah tertentu. Saat pengguna ingin memuat halaman web, terjemahan harus terjadi antara apa yang diketik pengguna di browser webnya (example.com) dan alamat ramah mesin yang diperlukan untuk menemukan halaman web example.com.

Untuk memahami proses di balik resolusi DNS, penting untuk mempelajari berbagai komponen perangkat keras yang harus dilewati oleh kueri DNS. Untuk browser web, pencarian DNS terjadi "di belakang layar" dan tidak memerlukan interaksi dari komputer pengguna selain dari permintaan awal.

Ada 4 server DNS yang terlibat dalam memuat halaman web:

  • DNS Recursor - Rekursor dapat dianggap sebagai pustakawan yang diminta mencari buku tertentu di suatu tempat di perpustakaan. Rekursor DNS adalah server yang dirancang untuk menerima pertanyaan dari mesin klien melalui aplikasi seperti browser web. Biasanya rekursor kemudian bertanggung jawab untuk membuat permintaan tambahan untuk memenuhi permintaan DNS klien.
  • Root nameserver - Server root adalah langkah pertama dalam menerjemahkan (menyelesaikan) nama host yang dapat dibaca manusia menjadi alamat IP. Hal ini dapat dianggap seperti indeks di perpustakaan yang menunjuk ke rak buku yang berbeda - biasanya berfungsi sebagai referensi ke lokasi lain yang lebih spesifik.
  • TLD nameserver - Top Level Domain (TLD) dapat dianggap sebagai rak buku tertentu di perpustakaan. Server nama ini adalah langkah selanjutnya dalam pencarian alamat IP tertentu, dan menghosting bagian terakhir dari nama host (Di example.com, server TLD adalah “com”).
  • Authoritative nameserver - Server nama akhir ini dapat dianggap sebagai kamus di rak buku, di mana nama tertentu dapat diterjemahkan ke dalam definisinya. Server nama otoritatif adalah perhentian terakhir dalam kueri server nama. Jika server nama otoritatif memiliki akses ke catatan yang diminta, maka server nama tersebut akan mengembalikan alamat IP untuk nama host yang diminta kembali ke DNS Recursor (pustakawan) yang membuat permintaan awal.

Apa perbedaan antara Authoritative DNS Server dan Recursive DNS Resolver?

Kedua konsep tersebut mengacu pada server (kelompok server) yang merupakan bagian integral dari infrastruktur DNS, namun masing-masing menjalankan peran berbeda dan berada di lokasi berbeda di dalam saluran kueri DNS. Salah satu cara untuk memikirkan perbedaannya adalah penyelesai rekursif ada di awal kueri DNS dan server nama otoritatif ada di akhir.

Recursive DNS Resolver

Recursive Resolver adalah komputer yang merespons permintaan rekursif dari klien dan meluangkan waktu untuk melacak DNS Record. Hal ini dilakukan dengan membuat serangkaian permintaan hingga mencapai server nama DNS otoritatif untuk catatan yang diminta (atau waktu habis atau mengembalikan kesalahan jika tidak ada catatan yang ditemukan). Untungnya, penyelesai DNS rekursif tidak selalu perlu membuat banyak permintaan untuk melacak catatan yang diperlukan untuk merespons klien; caching adalah proses persistensi data yang membantu mempersingkat permintaan yang diperlukan dengan menyajikan catatan sumber daya yang diminta sebelumnya dalam pencarian DNS

dns record request sequence recursive resolver

Authoritative DNS Server

Sederhananya, Authoritative DNS Server adalah server yang benar-benar menyimpan, dan bertanggung jawab atas, catatan sumber daya DNS. Ini adalah server di bagian bawah rantai pencarian DNS yang akan merespons dengan catatan sumber daya yang ditanyakan, yang pada akhirnya memungkinkan browser web membuat permintaan untuk mencapai alamat IP yang diperlukan untuk mengakses situs web atau sumber daya web lainnya. Server nama otoritatif dapat memenuhi kueri dari datanya sendiri tanpa perlu menanyakan sumber lain, karena ini adalah sumber kebenaran akhir untuk data DNS tertentu.

dns record request sequence authoritative nameserver

Perlu disebutkan bahwa jika kueri ditujukan untuk subdomain seperti agis.archtech.consulting atau blog.cloudflare.com, server nama tambahan akan ditambahkan ke urutan setelah server nama otoritatif, yang bertanggung jawab untuk menyimpan data CNAME subdomain.

dns record request sequence cname subdomain

Ada perbedaan utama antara banyak layanan DNS dan layanan yang disediakan Cloudflare. Penyelesai rekursif DNS yang berbeda seperti Google DNS, OpenDNS, dan penyedia seperti Comcast semuanya memelihara instalasi pusat data penyelesai rekursif DNS. Resolver ini memungkinkan kueri yang cepat dan mudah melalui cluster sistem komputer yang dioptimalkan DNS, namun pada dasarnya berbeda dari server nama yang dihosting oleh Cloudflare.

Cloudflare memelihara server nama tingkat infrastruktur yang merupakan bagian integral dari fungsi Internet. Salah satu contoh utamanya adalah jaringan server f-root yang sebagian menjadi tanggung jawab Cloudflare untuk hostingnya. F-root adalah salah satu komponen infrastruktur server nama DNS tingkat root yang bertanggung jawab atas miliaran permintaan Internet per hari. Jaringan Anycast kami menempatkan kami pada posisi unik untuk menangani lalu lintas DNS dalam jumlah besar tanpa gangguan layanan.

Apa saja langkah-langkah dalam Pencarian DNS (DNS LookUp)?

Untuk sebagian besar situasi, DNS berkaitan dengan nama domain yang diterjemahkan ke alamat IP yang sesuai. Untuk mempelajari cara kerja proses ini, ada baiknya mengikuti jalur pencarian DNS saat berjalan dari browser web, melalui proses pencarian DNS, dan kembali lagi. Mari kita lihat langkah-langkahnya.

Note: Seringkali informasi pencarian DNS akan di-cache baik secara lokal di dalam komputer yang melakukan kueri atau secara jarak jauh di infrastruktur DNS. Biasanya ada 8 langkah dalam pencarian DNS. Ketika informasi DNS di-cache, langkah-langkah dari proses pencarian DNS dilewati sehingga membuatnya lebih cepat. Contoh di bawah menguraikan 8 langkah ketika tidak ada yang di-cache.

8 langkah dalam pencarian DNS (DNS LookUp):

  1. Pengguna mengetik 'example.com' ke dalam browser web dan kueri menyebar ke Internet dan diterima oleh pemecah masalah rekursif DNS.

  2. Resolver kemudian menanyakan DNS root nameserver (.).

  3. Server root kemudian merespons pemecah masalah dengan alamat server DNS Top Level Domain (TLD) (seperti .com atau .net), yang menyimpan informasi untuk domainnya. Saat menelusuri example.com, permintaan kami diarahkan ke TLD .com.

  4. Resolver kemudian membuat permintaan ke TLD .com.

  5. Server TLD kemudian merespons dengan alamat IP nameserver domain, example.com.

  6. Terakhir, penyelesai rekursif mengirimkan kueri ke nameserver domain.

  7. Alamat IP example.com kemudian dikembalikan ke penyelesai dari nameserver.

  8. Resolver DNS kemudian merespons browser web dengan alamat IP domain yang diminta pada awalnya.

    Setelah 8 langkah pencarian DNS mengembalikan alamat IP example.com, browser dapat membuat permintaan untuk halaman web:

  9. Browser membuat permintaan HTTP ke alamat IP.

  10. Server pada IP tersebut mengembalikan halaman web untuk dirender di browser

what is a dns server dns lookup

Apa Itu DNS resolver?

DNS resolver adalah perhentian pertama dalam pencarian DNS, dan bertanggung jawab untuk menangani klien yang membuat permintaan awal. Penyelesai memulai urutan kueri yang pada akhirnya mengarah ke URL yang diterjemahkan ke alamat IP yang diperlukan.

Note: Pencarian DNS yang tidak di-cache akan melibatkan kueri rekursif dan berulang.

Penting untuk membedakan antara kueri DNS rekursif dan pemecah masalah DNS rekursif. Kueri mengacu pada permintaan yang dibuat ke penyelesai DNS yang memerlukan penyelesaian kueri. Penyelesai rekursif DNS adalah komputer yang menerima kueri rekursif dan memproses respons dengan membuat permintaan yang diperlukan.

dns recursive query

Apa Saja Jenis DNS queries?

Dalam pencarian DNS pada umumnya, ada tiga jenis kueri yang muncul. Dengan menggunakan kombinasi kueri ini, proses yang dioptimalkan untuk resolusi DNS dapat mengurangi jarak yang ditempuh. Dalam situasi ideal, data rekaman cache akan tersedia, memungkinkan nameserver DNS mengembalikan non-recursive query

3 Jenis DNS queries:

  1. Recursive query - Dalam Recursive query, klien DNS mengharuskan server DNS (biasanya penyelesai rekursif DNS) akan merespons klien dengan catatan sumber daya yang diminta atau pesan kesalahan jika penyelesai tidak dapat menemukan catatan.
  2. Iterative query - dalam situasi ini klien DNS akan mengizinkan server DNS mengembalikan jawaban terbaik yang dapat diberikannya. Jika server DNS yang ditanyakan tidak cocok dengan nama kuerinya, server tersebut akan mengembalikan rujukan ke server DNS yang berwenang untuk namespace domain tingkat lebih rendah. Klien DNS kemudian akan membuat query ke alamat referral. Proses ini berlanjut dengan server DNS tambahan di rantai kueri hingga terjadi kesalahan atau batas waktu habis.
  3. Non-recursive query - biasanya ini terjadi ketika klien penyelesai DNS menanyakan server DNS untuk catatan yang dapat diaksesnya, baik karena catatan tersebut otoritatif atau karena catatan tersebut ada di dalam cache-nya. Biasanya, server DNS akan menyimpan data DNS dalam cache untuk mencegah konsumsi bandwidth tambahan dan memuat di server upstream.

Apa itu DNS Caching? Di mana DNS Caching terjadi?

Tujuan dari caching adalah untuk menyimpan data sementara di suatu lokasi yang menghasilkan peningkatan kinerja dan keandalan permintaan data. Caching DNS melibatkan penyimpanan data lebih dekat ke klien yang meminta sehingga kueri DNS dapat diselesaikan lebih awal dan kueri tambahan di bagian bawah rantai pencarian DNS dapat dihindari, sehingga meningkatkan waktu muat dan mengurangi konsumsi bandwidth/CPU. Data DNS dapat di-cache di berbagai lokasi, yang masing-masing lokasi akan menyimpan data DNS selama jangka waktu tertentu yang ditentukan oleh time-to-live (TTL).

Browser DNS caching

Browser web modern dirancang secara default untuk menyimpan data DNS dalam cache selama jangka waktu tertentu. Tujuannya di sini jelas; semakin dekat cache DNS ke browser web, semakin sedikit langkah pemrosesan yang harus diambil untuk memeriksa cache dan membuat permintaan yang benar ke alamat IP. Ketika permintaan dibuat untuk data DNS, cache browser adalah lokasi pertama yang diperiksa untuk data yang diminta.

Di Chrome, Anda dapat melihat status cache DNS Anda dengan membuka chrome://net-internals/#dns.

Operating system (OS) level DNS caching

Penyelesai DNS tingkat sistem operasi adalah perhentian lokal kedua dan terakhir sebelum permintaan DNS meninggalkan mesin Anda. Proses di dalam sistem operasi Anda yang dirancang untuk menangani kueri ini biasanya disebut “stub solver” atau klien DNS. Saat penyelesai rintisan mendapat permintaan dari suatu aplikasi, pertama-tama ia memeriksa cache-nya sendiri untuk melihat apakah ia memiliki catatannya. Jika tidak, maka ia akan mengirimkan permintaan DNS (dengan kumpulan tanda rekursif), di luar jaringan lokal ke pemecah masalah rekursif DNS di dalam penyedia layanan Internet (ISP).

Ketika penyelesai rekursif di dalam ISP menerima permintaan DNS, seperti semua langkah sebelumnya, ia juga akan memeriksa apakah terjemahan host-ke-alamat IP yang diminta sudah disimpan di dalam lapisan persistensi lokalnya.

Resolver rekursif juga memiliki fungsi tambahan tergantung pada jenis catatan yang ada di cache-nya:

  1. If the resolver does not have the A records, but does have the NS records for the authoritative nameservers, it will query those name servers directly, bypassing several steps in the DNS query. This shortcut prevents lookups from the root and .com nameservers (in our search for example.com) and helps the resolution of the DNS query occur more quickly.
  2. Jika penyelesai tidak memiliki catatan NS, ia akan mengirimkan kueri ke server TLD (.com in our case), melewati server root.
  3. Dalam kejadian yang tidak terduga ketika penyelesai tidak memiliki catatan yang mengarah ke server TLD, penyelesai akan menanyakan server akar. Peristiwa ini biasanya terjadi setelah cache DNS dibersihkan.