May 25

ABSTRAK

Penggunaan nama sebagai pengabstraksi alamat mesin di sebuah jaringan komputer yang lebih dikenal oleh manusia mengalahkan TCP/IP dan kembali ke zaman ARPAnet. Dahulu, setiap komputer di jaringan komputer menggunakan file HOSTS.TXT dari SRI (sekarang SIR Internasional), yang memetakan sebuah alamat ke sebuah nama. Sebagian besar sistem operasi modern menggunakannya baik secara baku maupun melalui konfigurasi. Sisstem dapat melihat host file untuk menyamakan sebuah nama host menjadi sebuah alamat IP sebelum melakukan pencarian via DNS. Namun, sistem tersebut memiliki 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, maka dibutuhkan sistem yang bisa dikembangkan, yaitu sebuah sistem yang bisa mengganti alamat host hanya di satu tempat, sedangkan host lain akan mempelajari perubahan tersebut secara dinamis. Sistem inilaomain Name System).

PEMBAHASAN

Apakah itu DNS (Domain Name System)?

Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet dimana DNS memiliki keunggulan seperti:

  1. Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
  2. Konsisten, IP address sebuah komputer bisa berubah tapi host name tidak berubah.
  3. Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di
    Intranet.

DNS dapat disamakan fungsinya dengan buku telepon, dimana setiap komputer di jaringan Internet memiliki host name (nama komputer) dan Internet Protocol (IP) address. Secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. Lalu komputer anda akan menghubungi DNS server untuk mencek host name yang anda minta tersebut berapa IP address-nya. IP address ini yang digunakan untuk mengkoneksikan komputer anda dengan komputer lainnya.

Bagaiamana Struktur dari DNS?

Suatu DNS memiliki struktur sebagai berikut :

1. Domain Name Space merupakan sebuah hirarki pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya: Root-Level Domains. Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (“.”).

Bagian dibawah ini adalah contoh dari top-level domains:

  • com : Organisasi Komersial
  • edu : Institusi pendidikan atau universitas
  • org : Organisasi non-profit
  • net : Networks (backbone Internet)
  • gov : Organisasi pemerintah non militer
  • mil : Organisasi pemerintah militer
  • num : No telpon
  • arpa : Reverse DNS
  • xx : dua-huruf untuk kode negara (id:Indonesia,sg:singapura,au:australia,dll)

    Top-level domains dapat berisi second-level domains dan hosts.

2. Second-Level Domains

Second-level domains dapat berisi host dan domain lain, yang disebut dengan subdomain. Untuk contoh: Domain Pecinta Wanita, pecintawanita.com terdapat komputer (host) seperti server1.pecintawanita.com dan subdomain training.pecintawanita.com. Subdomain training.pecintawanita.com juga terdapat komputer (host) seperti client1.training.pecintawanita.com.

3. Host Names

Domain name yang digunakan dengan host name akan menciptakan fully qualified domain name (FQDN) untuk setiap komputer. Sebagai contoh, jika terdapat fileserver1.detik.com, dimana fileserver1 adalah host name dan detik.com adalah domain name.

Sistem kerja DNS

Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mencek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address.

Pengelola dari sistem DNS terdiri dari tiga komponen:

  • DNS resolver yaitu sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.
  • Recursive DNS server yaitu program yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada para resolver tersebut;
  • Authoritative DNS server yaitu program 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 domaian biasanya terdiri dari dua bagian atau lebih (secara teknis disebut label), dipisahkan dengan titik.

  • Label paling kanan menyatakan domain tingkat atas/tinggi (misalkan, alamat www.wikipedia.org memiliki top-level domain id).
  • Setiap label di sebelah kirinya menyatakan sebuah sub-divisi atau subdomain dari domain yang lebih tinggi. 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 (dalam kenyataan, id.wikipedia.org sesungguhnya mewakili sebuah nama host). 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 dalam kenyataannya, beberapa domain name registry memiliki batas yang lebih sedikit.
  • Bagian paling kiri dari bagian nama domain 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 hirarki 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 hirarki, terdapat root servers- induk server nama, server yang ditanyakan ketika mencari (menyelesaikan/resolving) dari sebuah nama domain tertinggi (top-level domain).

