Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Diagram jaringan komputer dari klien yang berkomunikasi dengan peladen melalui Internet
Model klien-peladen atauklien-server adalah strukturaplikasi terdistribusi yang membagi tugas atau beban kerja antara penyedia sumber atau layanan, yang disebutpeladen (server), dan peminta layanan, yang disebutklien (client).[1] Sering kali klien dan peladen berkomunikasi melaluijaringan komputer pada perangkat keras yang terpisah, tetapi klien dan peladen mungkin saja berada pada perangkat yang sama.Inang peladen menjalankan satu atau lebih program peladen, yang berbagi sumber dayanya dengan klien. Klien biasanya tidak membagikan sumber daya komputasinya, tetapi meminta isi atau layanan dari peladen dan dapat berbagi isinya sendiri sebagai bagian dari permintaan tersebut. Oleh karena itu, klien memulai sesi komunikasi dengan peladen, yang menunggu permintaan masuk. Contoh aplikasi komputer yang menggunakan model klien-peladen adalahsurel, pencetakan jaringan, danWaring Wera Wanua.
Komponen peladen menyediakan fungsi atau layanan kepada satu atau banyak klien, yang memulai permintaan untuk layanan tersebut.Peladen dikelompokkan berdasarkan layanan yang mereka beri. Misal,peladen web melayanilaman web danpeladen berkas melayaniberkas komputer.Sumber daya bersama dapat berupa perangkat lunak dan komponen elektronik komputer peladen, mulai dariprogram dandata hinggaprosesor danperangkat penyimpanan. Pembagian sumber daya peladen merupakan sebuahlayanan.
Apakah komputer adalah klien, peladen, atau keduanya, ditentukan oleh sifat aplikasi yang membutuhkan fungsi layanan. Misal, satu komputer dapat menjalankan perangkat lunak peladen web dan peladen berkas pada saat yang sama untuk menyajikan data yang berbeda kepada klien yang membuat berbagai jenis permintaan. Perangkat lunak klien juga dapat berkomunikasi dengan perangkat lunak peladen dalam komputer yang sama.[2] Komunikasi antara peladen, seperti untuk menyinkronkan data, terkadang disebut komunikasiantar-peladen atau komunikasipeladen-ke-peladen.
Umumnya, sebuah layanan adalahpengabstrakan sumber daya komputer dan klien tidak perlukhawatir dengan kinerja peladen saat memenuhi permintaan dan memberi tanggapan. Klien hanya perlu memahami tanggapan berdasarkanprotokol aplikasi yang relevan, yakni isi dan format data untuk layanan yang diminta.
klien dan peladen bertukar pesan dalampola pengiriman pesanpermintaan–tanggapan. Klien mengirim permintaan, dan peladen mengembalikan tanggapan. Pertukaran pesan ini adalah contohkomunikasi antarproses. Untuk dapat berkomunikasi, kedua atau banyak komputer harus memiliki bahasa yang sama, dan harus mengikuti aturan sehingga baik klien maupun peladen mengetahui apa yang diharapkan. Bahasa dan aturan komunikasi ditetapkan dalamprotokol komunikasi. Semua protokol beroperasi dalamlapisan aplikasi. Protokol lapisan aplikasinya yang menetapkan pola dasar dialog. Untuk lebih jauh memformalkan pertukaran data, peladen dapat menerapkanantarmuka pemrograman aplikasi (APA).[3] APA tersebut adalahlapisan pengabstrakan untuk pengaksesan layanan. Dengan membatasi komunikasi keformat isi tertentu, ini memfasilitasipenguraian (parsing). Dengan mengabstraksi akses, ini memfasilitasi pula pertukaran data lintas-anjungan.[4]
Peladen dapat menerima permintaan dari banyak klien berbeda dalam waktu singkat. Sedangkan, komputer hanya dapat melakukan sejumlahtugas terbatas pada suatu waktu, dan bergantung pada sistempenjadwalan untuk mengutamakan permintaan masuk dari para klien untuk dapat menampung mereka. Untuk mencegah penyalahgunaan dan memaksimalkanketersediaan, perangkat lunak peladen dapat membatasi ketersediaan bagi para klien, untuk mewaspadai pulaserangan kegagalan layanan yang dirancang untuk memanfaati kewajiban peladen dalam mengolah permintaan — dengan membebani peladen dengan tingkat permintaan yang berlebihan.Enkripsi harus diterapkan jika informasi sensitif akan dikomunikasikan antara klien dan peladen.
Ketika seorang nasabahbank menjangkau layananperbankan daring denganperamban web (si klien), maka si nasabah akan mengajukan permintaan ke peladen web bank.Asnadlog masuk pelanggan diperbandingkan denganpangkalan data, dan peladen web mengaksespeladen pangkalan data tersebut sebagai klien. Lalupeladen aplikasi menafsirkan data yang dikembalikan dengan menerapkanlogika bisnis bank dan menyediakankeluaran ke peladen web. Terakhir, peladen web mengembalikan hasilnya ke peramban web klien untuk ditampilkan.
Pada setiap langkah rangkaian pertukaran pesan klien-peladen ini, komputer mengolah permintaan dan mengembalikan data. Ini adalah pola pengiriman pesan permintaan-tanggapan. Ketika semua permintaan dipenuhi, rangkaian akan selesai.
Sisi-peladen mengacu pada program dan operasi yang berjalan dipeladen. Ini berbeda dengan program dan operasi sisi-klien yang berjalan diklien. (Lihat di bawah)
"Perangkat lunak sisi-peladen" mengacu padaaplikasi komputer, misalpeladen web, yang berjalan padaperangkat keras peladen jarak jauh, yang dapat diakses darikomputer,ponsel cerdas, atau perangkat lain milikpengguna setempat. Operasi dapat dilakukan di sisi-peladen karena memerlukan akses ke informasi atau fungsi yang tidak tersedia diklien, atau karena melakukan operasi tersebut di sisi-klien akan lambat, tidak dapat diandalkan, atautidak aman.
Program klien dan peladen dapat berupa program yang umum tersedia sepertipeladen web danperamban web gratis atau komersial, yang saling berkomunikasi menggunakanprotokol baku. Atau,pemrogram dapat menulis peladen, klien, danprotokol komunikasi mereka sendiri yang hanya dapat digunakan bersama-sama.
Operasi sisi-peladen mencakup operasi yang dilakukan sebagai tanggapan terhadap permintaan klien, dan operasi yang tak-berorientasi pada klien seperti tugas pemeliharaan.[5][6]
Dalam kontekskeamanan komputer, kerentanan atau serangan sisi-peladen merujuk pada kerentanan atau serangan yang terjadi pada sistem komputer peladen, bukan pada sisi klien, ataudi antara keduanya. Misalnya, seorang penyerang mungkin memanfaati kerentananpenyuntikan SQL dalamaplikasi web untuk mengubah atau mendapatkan akses tak sah ke data dalampangkalan data peladen. Atau, penyerang dapat membobol sistem peladen menggunakan kerentanan padasistem operasi yang mendasarinya dan kemudian dapat mengakses pangkalan data dan berkas lainnya dengan cara yang sama seperti pengurus peladen yang berwenang.[7][8][9]
Dalam kasus proyekkomputasi terdistribusi misalSETI@home dahGreat Internet Mersenne Prime Search (GIMPS), sementara sebagian besar operasi terjadi di sisi klien, peladen bertanggung jawab untuk menyelaraskan para klien, mengirimkan data untuk dianalisis, menerima dan menyimpan hasil, menyediakan fungsionalitas pelaporan kepada pengurus proyek, dsb. Dalam kasus aplikasi pengguna berkegantungan-Internet sepertiGoogle Earth, saat kueri dan tampilan data peta terjadi di sisi klien, peladen bertanggung jawab atas penyimpanan permanen data peta, menyelesaikan kueri pengguna menjadi data peta yang akan dikembalikan ke klien, dsb.
Dalam konteksWaring Wera Wanua, bahasa komputer sisi-peladen yang umum dijumpai meliputi:
Namun, aplikasi dan layanan web dapat diterapkan dalam hampir semua bahasa, selama keduanya dapat mengembalikan data ke peramban web berpangkal-kebakuan (mungkin melalui program perantara) dalam format yang dapat digunakan.
Biasanya, klien adalahaplikasi komputer, sepertiperamban web, yang berjalan dikomputer,ponsel cerdas, atau perangkat lain milikpengguna, dan terhubung kepeladen sesuai kebutuhan. Operasi dapat dilakukan di sisi-klien karena ia memerlukan akses ke informasi atau fungsi yang tersedia di klien tetapi tidak di peladen, karena pengguna perlu mengamati operasi atau memberi masukan, atau karena peladen tidak memiliki daya pengolahan untuk melakukan operasi dengan tepat waktu untuk semua klien yang dilayaninya. Selain itu, jika operasi dapat dilakukan oleh klien, tanpa mengirim data melalui jaringan, operasi tersebut mungkin memerlukan waktu lebih sedikit, menggunakan lebih sedikitlebar pita, dan menimbulkan risikokeamanan lebih rendah.
Jika si peladen menyajikan data dengan cara yang umum digunakan, misalnya menurutprotokol-protokol baku sepertiHTTP atauFTP, pengguna dapat memilih sejumlah program klien (misal, sebagian besar peramban web modern dapat meminta dan menerima data menggunakan HTTP dan FTP). Dalam kasus aplikasi yang lebih khusus,pemrogram dapat menulis peladen, klien, dan protokol komunikasi mereka sendiri yang hanya dapat digunakan bersama-sama.
Program yang berjalan pada komputer setempat pengguna tanpa pernah mengirim atau menerima data melalui jaringan tidak dianggap sebagai klien, sehingga operasi program tersebut tidak akan disebut operasi sisi-klien.
Dalam kontekskeamanan komputer, kerentanan atau serangan sisi-klien merujuk pada kerentanan atau serangan yang terjadi pada sistem komputer klien/pengguna, bukan pada sisi peladen, ataudi antara keduanya. Misal, jika sebuah peladen berisi sebuah berkas atau pesanterenkripsi yang hanya bisa didekripsi (dilepas enkripsinya) menggunakan sebuahkunci yang tersimpan di sistem komputer pengguna/si klien, maka serangan sisi klien biasanya akan menjadi satu-satunya kesempatan bagi penyerang untuk mendapatkan akses ke isi yang didekripsi tersebut. Misalnya, penyerang mungkin saja menyebabkanperangkat pembahaya terpasang pada sistem klien, yang memungkinkan si penyerang untuk melihat layar pengguna, merekam penekanan tombol pengguna, dan mencuri salinan kunci enkripsi pengguna, dll. Atau, penyerang bisa memanfaatkan kerentananskripting lintas situs (XSS) untuk melaksanakan kode berbahaya pada sistem klien tanpa perlu memasang perangkat pembahaya.[7][8][9]
Proyekkomputasi terdistribusi sepertiSETI@home danGreat Internet Mersenne Prime Search (GIMPS), serta aplikasi berkegantungan-Internet sepertiGoogle Earth, bergantung terutama pada operasi sisi-klien. Mereka memulai sambungan dengan peladen (baik sebagai tanggapan terhadap permintaan pengguna, seperti Google Earth, atau secara otomatis, seperti SETI@home), dan meminta beberapa data. Peladen memilih sekumpulan data (operasisisi-peladen) dan mengirimkannya kembali pada klien. Lalu klien menganalisis data (operasi sisi-klien), dan, ketika analisis selesai, menampilkannya kepada pengguna (seperti pada Google Earth) dan/atau mengirimkan hasil perhitungan kembali ke peladen (seperti pada SETI@home).
Dalam konteksWaring Wera Wanua, bahasa komputer yang umum dijumpai yang dinilai atau dijalankan di sisi-klien meliputi:
Bentuk awal arsitektur klien–peladen adalahentri pekerjaan jarak jauh, yang dimulai setidaknya pada OS/360 (diumumkan tahun 1964), di mana permintaannya adalah menjalankanpekerjaan, dan tanggapannya adalahkeluaran.
Ketika merumuskan model klien-peladen pada 1960-an dan 1970-an,ilmuwan komputer yang membangunARPANET (diStanford Research Institute) menggunakan istilahserver-host (atauserving-host)[a] danuser-host (atauusing-host)[b] , dan istilah ini muncul dalam dokumen-dokumen awal RFC danRFC 4. Penggunaan ini dilanjutkan diXerox PARC pada pertengahan 1970-an.
Salah satu konteks di mana para peneliti menggunakan istilah-istilah ini adalah dalam rancangan bahasa pemrograman jaringan komputer yang disebut Decode-Encode Language (DEL). Bahasa ini bertujuan untuk menerima perintah dari satu komputer (inang-pengguna), yang akan mengembalikan laporan status kepada pengguna saat mengodekan perintah dalam paket jaringan. Komputer berkemampuan-DEL lain, inang-peladen, menerima paket-paket tersebut, mendekodekannya, dan mengembalikan data yang diformat ke inang-pengguna. Program DEL pada inang-pengguna menerima hasilnya untuk disajikan kepada pengguna. Ini merupakan transaksi klien-peladen. Pengembangan DEL baru dimulai pada 1969, tahun ketikaDepartemen Pertahanan Amerika Serikat mendirikan ARPANET (pendahuluInternet).
Inang-klien daninang-peladen punya arti yang sedikit berbeda denganklien danpeladen. Inang atau hos adalah komputer apa pun yang terhubung ke jaringan. Sementara katapeladen danklien dapat mengacu ke suatu komputer atau suatu program komputer,inang-peladen daninang-klien selalu mengacu ke komputer. Inang tersebut adalah komputer serbaguna dan multifungsi;klien danpeladen hanyalah program yang berjalan pada inang. Dalam model klien-peladen, peladen lebih cenderung dikhususkan untuk tugas melayani.
Penggunaan awal kataclient (klien) dijumpai dalam "Separating Data from Function in a Distributed File System", sebuah makalah tahun 1978 oleh para ilmuwan komputer Xerox PARC Howard Sturgis, James Mitchell, dan Jay Israel. Para penulis ini berhati-hati dalam mengartikan istilah tersebut bagi pembaca, dan menjelaskan bahwa mereka menggunakannya untuk membedakan antara pengguna dan simpul jaringan pengguna (yaitu si klien).[10] Pada tahun 1992, kataserver (peladen) telah digunakan secara meluas.[11][12]
Model klien-peladen tidak menentukan bahwa inang-peladen harus memiliki lebih banyak sumber daya daripada inang-klien. Sebaliknya, ia memungkinkan komputer serbaguna untuk memperluas kemampuannya dengan menggunakan sumber daya bersama dari inang lain. Namun,komputasi terpusat secara khusus menjatahkan sejumlah besar sumber daya ke sejumlah kecil komputer. Semakin banyak komputasi yang dialihkan dari inang-klien ke komputer pusat, semakin sederhana inang-klien dapat bekerja.[13] Ia sangat bergantung pada sumber daya jaringan (peladen dan prasarana) untuk komputasi dan penyimpanan.Simpul nircakram pun memuat sistem operasinya dari jaringan, sedangkanterminal komputer tidak memiliki sistem operasi sama sekali; ia hanyalah antarmuka masukan/keluaran ke peladen. Sebaliknya,klien kaya, misalkomputer pribadi, memiliki banyak sumber daya dan tidak bergantung pada peladen untuk fungsi-fungsi penting.
Selain model klien-peladen, aplikasikomputasi terdistribusi sering menggunakan arsitektur aplikasimitra-ke-mitra (peer-to-peer; P2P). Dalam model klien-peladen, peladen sering dirancang untuk beroperasi sebagai sistem terpusat yang melayani banyak klien. Daya komputasi, memori, dan persyaratan penyimpanan peladen harus disesuaikan dengan beban kerja yang diharapkan. Sistempenyeimbangan beban danketahanan kesalahan (failover) sering digunakan untuk meningkatkan skala peladen di luar satu mesin fisik.[18][19]
Penyeimbangan beban dalam konteks ini diartikan sebagai edaran lalu lintas jaringan atau aplikasi yang metodis dan efisien di beberapa peladen dalam "peternakan peladen". Setiap penyeimbang beban berada di antara perangkat klien dan peladen ujung-belakang, menerima lalu mengedarkan permintaan masuk ke peladen tersedia mana pun yang mampu memenuhinya.
Dalam jaringanmitra-ke-mitra, dua atau lebih komputer (mitra) menyatukan sumber daya mereka dan berkomunikasi dalamsistem terdesentralisasi. Mitra-mitra adalah simpul yang sederajat atau sepotensi dalam jaringan non-hierarkis. Tidak seperti klien dalam jaringan klien-peladen atau klien-antrian-klien, mitra-mitra saling berkomunikasi langsung.[butuh rujukan] Dalam jejaring mitra-ke-mitra, suatualgoritma dalam protokol komunikasi mitra-ke-mitra dapat menyeimbangkanbeban, dan mitra dengan sumber daya sederhana pun dapat membantu berbagi beban.[butuh rujukan] Jika sebuah simpul menjadi tidak tersedia, sumber daya yang dibagikan tetap tersedia selama mitra-mitra lain menawarkannya. Idealnya, sebuah mitra tidak perlu mencapaiketersediaan tinggi karena mitra-mitraredundan lainnya akan menggantikanmasa padam sumber daya apa pun; ketika ketersediaan dan daya tampung beban mitra-mitra berubah, protokol akan mengalihkan permintaan.
Baik model klien-peladen dantuan-hamba dianggap sebagai anak kategori dari sistem mitra-ke-mitra terdistribusi.[20]
↑Benatallah, B.; Casati, F.; Toumani, F. (2004). "Web service conversation modeling: A cornerstone for e-business automation".IEEE Internet Computing.8:46–54.doi:10.1109/MIC.2004.1260703.S2CID8121624.
↑Cardellini, V.; Colajanni, M.; Yu, P.S. (1999). "Dynamic load balancing on Web-server systems".IEEE Internet Computing.3 (3). Institute of Electrical and Electronics Engineers (IEEE):28–39.doi:10.1109/4236.769420.ISSN1089-7801.
↑Varma, Vasudeva (2009)."1: Software Architecture Primer".Software Architecture: A Case Based Approach. Delhi: Pearson Education India. hlm.29.ISBN9788131707494. Diakses tanggal2017-07-04.Distributed Peer-to-Peer Systems [...] This is a generic style of which popular styles are the client-server and master-slave styles.