Ringkasan DNS Umum

Halaman ini menyediakan ringkasan Domain Name System (DNS).

Untuk ringkasan tentang Cloud DNS, lihat Ringkasan Cloud DNS. Untuk istilah penting yang terkait ke Cloud DNS, lihat Istilah utama.

DNS adalah {i>database<i} terdistribusi hierarkis yang menyimpan alamat IP dan data dan memungkinkan penggunaan kueri berdasarkan nama.

Dengan kata lain, DNS adalah direktori nama domain yang dapat dibaca dan diterjemahkan menjadi alamat IP numerik yang digunakan oleh komputer untuk berkomunikasi satu sama lain. Sebagai misalnya, saat Anda mengetik URL ke {i>browser<i}, DNS mengonversi URL menjadi IP alamat server web yang terkait dengan nama itu. Direktori DNS tersebut disimpan dan didistribusikan di seluruh dunia pada server nama domain yang diperbarui secara rutin.

Konsep berikut berguna ketika bekerja dengan DNS.

Jenis server DNS

Server DNS menyimpan {i>database<i} nama domain, dan kemudian memproses nama domain berdasarkan kueri DNS yang berasal dari klien dalam jaringan.

Server otoritatif

Server otoritatif adalah server yang menyimpan catatan nama DNS, termasuk A, AAAA, dan CNAME.

Server non-otoritatif menyusun file cache berdasarkan kueri sebelumnya untuk domain. Properti ini tidak menyimpan kumpulan data nama asli.

Resolver rekursif

Resolver rekursif adalah server yang mengirimkan kueri ke resource atau server non-otoritatif untuk resolusi. {i>recursive resolver<i} disebut karena ia melakukan setiap kueri untuk nama tertentu dan mengembalikan hasil akhirnya.

Berbeda dengan resolver iterasi, yang hanya menampilkan rujukan ke server DNS berikutnya yang mungkin memiliki jawabannya.

Misalnya, saat me-resolve nama google.com., resolver rekursif harus menentukan siapa yang berwenang untuk . (zona root DNS). Lalu menanyakan server nama yang otoritatif untuk .com.. Terakhir, sistem akan menanyakan nama server yang otoritatif untuk google.com., dan rdata untuk kumpulan data A dikembalikan ke klien.

Berikut ini adalah contoh praktik resolver rekursif; jika Anda menjalankan dig +trace google.com, resolver rekursif melakukan hal berikut (8.8.8.8/Google Public DNS adalah salah satu resolver):

 dig +trace google.com
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> +trace google.com
;; global options: +cmd
.           168383  IN  NS  a.root-servers.net.
.           168383  IN  NS  b.root-servers.net.
.           168383  IN  NS  c.root-servers.net.
.           168383  IN  NS  d.root-servers.net.
.           168383  IN  NS  e.root-servers.net.
.           168383  IN  NS  f.root-servers.net.
.           168383  IN  NS  g.root-servers.net.
.           168383  IN  NS  h.root-servers.net.
.           168383  IN  NS  i.root-servers.net.
.           168383  IN  NS  j.root-servers.net.
.           168383  IN  NS  k.root-servers.net.
.           168383  IN  NS  l.root-servers.net.
.           168383  IN  NS  m.root-servers.net.
.           168383  IN  RRSIG   NS 8 0 518400 20190810170000 20190728160000 59944 .
    ITqCp5bSKwoG1P76GpNfDanh4fXxOtHuld5SJzEm9ez0U/K7kpmBm4TE
    cw82zuqtZlqiGOuq+90KHJEhD1fdX3FujgDqe3kaY/41LgFIo76RBeMP
    CorYg29lKQOBf7pLPiJWewFmnLsRXsvENzxNXl9mynX80EQSS2YlCWpr
    47i2j5SFpGDzmxls7LinB4VvwVLhy0FPwBaVc5NVqQoFS5ZkfKXCUz8x
    urExPT2OtPJeDiGzrQGmT6vDbYZtJRWWGK5tPIKZQyF/08YSJlrjebNa
    1nKZVN8SsO8s7elz6JGmdoM6D/1ByLNFQmKvU55ikaVSnXylqixLbJQI 7LyQoA==
;; Received 525 bytes from 127.0.0.1#53(127.0.0.1) in 22 ms

com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            86400   IN  DS  30909 8 2
    E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.            86400   IN  RRSIG   DS 8 1 86400 20190811170000 20190729160000 59944 .
    KXPRdZspxd6hZYRFx3cj7Yp3d6HDzOG5CmoK46ZrrlKnZkCYMPKzyFQ2
    15pA+jZ37MbQbhe6+S+C4AHWqv95DDsue85ha3ZmWGhnJxcLnDaL5Twp
    Z/W/a+1cTHhhbMZua1riw74mqvzRAF1kVerj7jrvWnOAOZCh69Dr4AFJ
    gRN4MAn+wCZDmPQCtkcGVJ9vyNV7Xra45B4ISqEo0xi8CXewp9cc+aW5
    TSjFRhj1RM9d3k+3Mrq6AAV8dVgWofYTg6Ihph/SfoIx4TrTrEbgfdsv
    MvuLPXvK6Y7oSh5WknbFduw7HQdo1jH3/QR54FORswBJT8VmYD7Zii88 tAjbRQ==
