Pengertian Remote Procedure Calls
(RPC)
Pengertian
Remote Procedure Calls (RPC)
RPC adalah suatu protokol yang
menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu
program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode
pada sistem yang jauh ( remote system ). RPC mengasumsi keberadaan dari
low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data
dalam komunikasi suatu program.
Protokol RPC dibangun diatas protokol
eXternal Data Representation (XDR), yang merupakan standar dari representasi
data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari
tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna (users)
untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal.
Prosedur panggilan remote (remote
procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol
RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan.
Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan”
yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote batching
dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan
select subroutine pada sisi server.
Klien
dan Server
Klien adalah komputer atau proses
yang mengakses suatu servis/layanan atau resources dari proses atau komputer
pada suatu jaringan. Server adalah komputer yang menyediakan servis/layanan dan
resources, dan yang mengimplementasikan servis jaringan. Tiap servis pada
network adalah susunan dari program remote, dan tiap program remote
mengimplementasi prosedur remote. Semua prosedur berikut parameternya dan
hasilnya didokumentasi secara spesifik pada protokol suatu program.
Protokol
Message RPC
Protokol Message RPC didefinisikan
dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang
meliputi struktur, enumerasi dan union. Pembahasan lebih lanjut akan
diterangkan pada bab berikutnya mengenai implementasi RPC. Protokol Message ini
membutuhkan faktor-faktor pendukung sebagai berikut : 1. Spesifikasi yang unik
untuk tiap prosedur call 2. Respon message yang sesuai untuk tiap message yang
diminta 3. Otentifikasi klien untuk tiap layanan dan sebaliknya Protokol
Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan
reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan
akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut.
Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC
dapat mencocokkan message balasan untuk tiap call message yang diminta klien.
Call
Message
Tiap call message pada RPC
mengandung nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi
prosedur remote yang diminta. Nilai-nilai ini adalah :
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur
Reply
Message
Reply message yang dikirimkan oleh
server jaringan bervariasi tergantung apakah call messages yang diminta klien
diterima atau ditolak. Reply message mengandung informasi yang digunakan untuk
membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi
ini antara lain :
1. RPM mengeksekusi call message
dengan sukses
2. Implementasi remote tidak sesuai
dengan protokol yang digunakan. Versi yang lebih rendah atau tinggi akan
ditolak.
3. Program remote tidak tersedia
pada sistem remote
4. Program remote tidak mendukung
versi yang diminta klien
5. Nomor prosedur yang diminta tidak
ada.
Fitur
dalam RPC
RPC memiliki fitur - fitur sebagai
berikut : batching calls, broadcasting calls, callback procedures dan using the
select subroutine. Batching Calls Fitur Batching calls mengijinkan klien untuk
mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan
). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai
mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk
memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server
yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak
digunakan klien, karena arsitektur RPC didesain agar pada tiap call message
yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh
karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi
karena pihak klien tidak akan menerima peringatan apabila terjadi error pada
message yang dikirim.
Broadcasting
Calls
Fitur Broadcasting mengijinkan klien
untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP
sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk
mengimplementasikan fungsinya. Callback Procedures Fitur Callback Procedures
mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke
proses yang dijalankan oleh klien. Menggunakan select Subrutin Fitur ini akan
memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat
apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka
dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk
menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan
proses aktivitas tersebut.
Otentifikasi
RPC
Proses otentifikasi adalah proses
yang digunakan untuk mengidentifikasi server dan klien pada RPC. Untuk setiap
prosedur remote yang dilakukan protokol RPC menyediakan slot yang dipakai
sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat,
memberikan identitasnya kepada server. Parameter otentifikasi ini dibuat di
paket klien.
Otentifikasi RPC terdiri atas
beberapa bagian. Berikut ini adalah bagian-bagian padaotentifikasi RPC :
1.
Protokol Otentifikasi RPC Protokol
Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur
remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang
digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC
diberikan parameter otentifikasi dan parameter yang digunakan adalah credential
dan verifier.
2.
Otentifikasi NULL Otentifikasi NULL
digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui
identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.
3.
Otentifikasi UNIX Otentifikasi Unix
digunakan pada prosedur remote di sistem UNIX. Jenis otentifikasi ini dibagi
dua (2) yaitu otentifikasi pada sisi klien dan otentifiksi pada sisi server.
Pada sisi klien, otentifikasi ini akan membuat otentifikasi handle dengan AIX
permissions agar dapat berasosiasi dengan parameter credentials pada sistem
UNIX. Sedangkan pada sisi server, server harus dapat menentukan tipe
otentifikasi yang diberikan oleh pemanggil RPC. Penentuan dukungan terhadap
tipe otentifikasi akan memberikan reply yang berbeda.
4.
Otentifikasi Data Encryption
Standard ( DES ) Otentifikasi DES membutuhkan keyserv daemon yang harus
berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus
memiliki kunci public ( public key yang disahkan pada database kunci publik
oleh Administrator jaringan tersebut.
5.
Protokol Otentifikasi DES Protokol
Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC.
Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan
panjang maksimum untuk user name pada jaringan yang digunakan.
6.
Enkripsi Diffie-Hellman Enkripsi
Diffie-Hellman digunakan pada pembuatan kunci public pada otentifikasi DES
dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variable
onstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES.
PC berhubungan hanya dengan proses otentifikasi, tidak dengan kontrol akses
terhadap ervices/layanan individual yang diberikan. Tiap layanan
mengimplementasikan eraturan mengenai kontrol akses masing-masing.
Subsistem otentifikasi pada paket
RPC bersifat open-ended, artinya beberapa tentifikasi dapat diasosiasikan pada
RPC klien.
Sumber:
0 komentar:
Posting Komentar