Langsung ke konten utama

Remote Procedure Call (RPC)

Definisi
RPC adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakukan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan server. RPC masih menggunakan cara primtif dalam pemrograman yaitu menggunakan paradigma procedural programming.

Tujuan
RPC digunakan untuk administrasi sistem sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya darimna saja, selama sistemnya terhubung ke jaringan.
Socket
RPC menggunakan socket untuk berkomunikasi dengan proses lainnya.

Cara Kerja RPC
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.

Implementasi RPC
Untuk proses nya kurang lebih sama dengan RMI. Kalau RMI kita mengenal proxy dan skeleton, pada RPC dikenal dengan Stub( Client stub dan Server stub).
Remote Reference Modul dan Communication Modul berada pada tatanan sistem operasi.
Contoh implementasi adalah Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol. Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network
Systems) SPP (Sequenced Packet Protocol) sbg transport protocol, Apollo s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).
Langkah-langkah dalam RPC

  1. Prosedur client memanggil client stub
  2. Client stub membuat pesan dan memanggil OS client
  3. OS client mengirim pesan ke OS server
  4. OS server memberikan pesan ke server stub
  5. Server stub meng-unpack parameter-parameter untuk memanggil server
  6. Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
  7. Server stub meng-pack hasil tersebut dan memanggil OS server
  8. OS server mengirim pesan (hasil) ke OS client
  9. OS client memberikan pesan tersebut ke client stub
  10. Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke client
Contoh RPC dengan SUN RPC
Fungsi yg dipanggil client melalui RPC:
bin_date_1:
No arguments.
Result in long integer: waktu saat ini, dlm jumlah detik sejak 00:00:00 GMT,
January 1, 1970.
str_date_1
Mengkonversi hasil bin_date_1 menjadi readable ASCII sring.
Berkas yg dibuat programmer:
Server procedure: date_proc.c
RPC specification file: date.x
Client main function: rdate.c
date.x -> rpcgen ->
Server stub: date_svc.c
date.h
Client stub: date_clnt.c
Generate executable client program:
cc o rdate rdate.c date_clnt.c lrpclib
Generate executable server program:
cc o date_svc date_proc.c date_svc.c lrpclib


sumber: http://pyia.wordpress.com/2012/01/08/rmi-remote-method-invocation-dan-rpc-remote-procedure-call/

Komentar

Pos populer dari blog ini

Remote Method Invocation (RMI)

RMI adalah perluasan dari local method invocation yang memungkinkan sebuah objek yang hidup dalam satu proses untuk memohon method objek yang berada di proses lain. (George Coulouris hal 166).
RMI adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Aplikasi RMI seringkali terdiri dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini biasanya membuat beberapa objek remote, menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses, serta menunggu client menginvoke/memanggil method dari objek-objek remote tersebut. Aplikasi client mendapatkan refere…

Tujuan, Metode, SQL Injection

Tujuan dari Serangan SQL Injection Mengidentifikasi parameter injeksiPenyerang ingin menyelidiki Aplikasi Web untuk menemukan mana parameter dan bidang-input pengguna rentan terhadap SQLIA.
Menambah dan memodifikasi dataTujuan dari serangan ini adalah untuk menambah atau mengubah informasi dalam database.
Menggali data pada sebuah webJenis-jenis serangan menggunakan teknik yang akan mengekstrak nilai data dari database. Tergantung pada jenis dari aplikasi Web, informasi ini bisa menjadi sensitif dan sangat diinginkan untuk penyerang. Serangan dengan maksud ini adalah Jenis yang paling umum dari SQLIA.
Melakukan nya di Denial of Service (DoS)Serangan ini dilakukan untuk menutup database dari aplikasi Web, sehingga menyangkal layanan ke pengguna lain. Serangan yang melibatkan mengunci atau menjatuhkan tabel database juga termasuk dalam kategori ini.
 Menghindari deteksiKategori ini mengacu pada teknik serangan tertentu yang digunakan untuk menghindari audit dan detek…