;; Received 1170 bytes from 192.58.128.30#53(j.root-servers.net) in 2 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 -
    CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2
    86400 20190803044434 20190727033434 17708 com.
    rMmiNL7bYvJpB3Bc+WnqS2iiczm2PwxBvJcl7SL/vcTj88GsxM1ycTSV
    PsHZHxfrv1dv2C5BCSZ+mzeVBu8upLoeraQy+UVf3VXyt3i3rNGzcXYV
    8HSrHcXrRoAJopFim3Ge1xdZ+uERg3cTIcN2tJxxkCeqt/EcUTqtQl8t EAc=
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN NSEC3 1 1 0 -
    S84CFH3A62N0FJPC5D9IJ2VJR71OGLV5 NS DS RRSIG
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN RRSIG NSEC3
    8 2 86400 20190804045723 20190728034723 17708 com.
    jypPsaWVop9rzuf70CFYyiK0hliiJ+YYtkjgb3HVj9ICc57kLmv9DkvG
    DddF5GBQpqNEakzyJtya179MAdDT7RhJB4XfmY6fu5I5QTeIjchfP5wt
    7gU1AL7cqTmBAo2RWu62vtUytV09+O3KGFq5O+Cwr11dSTfq1yYyw6YW cMI=
;; Received 772 bytes from 192.41.162.30#53(l.gtld-servers.net) in 2 ms

google.com.     300 IN  A   172.217.7.14
;; Received 55 bytes from 216.239.32.10#53(ns1.google.com) in 13 ms

Setiap klien DNS mengajukan kueri ke server nama. Resolver rekursif membuat kueri nama lain server, hingga ke server nama tingkat atas, jika diperlukan. Tujuan Data NS untuk zona di nama tingkat atas server mengarahkan resolver ke bawah ke server nama lain, yang akhirnya mencapai baik nama server yang meng-{i>cache<i} zona atau server otoritatif untuk zona waktu.

Zona

Zona publik

Zona publik dapat dilihat oleh internet. Anda dapat membuat pencatatan DNS di zona publik untuk mempublikasikan layanan Anda di internet. Sebagai contoh, Anda mungkin buat data A di zona publik yang disebut example.com. (perhatikan bahwa dot) untuk situs publik Anda www.example.com..

Zona pribadi

Zona pribadi adalah zona apa pun yang tidak dapat dikueri melalui internet publik.

Subzona yang didelegasikan

DNS memungkinkan pemilik zona menggunakan data NS untuk mendelegasikan subdomain ke server nama yang berbeda. Resolver mengikuti catatan ini dan mengirim kueri untuk subdomain ke server nama target yang ditentukan dalam delegasi.

Misalnya, Anda dapat membuat zona terpisah untuk example.com dan subdomain.example.com, masing-masing dengan server nama otoritatif-nya sendiri. Karena subdomain.example.com adalah domain turunan dari example.com, metode untuk mengaktifkan server nama otoritatif untuk subdomain yang akan ditempatkan dari induk zona domain disebut delegasi. Delegasi pada dasarnya adalah penunjuk ke server nama otoritatif untuk subdomain. Untuk mengaktifkan delegasi di Jika menggunakan Cloud DNS, Anda dapat menambahkan data NS untuk subdomain di zona tersebut dari domain induk.

DNS cakrawala terpisah

Horizon terpisah adalah istilah yang digunakan untuk menggambarkan suatu kejadian ketika dua zona, satu zona digunakan oleh jaringan internal dan lainnya untuk digunakan oleh jaringan eksternal (biasanya internet), dibuat untuk domain yang sama. DNS Split-horizon memungkinkan Anda menyajikan jawaban yang berbeda (kumpulan data sumber daya yang berbeda) untuk nama yang sama tergantung pada siapa yang bertanya.

Misalnya, Anda dapat menyediakan versi pengembangan atau staging dari jika kueri berasal dari jaringan pengembangan, dan produksi atau versi publik aplikasi Anda jika kueri tersebut berasal dari internet publik.

Catatan

Pencatatan adalah pemetaan antara sumber daya DNS dan nama domain. Setiap individu Pencatatan DNS memiliki jenis (nama dan nomor), waktu kedaluwarsa (waktu aktif), dan jenis data tertentu.