Contoh untuk 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.

  • Sebelum dimulai, recursor harus mengetahui dimana dapat menemukan root nameserver; administrator dari recursive DNS server secara manual mengatur dan melakukan update secara berkala terhadap sebuah file dengan nama root hints 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 www.wikipedia.org?”
  • 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 id.”
  • Recursor DNS lokal kemudian bertanya kepada server DNS (yaitu: 204.74.112.1) dengan pertanyaan yang sama seperti yang diberikan kepada root server. “apa alamat IP dari www.wikipedia.org?”. Pada 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.”
  • Akhirnya, pertanyaan beralih kepada server DNS ketiga (207.142.131.234), yang menjawab dengan alamat IP yang dibutuhkan.

Bagaiamanakah DNS bekerja?

Dari contoh diatas, bagaimana caranya DNS server 204.74.112.1 tahu alamat IP mana yang diberikan untuk domain wikipedia.org?. Pada awal proses, sebuah DNS recursor memiliki alamat IP dari para root server yang 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 tersebut, 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, nama server 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.

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 diatas. Kita akan melihat dulu konsep caching, lalu mengertikan operasi DNS di “dunia nyata”.

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 ti 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. Krtika TTL usai atau saat administrator mengosongkan jawaban dari memori resolver secara manual, maka resolver menghubungi server DNS untuk informasi yang sama.

Propagation time

Satu akibat penting dari arsitektur tersebar dan cache adalah perubahan kepada suatu DNS tidak selalu 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 paling tidak ada 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 pukul 12:00 dan pukul 18:00 dalam contoh ini disebut sebagai waktu propogasi (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.

Di dunia nyata, user tidak berhadapan langsung dengan DNS resolver, melainkan berhadapan dengan program seperti web browser (Mozilla Firefox, Opera, IE) dan klien mail (Outlook Express, Mozilla Thunderbird). Ketika user melakukan aktivitas yang meminta pencarian DNS (program yang berhubungan dengan internet), program tersebut mengirimkan permintaan ke DNS Resolver yang ada di dalam sistem operasi.

DNS resolver akan selalu memiliki cache 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. Jika administrator sistem telah mengkonfigurasi sistem untuk menggunakan server DNS mereka sendiri, DNS resolver umumnya akan mengacu ke server nama mereka. 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.

DNS memiliki beberapa fungsi lain seperti berikut :

  • Nama host dan alamat IP tidak berarti terhubung secara satu-banding-satu. Banyak nama host yang diwakili melalui alamat IP tunggal : gabungan dengan virtual hosting. Hal tersebut memungkinkan satu komputer untuk malayani beberapa situs web. Selain itu, sebuah nama host dapat mewakili beberapa alamat IP. Hal ini akan membantu fault tolerance dan penyebaran beban (load distribution), juga membantu suatu situs berpindah dari satu lokasi fisik ke lokasi fisik lainnya secara mudah.
  • Ada cukup banyak kegunaan DNS selain menerjemahkan nama ke alamat IP. Contohnya Mail Transfer Agents (MTA) menggunakan DNS untuk mencari tujuan pengiriman email untuk alamat tertentu. Domain yang menginformasikan pemetaan exchange disediakan melalui rekord MX yang meningkatkan lapisan tambahan untuk toleransi kesalahan dan penyebaran beban selain dari fungsi pemetaan nama ke alamat IP.
  • Sender Policy Framework secara kontroversi menggunakan keuntungan jenis rekord DNS, dikenal sebagai rekord TXT.
  • Menyediakan keluwesan untuk kegagalan komputer, beberapa server DNS memberikan perlindungan untuk setiap domain. Tepatnya, tigabelas 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 sekedar angka) terletak di luar Amerika Serikat.

DNS menggunanakn TCP dan UDP di port komputer 53 untuk melayani permintaan DNS. Hampir 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.

KESIMPULAN

Dari pembahasan diatas, dapak kita ambil kesimpulan bahwa DNS (Domain Name System) merupakan distribusi database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet dimana DNS membantu memetakan host name sebuah komputer ke IP address.

DNS memiliki beberapa keunggulan, diantaranya yaitu :

  1. Mudah
  2. Konsisten
  3. Sederhana

REFERENSI

  1. http://id.wikipedia.org/wiki/Sistem_Penamaan_Domain
  2. http://onno.vlsm.org/v09/onno-ind-1/network/mengkonfigurasi-dns-server-membuat-primary-dan-secondary-dns-.rtf
  3. http://www.esc-creation.com/tag/daftar-dns-indonesia-indosat-im2-telkom-awari/