Sistem Penamaan Domain: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k ~cite
 
(27 revisi perantara oleh 19 pengguna tidak ditampilkan)
Baris 1:
'''Sistem Penamaan Domain''' atau '''Sistem Penamaan Ranah''' ([[bahasa Inggris]]: ('''''Domain Name System'', '''DNS''') adalah sistem penamaan hirarkis[[hierarki]]s dan [[desentralisasi]] untuk komputer, layanan, atau sumber daya lain yang terhubung ke Internet atau jaringan pribadi. Ini mengaitkan berbagai informasi dengan nama domain yang ditetapkan untuk masing-masing entitas yang berpartisipasi. Yang paling menonjol, ini menerjemahkan nama domain yang lebih mudah dihafal ke [[alamat IP]] numerik yang diperlukan untuk mencari dan mengidentifikasi layanan dan perangkat komputer dengan [[Protokol komunikasi|protokol jaringan]] yang mendasarinya. Dengan menyediakan [[layanan direktori]] ter[[Komputasi terdistribusi|distribusi]] di seluruh dunia, Domain Name System telah menjadi komponen penting dari fungsi Internet sejak 1985.
{{nofootnotes}}
'''Sistem Penamaan Domain''' ([[bahasa Inggris]]: ('''''Domain Name System''''') adalah sistem penamaan hirarkis dan desentralisasi untuk komputer, layanan, atau sumber daya lain yang terhubung ke Internet atau jaringan pribadi. Ini mengaitkan berbagai informasi dengan nama domain yang ditetapkan untuk masing-masing entitas yang berpartisipasi. Yang paling menonjol, ini menerjemahkan nama domain yang lebih mudah dihafal ke [[alamat IP]] numerik yang diperlukan untuk mencari dan mengidentifikasi layanan dan perangkat komputer dengan [[Protokol komunikasi|protokol jaringan]] yang mendasarinya. Dengan menyediakan [[layanan direktori]] ter[[Komputasi terdistribusi|distribusi]] di seluruh dunia, Domain Name System telah menjadi komponen penting dari fungsi Internet sejak 1985.
 
Sistem Nama Domain mendelegasikan tanggung jawab untuk menetapkan nama domain dan memetakan nama-nama tersebut ke sumber daya Internet dengan menunjuk server nama resmi untuk setiap domain. Administrator jaringan dapat mendelegasikan wewenang atas [[Subdomain|sub-domain]] dari ruang nama yang dialokasikan untuk server nama lain. Mekanisme ini menyediakan layanan terdistribusi dan [[Toleransi kesalahan|toleran terhadap kesalahan]] dan dirancang untuk menghindari database pusat tunggal yang besar.
 
Sistem Nama Domain juga menentukan fungsionalitas teknis dari layanan [[Model basis data|basis data]] yang merupakan intinya. Ini mendefinisikan protokol DNS, spesifikasi terperinci dari struktur data dan pertukaran komunikasi data yang digunakan dalam DNS, sebagai bagian dari [[Internet protocol suite|Internet Protocol Suite]].
 
Internet memiliki dua ruang nama utama, hierarki nama domain<ref name="Mockapetris">{{Cite web|url=https://tools.ietf.org/html/rfc1034.html|title=Domain names - concepts and facilities|last=Mockapetris|first=P. V.|website=tools.ietf.org|language=en|access-date=2020-06-09}}</ref> dan [[ruang alamat]] [[Protokol Internet]] (IP).<ref>{{Cite web|url=https://tools.ietf.org/html/rfc781.html|title=Specification of the Internet Protocol (IP) timestamp option|last=Su|first=Z.|website=tools.ietf.org|language=en|access-date=2020-06-09}}</ref> Sistem Nama Domain memelihara hirarki nama domain dan menyediakan layanan terjemahan antara itu dan ruang alamat. Server nama internet dan protokol komunikasi menerapkan Sistem Nama Domain.<ref name="tools.ietf.org">{{Cite web|url=https://tools.ietf.org/html/rfc1035.html|title=Domain names - implementation and specification|last=Mockapetris|first=P. V.|website=tools.ietf.org|language=en|access-date=2020-06-09}}</ref> Server nama DNS adalah server yang menyimpan catatan DNS untuk domain; server nama DNS merespons dengan jawaban atas pertanyaan terhadap basis datanya.
 
Jenis catatan paling umum yang disimpan dalam database DNS adalah untuk Start of Authority ([[Catatan SOA|SOA]]), [[alamat IP]] (A dan AAAA), [[Message transfer agent|penukar surat]] [[Simple Mail Transfer Protocol|SMTP]] (MX), server nama (NS), pointer untuk [[reverse DNS lookups]] (PTR), dan [[alias nama domain]] (CNAME). Meskipun tidak dimaksudkan sebagai database tujuan umum, DNS telah diperluas dari waktu ke waktu untuk menyimpan catatan untuk tipe data lain untuk pencarian otomatis, seperti catatan [[DNSSEC]], atau untuk pertanyaan manusia seperti catatan ''orang yang bertanggung jawab'' (RP). Sebagai basis data tujuan umum, DNS juga telah digunakan dalam memerangi email yang tidak diminta (spam) dengan menyimpan daftar blackhole real-time (RBL). Database DNS secara tradisional disimpan dalam file teks terstruktur, file zona, tetapi sistem database lainnya adalah umum.
 
== Fungsi ==
Analogi yang sering digunakan untuk menjelaskan Sistem Nama Domain adalah bahwa ia berfungsi sebagai [[buku telepon]] untuk Internet dengan menerjemahkan [[Namanama hos|nama host]]t komputer yang ramah manusia ke alamat IP. Misalnya, nama domain ''[[Example.com|www.example.com]]'' diterjemahkan ke alamat ''93.184.216.34'' (IPv4) dan ''2606: 2800: 220: 1: 248: 1893: 25c8: 1946'' (IPv6). DNS dapat diperbarui dengan cepat dan transparan, memungkinkan lokasi layanan di jaringan berubah tanpa memengaruhi pengguna akhir, yang terus menggunakan nama host yang sama. Pengguna mengambil keuntungan dari ini ketika mereka menggunakan Uniform Resource Locators ([[Url|URL]]) dan [[alamat email]] yang berarti tanpa harus tahu bagaimana sebenarnya komputer menemukan layanan.
 
== Sejarah ==
Baris 21 ⟶ 20:
[[Internet Engineering Task Force|Gugus Tugas Teknik Internet]] menerbitkan spesifikasi asli dalam RFC 882 dan RFC 883 pada November 1983.<ref>{{Cite web|url=https://www.internetsociety.org/blog/2013/11/happy-30th-birthday-dns/|title=Happy 30th Birthday, DNS!|date=2013-11-26|website=Internet Society|language=en-US|access-date=2020-06-09}}</ref>
 
Pada tahun 1984, empat mahasiswa [[UC Berkeley]], Douglas Terry, Mark Painter, David Riggle, dan Songnian Zhou, menulis implementasi server nama Unix pertama untuk Berkeley Internet Name Domain, yang biasa disebut sebagai [[BIND]].<ref>{{Cite web|url=https://www2.eecs.berkeley.edu/Pubs/TechRpts/1984/5957.html|title=The Berkeley Internet Name Domain Server {{!}} EECS at UC Berkeley|website=www2.eecs.berkeley.edu|access-date=2020-06-09}}</ref> Pada tahun 1985, Kevin Dunlap dari DEC secara substansial merevisi implementasi DNS. [[Mike Karels]], Phil Almquist, dan Paul Vixie telah mempertahankan BIND sejak saat itu.<ref name=":0">{{Cite web|url=https://www.isc.org/bind/|title=BIND 9 - Internet Systems Consortium|website=www.isc.org|access-date=2020-06-09}}</ref> Pada awal 1990-an, BIND diangkut ke platform [[Windows NT]]. Itu didistribusikan secara luas, terutama pada sistem Unix, dan masih merupakan perangkat lunak DNS yang paling banyak digunakan di Internet.<ref name=":0" />
 
Pada November 1987, RFC 1034<ref name="Mockapetris"/> dan RFC 1035<ref name="tools.ietf.org"/> menggantikan spesifikasi DNS 1983. Beberapa Permintaan tambahan untuk Komentar telah mengusulkan ekstensi ke protokol DNS inti.<ref>{{Cite web|url=https://tools.ietf.org/html/rfc7719.html|title=DNS Terminology|last=Fujiwara|first=Kazunori|last2=Sullivan|first2=Andrew|website=tools.ietf.org|language=en|access-date=2020-06-09|last3=Hoffman|first3=Paul}}</ref>
 
== Teori bekerja DNS ==
Baris 33 ⟶ 34:
=== Pengertian beberapa bagian dari nama domain ===
Sebuah [[nama domain]] biasanya terdiri dari dua bagian atau lebih (secara teknis disebut ''label''), dipisahkan dengan titik.
* Label paling kanan menyatakan '''[[top-level domain]]''' - domain tingkat atas/tinggi (misalkan, alamat <ttcode>www.wiki-indonesia.club</ttcode> memiliki top-level domain <ttcode>org</ttcode>).
* Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau '''subdomain''' dari domain yang lebih tinggi. Catatan: "subdomain" menyatakan ketergantungan relatif, bukan absolut. Contoh: <ttcode>wiki-indonesia.club</ttcode> merupakan subdomain dari domain <ttcode>org</ttcode>, dan <ttcode>wiki-indonesia.club</ttcode> dapat membentuk subdomain dari domain <ttcode>wiki-indonesia.club</ttcode> (pada praktiknya, <ttcode>wiki-indonesia.club</ttcode> sesungguhnya mewakili sebuah nama host - lihat dibawah). Secara teori, pembagian seperti ini dapat mencapai kedalaman 127 level, dan setiap label dapat terbentuk sampai dengan 63 karakter, selama total nama domain tidak melebihi panjang 255 karakter. Tetapi secara praktik, beberapa [[pendaftar nama domain]] (''domain name registry'') memiliki batas yang lebih sedikit.
* Terakhir, bagian paling kiri dari bagian nama domain (biasanya) menyatakan nama host. Sisa dari nama domain menyatakan cara untuk membangun jalur logis untuk informasi yang dibutuhkan; nama host adalah tujuan sebenarnya dari nama sistem yang dicari alamat IP-nya. Contoh: nama domain <ttcode>www.wiki-indonesia.club</ttcode> memiliki nama host "www".
 
DNS memiliki kumpulan hierarki dari '''DNS servers'''. Setiap domain atau subdomain memiliki satu atau lebih '''authoritative DNS Servers''' (server DNS otorisatif) yang mempublikasikan informasi tentang domain tersebut dan nama-nama server dari setiap domain di-"bawah"-nya. Pada puncak hierarki, terdapat '''[[root nameserver|root servers]]'''- induk server nama: server yang ditanyakan ketika mencari ('''menyelesaikan'''/''resolving'') dari sebuah nama domain tertinggi (''top-level domain'').
 
=== Sebuah contoh dari teori rekursif DNS ===
Sebuah contoh mungkin dapat memperjelas proses ini. Andaikan ada aplikasi yang memerlukan pencarian alamat IP dari <ttcode>www.wiki-indonesia.club</ttcode>. Aplikasi tersebut bertanya ke ''DNS recursor'' lokal.
* Sebelum dimulai, ''recursor'' harus mengetahui di mana dapat menemukan ''root nameserver''; administrator dari ''recursive DNS server'' secara manual mengatur (dan melakukan update secara berkala) sebuah file dengan nama '''root hints [[DNS zone|zone]]''' (panduan akar DNS) yang menyatakan alamat-alamt IP dari para server tersebut.
* Proses dimulai oleh ''recursor'' yang bertanya kepada para ''root server'' tersebut - misalkan: server dengan alamat IP "198.41.0.4" - pertanyaan "apakah alamat IP dari <ttcode>www.wiki-indonesia.club</ttcode>?"
* ''Root server'' menjawab dengan sebuah '''delegasi''', arti kasarnya: "Saya tidak tahu alamat IP dari <ttcode>www.wiki-indonesia.club</ttcode>, tetapi saya "tahu" bahwa server DNS di 204.74.112.1 memiliki informasi tentang domain <ttcode>org</ttcode>."
* ''Recursor'' DNS lokal kemudian bertanya kepada server DNS (yaitu: 204.74.112.1) pertanyaan yang sama seperti yang diberikan kepada ''root server''. "apa alamat IP dari <ttcode>www.wiki-indonesia.club</ttcode>?". (umumnya) akan didapatkan jawaban yang sejenis, "saya tidak tahu alamat dari <ttcode>www.wiki-indonesia.club</ttcode>, tetapi saya "tahu" bahwa server 207.142.131.234 memiliki informasi dari domain <ttcode>wiki-indonesia.club</ttcode>."
* Akhirnya, pertanyaan beralih kepada server DNS ketiga (207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.
Proses ini menggunakan [[pencarian rekursif]] (''recursion / recursive searching'').
 
=== Pengertian pendaftaran domain dan ''glue records'' ===
Membaca contoh di atas, Anda mungkin bertanya: "bagaimana caranya DNS server 204.74.112.1 tahu alamat IP mana yang diberikan untuk domain <ttcode>wiki-indonesia.club</ttcode>?" Pada awal proses, kita mencatat bahwa sebuah ''DNS recursor'' memiliki alamat IP dari para ''root server'' yang (kurang-lebih) didata secara explisit (''hard coded''). Mirip dengan hal tersebut, server nama (''name server'') yang otoritatif untuk ''top-level domain'' mengalami perubahan yang jarang.
 
Namun, server nama yang memberikan jawaban otorisatif bagi nama domain yang umum mengalami perubahan yang cukup sering. Sebagai bagian dari proses pendaftaran sebuah nama domain (dan beberapa waktu sesudahnya), pendaftar memberikan pendaftaran dengan server nama yang akan mengotorisasikan nama domain tersebut; maka ketika mendaftar <ttcode>wiki-indonesia.club</ttcode>, domain tersebut terhubung dengan server nama <ttcode>gunther.bomis.com</ttcode> dan <ttcode>zwinger.wiki-indonesia.club</ttcode> di pendaftar .org. Kemudian, dari contoh di atas, ketika server dikenali sebagai 204.74.112.1 menerima sebuah permintaan, DNS server memindai daftar domain yang ada, mencari <ttcode>wiki-indonesia.club</ttcode>, dan mengembalikan server nama yang terhubung dengan domain tersebut.
 
Biasanya, server nama muncul berdasarkan urutan nama, selain berdasarkan alamat IP. Hal ini menimbulkan ''string'' lain dari permintaan DNS untuk menyelesaikan nama dari server nama; ketika sebuah alamat IP dari server nama mendapatkan sebuah pendaftaran di zona induk, para programmer jaringan komputer menamakannya sebuah '''glue record'''.
Baris 62 ⟶ 63:
 
=== Waktu propagasi (''propagation time'') ===
Satu akibat penting dari arsitektur tersebar dan ''cache'' adalah perubahan kepada suatu DNS terkadang efektif secara langsung dalam skala besar/global. Contoh berikut mungkin akan menjelaskannya: Jika seorang administrator telah mengatur [[Time to live|TTL]] selama 6 jam untuk host <ttcode>www.wiki-indonesia.club</ttcode>, kemudian mengganti alamat IP dari <ttcode>www.wiki-indonesia.club</ttcode> pada pk 12:01, administrator harus mempertimbangkan bahwa ada (paling tidak) satu individu yang menyimpan ''cache'' jawaban dengan nilai lama pada pk 12:00 yang tidak akan menghubungi server DNS sampai dengan pk 18:00. Periode antara pk 12:00 dan pk 18:00 dalam contoh ini disebut sebagai '''waktu propagasi''' (''propagation time''), yang bisa didefiniskan sebagai periode waktu yang berawal antara saat terjadi perubahan dari data DNS, dan berakhir sesudah waktu maksimum yang telah ditentukan oleh [[Time to live|TTL]] berlalu. Ini akan mengarahkan kepada pertimbangan logis yang penting ketika membuat perubahan kepada DNS: ''tidak semua akan melihat hal yang sama seperti yang Anda lihat''. [http://www.ietf.org/rfc/rfc1537.txt RFC1537] dapat membantu penjelasan ini.
 
=== DNS di dunia nyata ===
Baris 89 ⟶ 90:
* '''CNAME record''' atau '''catatan nama kanonik''' membuat alias untuk nama domain. Domain yang di-alias-kan memiliki seluruh subdomain dan rekod DNS seperti aslinya.
* '''[[MX record]]''' atau ''catatan pertukaran surat''' memetakan sebuah nama domain ke dalam daftar ''[[mail exchange server]]'' untuk domain tersebut.
* '''PTR record''' atau '''catatan penunjuk''' memetakan sebuah nama host ke nama kanonik untuk host tersebut. Pembuatan rekod PTR untuk sebuah nama host di dalam domain <ttcode>in-addr.arpa</ttcode> yang mewakili sebuah alamat IP menerapkan pencarian balik DNS (''[[reverse DNS lookup]]'') untuk alamat tersebut. Contohnya (saat penulisan / penerjemahan artikel ini), <ttcode>www.icann.net</ttcode> memiliki alamat IP 192.0.34.164, tetapi sebuah rekod PTR memetakan,,164.34.0.192.in-addr.arpa</ttcode> ke nama kanoniknya: <ttcode>referrals.icann.org</ttcode>.
* '''NS record''' atau '''catatan server nama''' memetakan sebuah nama domain ke dalam satu daftar dari server DNS untuk domain tersebut. Pewakilan bergantung kepada rekod NS.
* '''SOA record''' atau '''catatan otoritas awal''' (''Start of Authority'') mengacu server DNS yang menyediakan otorisasi informasi tentang sebuah domain Internet.
Baris 159 ⟶ 160:
 
== Referensi ==
{{Reflist|130em}}
 
=== Sumber ===