Mengupas DNS | Domain name system





assalamuallaikum, haloo kali ini saya akan mengupas Domain system atau sering di sebut Dns, saya akan mengupas tentang Dns.
langsung saja kita simak penjelasannya. cekidot

Pengertian DNS
 
DNS adalah sebuah sistem yang menyimpan informasi tentang nama host ataupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surel (email) untuk setiap domain. Menurut browser Google Chrome, DNS adalah layanan jaringan yang menerjemahkan nama situs web menjadi alamat internet.
DNS menyediakan pelayanan yang cukup penting untuk Internet, ketika perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat surel. Analogi yang umum digunakan untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku telepon internet di mana saat pengguna mengetikkan www.indosat.net.id di peramban web maka pengguna akan diarahkan ke alamat IP 124.81.92.144 (IPv4) dan 2001:e00:d:10:3:140::83 (IPv6).

Sejarahnya DNS

Penggunaan nama sebagai pengabstraksi alamat mesin di sebuah jaringan komputer yang lebih dikenal oleh manusia mengalahkan TCP/IP, dan kembali ke zaman ARPAnet. Dahulu, seluruh komputer di jaringan komputer menggunakan file HOSTS.TXT dari SRI (sekarang SIR International), yang memetakan sebuah alamat ke sebuah nama (secara teknis, file ini masih ada - sebagian besar sistem operasi modern menggunakannya dengan baik secara baku maupun melalui cara konfigurasi, dapat melihat Hosts file untuk menyamakan sebuah nama host menjadi sebuah alamat IP sebelum melakukan pencarian via DNS). Namun, sistem tersebut di atas mewarisi beberapa keterbatasan yang mencolok dari sisi prasyarat, setiap saat sebuah alamat komputer berubah, setiap sistem yang hendak berhubungan dengan komputer tersebut harus melakukan update terhadap file Hosts.
Dengan berkembangnya jaringan komputer, membutuhkan sistem yang bisa dikembangkan: sebuah sistem yang bisa mengganti alamat host hanya di satu tempat, host lain akan mempelajari perubaha tersebut secara dinamis. Inilah DNS.
Paul Mockapetris menemukan DNS pada tahun 1983; spesifikasi asli muncul di RFC 882 dan 883. Tahun 1987, penerbitan RFC 1034 dan RFC 1035 membuat update terhadap spesifikasi DNS. Hal ini membuat RFC 882 dan RFC 883 tidak berlaku lagi. Beberapa RFC terkini telah memproposikan beberapa tambahan dari protokol inti DNS.

Cara kerja DNS

Pengelola dari sistem DNS terdiri dari tiga komponen:

1. DNS resolver, sebuah program klien yang berjalan di komputer pengguna,
     yang membuat permintaan DNS dari program aplikasi.
2. recursive DNS server, yang melakukan pencarian melalui DNS sebagai
     tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada
     para resolver tersebut; 
3. authoritative DNS server yang memberikan jawaban terhadap permintaan
     dari recursor, baik dalam bentuk sebuah jawaban, maupun dalam bentuk
     delegasi (misalkan: mereferensikan ke authoritative DNS server lainnya)

Pengertian beberapa bagian dari nama domain

Sebuah nama domain biasanya terdiri dari dua bagian atau lebih (secara teknis disebut label), dipisahkan dengan titik.

1. Label paling kanan menyatakan top-level domain - domain tingkat
    atas/tinggi (misalkan, alamat www.wikipedia.org memiliki top-level domain org).

2. Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau
   subdomain dari domain yang lebih tinggi. Catatan: "subdomain"menyatakan
    ketergantungan relatif, bukan absolut. Contoh: wikipedia.org merupakan
    subdomain dari domain org, dan id.wikipedia.org dapat membentuk subdomain
    dari domain wikipedia.org (pada praktiknya, id.wikipedia.org 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.
3. 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  
   www.wikipedia.org 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 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 www.wikipedia.org. Aplikasi tersebut bertanya ke DNS recursor lokal.

1. 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 zone (panduan akar DNS) yang menyatakan alamat-alamt IP dari
    para server tersebut.

2. 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 www.wikipedia.org?" 

3. Root server menjawab dengan sebuah delegasi, arti kasarnya: "Saya tidak
    tahu alamat IP dari www.wikipedia.org, tetapi saya "tahu" bahwa server DNS di
    204.74.112.1 memiliki informasi tentang domain org." 

4. 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 www.wikipedia.org?". (umumnya) akan didapatkan
    jawaban yang sejenis, "saya tidak tahu alamat dari www.wikipedia.org, tetapi
    saya "tahu" bahwa server 207.142.131.234 memiliki informasi dari domain  
   wikipedia.org."

5. 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 wikipedia.org?" 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 wikipedia.org, domain tersebut terhubung dengan server nama gunther.bomis.com dan zwinger.wikipedia.org 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 wikipedia.org, 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.

DNS dalam praktik
Ketika sebuah aplikasi (misalkan web broswer), hendak mencari alamat IP dari sebuah nama domain, aplikasi tersebut tidak harus mengikuti seluruh langkah yang disebutkan dalam teori di atas. Kita akan melihat dulu konsep caching, lalu mengartikan operasi DNS di "dunia nyata".

Caching dan masa hidup (caching and time to live)

Karena jumlah permintaan yang besar dari sistem seperti DNS, perancang DNS menginginkan penyediaan mekanisme yang bisa mengurangi beban dari masing-masing server DNS. Rencana mekanisnya menyarankan bahwa ketika sebuah DNS resolver (klien) menerima sebuah jawaban DNS, informasi tersebut akan di cache untuk jangka waktu tertentu.

Sebuah nilai (yang di-set oleh administrator dari server DNS yang memberikan jawaban) menyebutnya sebagai time to live (masa hidup), atau TTL yang mendefinisikan periode tersebut. Saat jawaban masuk ke dalam cache, resolver akan mengacu kepada jawaban yang disimpan di cache tersebut; hanya ketika TTL usai (atau saat administrator mengosongkan jawaban dari memori resolver secara manual) maka resolver menghubungi server DNS untuk informasi yang sama.

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 TTL selama 6 jam untuk host www.wikipedia.org, kemudian mengganti alamat IP dari www.wikipedia.org 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 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. RFC1537 dapat membantu penjelasan ini.

DNS di dunia nyata

Di dunia nyata, user tidak berhadapan langsung dengan DNS resolver - mereka berhadapan dengan program seperti web brower (Mozilla Firefox, Safari, Opera, Internet Explorer, Netscape, Konqueror dan lain-lain dan klien mail (Outlook Express, Mozilla Thunderbird dan lain-lain). Ketika user melakukan aktivitas yang meminta pencarian DNS (umumnya, nyaris semua aktivitas yang menggunakan Internet), program tersebut mengirimkan permintaan ke DNS Resolver yang ada di dalam sistem operasi.
DNS resolver akan selalu memiliki cache (lihat di atas) yang memiliki isi pencarian terakhir. Jika cache dapat memberikan jawaban kepada permintaan DNS, resolver akan menggunakan nilai yang ada di dalam cache kepada program yang memerlukan. Kalau cache tidak memiliki jawabannya, resolver akan mengirimkan permintaan ke server DNS tertentu.

Untuk kebanyakan pengguna di rumah, Internet Service Provider(ISP) yang menghubungkan komputer tersebut biasanya akan menyediakan server DNS: pengguna tersebut akan mendata alamat server secara manual atau menggunakan DHCP untuk melakukan pendataan tersebut. Namun jika administrator sistem / pengguna telah mengkonfigurasi sistem untuk menggunakan server DNS selain yang diberikan secara default oleh ISP misalnya seperti Google Public DNS ataupun OpenDNS,[1] maka DNS resolver akan mengacu ke DNS server yang sudah ditentukan. Server nama ini akan mengikuti proses yang disebutkan di Teori DNS, baik mereka menemukan jawabannya maupun tidak.

Hasil pencarian akan diberikan kepada DNS resolver; diasumsikan telah ditemukan jawaban, resolver akan menyimpan hasilnya di cache untuk penggunaan berikutnya, dan memberikan hasilnya kepada software yang meminta pencarian DNS tersebut.
Sebagai bagian akhir dari kerumitan ini, beberapa aplikasi seperti web browser juga memiliki DNS cache mereka sendiri, tujuannya adalah untuk mengurangi penggunaan referensi DNS resolver, yang akan meningkatkan kesulitan untuk melakukan debug DNS, yang menimbulkan kerancuan data yang lebih akurat. Cache seperti ini umumnya memiliki masa yang singkat dalam hitungan 1 menit.

Penerapan DNS lainnya

Sistem yang dijabarkan di atas memberikan skenario yang disederhanakan. DNS meliputi beberapa fungsi lainnya
1. Nama host dan alamat IP tidak berarti terhubung secara satu-banding-satu.
    Banyak nama host yang diwakili melalui alamat IP tunggal: gabungan dengan
    pengasuhan maya (virtual hosting), hal ini memungkinkan satu komputer
    untuk malayani beberapa situs web. Selain itu, sebuah nama host dapat
    mewakili beberapa alamat IP: ini akan membantu toleransi kesalahan (fault 
    tolerance dan penyebaran beban (load distribution), juga membantu suatu
    situs berpindah dari satu lokasi fisik ke lokasi fisik lainnya secara mudah.
2. Ada cukup banyak kegunaan DNS selain menerjemahkan nama ke alamat IP.
    Contoh:, agen pemindahan surat Mail transfer agents(MTA) menggunakan
    DNS untuk mencari tujuan pengiriman E-mail untuk alamat tertentu.
    Domain yang menginformasikan pemetaan exchange disediakan melalui
    rekod MX (MX record) yang meningkatkan lapisan tambahan untuk toleransi
    kesalahan dan penyebaran beban selain dari fungsi pemetaan nama ke
    alamat IP.
3. Kerangka Peraturan Pengiriman (Sender Policy Framework) secara
    kontroversi menggunakan keuntungan jenis rekod DNS, dikenal sebagai
    rekod TXT.
4. Menyediakan keluwesan untuk kegagalan komputer, beberapa server DNS
    memberikan perlindungan untuk setiap domain. Tepatnya, tigabelas server
    akar (root servers) digunakan oleh seluruh dunia. Program DNS maupun
    sistem operasi memiliki alamat IP dari seluruh server ini. Amerika Serikat
    memiliki, secara angka, semua kecuali tiga dari server akar tersebut. Namun,
    dikarenakan banyak server akar menerapkan anycast, yang memungkinkan
    beberapa komputer yang berbeda dapat berbagi alamat IP yang sama untuk
    mengirimkan satu jenis services melalui area geografis yang luas, banyak
    server yang secara fisik (bukan sekadar angka) terletak di luar Amerika
    Serikat.
DNS menggunakan TCP dan UDP di port komputer 53 untuk melayani permintaan DNS. Nyaris semua permintaan DNS berisi permintaan UDP tunggal dari klien yang dikuti oleh jawaban UDP tunggal dari server. Umumnya TCP ikut terlibat hanya ketika ukuran data jawaban melebihi 512 byte, atau untuk pertukaaran zona DNS zone transfer

Jenis-jenis catatan DNS

Beberapa kelompok penting dari data yang disimpan di dalam DNS adalah sebagai berikut:
1. A record atau catatan alamat memetakan sebuah nama host ke alamat IP
    32-bit (untuk IPv4).
2. AAAA record atau catatan alamat IPv6 memetakan sebuah nama host ke 
     alamat IP 128-bit (untuk IPv6).
3. CNAME record atau catatan nama kanonik membuat alias untuk nama
     domain. Domain yang di-alias-kan memiliki seluruh subdomain dan rekod
     DNS seperti aslinya.
4. MX record' atau catatan pertukaran surat memetakan sebuah nama
     domain ke dalam daftar mail exchange server untuk domain tersebut.
5. 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 in-addr.arpa yang mewakili sebuah alamat IP menerapkan
     pencarian balik DNS (reverse DNS lookup) untuk alamat tersebut.
     Contohnya (saat penulisan / penerjemahan artikel ini), www.icann.net memiliki
     alamat IP 192.0.34.164, tetapi sebuah rekod PTR memetakan
     ,,164.34.0.192.in-addr.arpa ke nama kanoniknya: referrals.icann.org.
6. 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.
7. SOA record atau catatan otoritas awal (Start of Authority) mengacu server
     DNS yang menyediakan otorisasi informasi tentang sebuah domain Internet.
8. SRV record adalah catatan lokasi secara umum.
9. Catatan TXT mengizinkan administrator untuk memasukan data acak ke
    dalam catatan DNS; catatan ini juga digunakan di spesifikasi Sender Policy 
    Framework.
Jenis catatan lainnya semata-mata untuk penyediaan informasi (contohnya, catatan LOC memberikan letak lokasi fisik dari sebuah host, atau data ujicoba (misalkan, catatan WKS memberikan sebuah daftar dari server yang memberikan servis yang dikenal (well-known service) seperti HTTP atau POP3 untuk sebuah domain.

Nama domain yang diinternasionalkan

Nama domain harus menggunakan satu sub-kumpulan dari karakter ASCII, hal ini mencegah beberapa bahasa untuk menggunakan nama maupun kata lokal mereka. ICANN telah menyetujui Punycode yang berbasiskan sistem IDNA, yang memetakan string Unicode ke karakter set yang valid untuk DNS, sebagai bentuk penyelesaian untuk masalah ini, dan beberapa registries sudah mengadopsi metode IDNS ini.



sekian postingan saya, kalo ada yan g kurang paham..bisa komen aja di bawah ya. terimakasih

Comments

Popular posts from this blog

Mengatasi masalah tidak bisa menginstal bind9 di server

Pengertian Maria db

kabel Coaxsial