Beberapa jenis data yang umum digunakan adalah:

  • A: Data alamat, yang memetakan nama host ke alamat IPv4-nya.
  • AAAA: Data Alamat IPv6, yang memetakan nama host ke IPv6 alamat IPv6
  • CNAME: Data nama kanonis, yang menentukan nama alias.
  • MX: Catatan pertukaran email, yang digunakan dalam mengarahkan permintaan ke email server web.
  • NS: Data server nama, yang mendelegasikan zona DNS ke data otoritatif server tertentu.
  • PTR: Data pointer, yang menentukan nama yang terkait dengan alamat IP.
  • SOA: Otoritas, yang digunakan untuk menentukan server nama utama dan administrator yang bertanggung jawab atas suatu zona. Setiap zona yang di-{i>host<i} di server DNS harus memiliki catatan SOA (awal otoritas). Anda dapat mengubah data sesuai kebutuhan (misalnya, Anda dapat mengubah nomor seri menjadi nomor arbitrer untuk mendukung pembuatan versi berbasis tanggal).

Kumpulan data

Kumpulan data dengan nama dan jenis yang sama tetapi dengan nama yang berbeda nilai data yang disebut kumpulan {i>record<i}. Saat Anda membuat kumpulan data, jika himpunan dengan nama dan jenis yang sama ada, {i>record<i} ditambahkan ke kumpulan yang cocok ini. Jika tidak ada kumpulan yang cocok, kumpulan baru akan dibuat dan ditambahkan ke daftar kumpulan data.

Ini adalah contoh kumpulan data dengan lebih dari satu kumpulan data yang memiliki nama dan jenis:

Nama DNS Jenis TTL (detik) Data
db-01.dev.gcp.example.com A 50 10.128.1.35
db-01.dev.gcp.example.com A 50 10.128.1.10

Untuk daftar jenis data yang didukung di Cloud DNS, lihat Jenis data DNS yang didukung.

Delegasi subdomain

Saat membuat kumpulan data, pastikan data NS dan SOA sesuai dengan masing-masing lainnya. Data NS dan SOA yang bertentangan dapat menyebabkan beberapa resolver menolak delegasi sebagai tidak valid dan menolak untuk meng-cache respons NO DATA terhadap kueri. Hal ini dapat mengakibatkan sejumlah besar kueri yang tidak terduga terhadap publik zona terkelola oleh resolver rekursif pihak ketiga saat resolver mengkueri zona terkelola publik untuk catatan yang tidak ada.

Misalnya, ada dua subdomain, example.com dan subdomain.example.com di Cloud DNS. Catatan NS dan SOA untuk subdomain.example.com tidak cocok. Tidak satu pun zona berisi AAAA {i>record<i}. Saat beberapa resolver rekursif pihak ketiga mengkueri subdomain.example.com untuk data AAAA dan menerima respons NO DATA, jika resolver mendeteksi delegasi subdomain.example.com yang tidak valid, mereka menolak untuk meng-cache tidak adanya data AAAA di zona tersebut. Hal ini mengakibatkan percobaan ulang terhadap kueri. Mereka membuat kueri semua server nama Cloud DNS, pada gilirannya, untuk tidak akurat atau tidak sesuai.

Pendaftar

{i>registrar<i} nama domain adalah organisasi yang mengelola pemesanan nama domain internet untuk zona publik. Registrar harus diakreditasi oleh registry domain level teratas umum (gTLD) atau domain level teratas kode negara (ccTLD). Ini adalah cara server nama tingkat atas menyetujui SOA dan memperbarui Data NS untuk zona guna mengarahkan permintaan ke penyimpanan dalam cache atau nama yang kredibel server web.

Nomor seri SOA

Nomor seri SOA adalah nomor versi untuk zona DNS. Untuk semua server nama yang terbaru dengan versi zona, mereka harus memiliki SOA yang sama nomor seri. Nomor seri data SOA yang dibuat di zona terkelola DNS secara monoton meningkat setiap kali ada perubahan transaksi ke kumpulan {i>record <i}di zona.

Namun, Anda dapat mengubah nomor seri catatan SOA menjadi termasuk tanggal berformat ISO 8601, seperti yang disarankan dalam RFC 1912.

DNSSEC

Domain Name System Security Extension (DNSSEC) mengatasi kerentanan ke data DNS. DNSSEC adalah rangkaian spesifikasi IETF yang menyediakan otentikasi data DNS, penolakan keberadaan yang diotentikasi, dan otentikasi data integritas data ke klien DNS (resolver). Singkatnya, DNSSEC menyediakan cara untuk {i>software<i} untuk memverifikasi asal data DNS dan memvalidasi bahwa asal data DNS belum diubah saat transit.

Untuk mengetahui detail selengkapnya tentang DNSSEC, lihat RFC 4033.

Untuk daftar terminologi umum DNS, lihat RFC 7719.

Langkah selanjutnya