Pemanfaatan perangkat lunak berperan penting bagi perkembangan di semua bidang, baik itu institusi pendidikan, lingkungan bisnis, maupun kalangan pribadi. Tentunya tidak berpulang dari penggunaan perangkat lunak tersebut, sampai sejauh mana fungsinya dapat diberdayakan dan seberapa besar biaya yang dibutuhkan untuk penerapannya. Pemilihan perangkat lunak yang sejalan dengan kebutuhan harus benar-benar diperhatikan, karena itu perencanan awal dimulai dengan mengindentifikasi kebutuhan di lingkungan yang ada. Setelah proses identifikasi kebutuhan didaftarkan, kita dapat memilih perangkat lunak seperti apa yang akan digunakan. Pemanfaatan web server menambah pengembangan aplikasi web, seperti e-learning, e-government, dan e-commerce.
Pendistribusian informasi di satu layanan dan penggunaan aplikasi client yang sungguh sangat mudah – hampir di setiap perangkat keras (PC, PDA) sudah terdapat browser. Web server sebagai pemberi pelayanan membutuhkan sistem operasi untuk menjalankan fungsinya. Sehingga kemampuan sistem operasi menangani web server menjadi perhatiannya. Yang tentunya komunikasi antar sistem operasi dengan aplikasi web server harus dimengerti kedua unit. Semua itu tak terlepas dari pengembangan model OSI (Open Systems Interconnection Reference) dan TCP/IP (Transmission Control Protocol/Internet Protocol) yang memungkinkan komunikasi antar komputer yang satu dengan lainnya, perangkat keras, perangkat lunak client/ server tentu menggunakan kaedah ini karena kaedah yang digunakan menjadi acuan para pengembang perangkat lunak maupun
perangkat keras (vendor).
Standarisasi dalam arsitektur komputer memberikan keuntungan pengembangan perangkat keras dan perangkat lunak. Dengan adanya satu bentuk standar yang digunakan sebagai komunikasi atau hubunganantar perangkatperangkat baik lunak dan keras terhadap pengembang. Sistem operasi yang mampu memberikan dukungan client/server menjadi mutlak di era sekarang. Selain dengan berbagai pertimbangan keandalan, stabilitas dari sistem operasi itu sendiri, perangkat lunak dalam hal ini client/server harus bisa sinergi dengan sistem operasi. Jelas sekali pemilihan sistem operasi harus diperhatikan terhadap dukungan jaringan komunikasi client/server.
Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan.
Umumnya, di atas sistem operasi server terdapat aplikasi-aplikasi yang menggunakan arsitektur klien/server. Server biasanya terhubung dengan client dengan kabel UTP dan sebuah Network Card. Kartu jaringan ini biasanya berupa kartu PCI atau ISA.
Fungsi server sangat banyak, misalnya untuk situs internet, ilmu pengetahuan, atau sekedar penyimpanan data. Namun yang paling umum adalah untuk mengkoneksikan komputer client ke Internet.
Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.
Pemanfaatan komunikasi client/server dalam hal jasa layanan berbasis web, akan terus berkembang. Dengan demikian pemilihan aplikasi server dan sistem operasi menjadi perhatian utama. Dengan adanya permintaan yang bersamaan (concurrentrequest) dari client. Aplikasi web server harus mampu menanganinya dengan benar – sejalan dengan kemampuan sistem operasi mengatur penggunaan daya (resources) komputer terhadap aplikasi web server itu. Dengan demikian proses terhadap permintaan yang ditujukan ke server menghasilkan permintaan yang benar di sisi client.
Beberapa komponen keluarga protokol TCP/IP. Berikut ini penjelasan tentang beberapa aplikasi yang umum dipakai dengan TCP/IP :
Telnet. Program telnet menyediakan kemampuan untuk melakukan remote login. Dengan program ini, seorang pemakai pada suatu komputer dapat melakukan login (masuk) ke komputer lainnya dan bertindak seolah-olah ia berada langsung di depan komputer kedua yang dihubunginya. Akses dapat dilakukan dari jaringan manapun, asal pemakai mempunyai izin yang sah tidak peduli di network lokal atau sembarang network.
File Transfer Protokol. Disebut juga FTP. Memungkinkan suatu file pada suatu system komputer di-copy ke system lainnya. Pemakai tidak perlu login sebagai pemakai penuh seperti halnya telnet namun perlu izin akses (username, password dan IP). Apabila koneksi telah terjadi, FTP memungkinkan untuk meng-copy file dari remote komputer ke komputer lokal yang kita pakai.
Simple Mail Transfer Protocol. Disebut juga SMTP. Digunakan untuk mentransfer electronic mail (e-mail). Saat menggunakan program e-mail, dibalik layar SMTP akan menghubungkan diri ke remote komputer dan mentransfer pesan e-mail seperti halnya program FTP mentransfer file namun kita tidak pernah menyadari kerja “siluman” (SMTP) tersebut.
Remote Procedure Call. Disebut juga RPC. Suatu set fungsi yang memungkinkan suatu aplikasi untuk berkomunikasi ke komputer lain (server). RPC akan menyediakan fungsi pemrograman, kode return, variabel predefined untuk mendukung distributed computing.
User Datagram Protocol. Disebut juga UDP. Protokol yang bersifat connectionless. UDP adalah kebalikan dari TCP yang berorientasi connection. UDP memang tidak handal tetapi ia di desain untuk tujuan khusus.
Transmission Control Protokol. Disebut juga TCP. Protokol komunikasi yang menyediakan data transfer yang andal. TCP bertanggung jawab untuk mengatur dan menyusun (assembling) data yang dilewatikan dari lapisan (layer) aplikasi menjadi suatu paket standar dan memastikan bahwa data telah dikirim dengan benar.
Internet protokol. Disebut juga IP. Bagian yang bertanggung jawab dalam memindahkan paket data yang telah di-assembling oleh TCP atau UDP (User datagram protocol) melalui network. IP menggunakan satu set address unik untuk setiap device yang ada pada network sehingga ia dapat menentukan dan menangani jalur perjalanan (route) dan alamat tujuan.
Domain Name System. Disebut juga DNS. Memungkinkan suatu komputer dengan nama umum dikonversi ke alamat network khusus. Sebagai contoh, suatu komputer dengan nama biasa DIMAS, tidak dapat diakses oleh komputer lain pada network yang sama atau network lainnya, jika tidak ada metode untuk memeriksa nama mesin lokal dan menggantinya dengan alamat fisik (hardware) mesin. DNS menyediakan konversi dari nama lokal ke alamat fisik dari suatu koneksi.
Beberapa Pengertian Dalam Unit Kompetensi Ini
Beberapa pengertian yang dipergunakan di dalam unit kompetensi ini, yaitu :
1. Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer.
2. Klien-server atau Client-server adalah sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak yaitu pihak klien dan pihak server.Informasi Masing-Masing Elemen Kompetensi
Memilih aplikasi untuk server
Teori bekerja DNS
Para Pemain Inti
Pengelola dari sistem DNS terdiri dari tiga komponen:
1. DNS resolver adalah sebuah program klien yang berjalan di komputer pengguna, yang membuat permintaan DNS dari program aplikasi.
2. recursive DNS server adalah sebuah program server yang melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver, dan mengembalikan jawaban kepada para resolver tersebut.
3. authoritative DNS server adalah sebuah program 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.
Label paling kanan menyatakan top-level domain – domain tingkat atas/tinggi (misalkan, alamat www.wikipedia.org memiliki top-level domain org).
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 prakteknya, 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 praktek, 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 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 informas 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).
DNS dalam praktek
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 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 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 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 diatas) 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.
Penerapan DNS lainnya
Sistem yang dijabarkan diatas memberikan skenario yang disederhanakan. DNS meliputi beberapa fungsi lainnya:
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 membantuk toleransi kesalahan (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. 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.
Kerangka Peraturan Pengiriman (Sender Policy Framework) secara kontroversi menggunakan keuntungan jenis rekod DNS, dikenal sebagai rekod TXT.
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 sekedar angka) terletak di luar Amerika Serikat.
DNS menggunanakn TCP dan UDP di port komputer 53 untuk melayani permintaan DNS. Nyaris semua permintaan DNS berisi permintaan UDP tunggal dari klien yang ddikuti 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:
- A record atau catatan alamat memetakan sebuah nama host ke alamat IP 32-bit (untuk IPv4).
- AAAA record atau catatan alamat IPv6 memetakan sebuah nama host ke alamat IP 128-bit (untuk IPv6).
- 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 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.
- 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 mengediakan otorisasi informasi tentang sebuah domain Internet.
- SRV record adalah catatan lokasi secara umum.
- Catatan TXT mengijinkan 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.
Perangkat lunak DNS
Beberapa jenis perangakat lunak DNS menerapkan metode DNS, beberapa diantaranya:
- BIND (Berkeley Internet Name Domain)
- djbdns (Daniel J. Bernstein‘s DNS)
- MaraDNS
- QIP (Lucent Technologies)
- NSD (Name Server Daemon)
- PowerDNS
- Microsoft DNS (untuk edisi server dari Windows 2000 dan Windows 2003)
- Utiliti berorientasi DNS termasuk:
- dig (the domain information groper)