Juventus

Juventus

Selasa, 11 Desember 2012

sistem terdistribusi V-class tugas 1

1.      Apa kegunaan ARP
2.      Gambarkan dan jelaskan format datagram ARP Request/Reply
3.      Berada dimanakah tabel ARP cache itu (di directory apa?)
4.      Cari option – option pada command arp (misal arp –a, arp -??), dan jelaskan maksud
dan kegunaannya.
5.      Cari informasi tentang software sniffer tcpdump berikut command – command yang
ada pada tcpdump dan apa kegunaannya
6.      Jelaskan cara penggunaan software wireshark, dan bagaimana cara melakukan filter
terhadap :
a.       Paket arp
b.      Hanya dari source atau destination nomor IP yang ditampilkan pada display ?

Jawab
1.     ARP (Address Resolution Protocol).
       Untuk keperluan mapping IP address ke Alamat Ethernet maka di buat protokol ARP (Address Resolution Protocol). Proses mapping ini dilakukan hanya untuk datagram yaang dikirim host karena pada saat inilah host menambahkan header Ethernet pada datagram. Penerjemahan dari IP address ke alamat Ethernet dilakukan dengan melihat sebuah tabel yang disebut sebagai cache ARP, lihat tabel 1. Entri cache ARP berisi IP address host beserta alamat Ethernet untuk host tersebut. Tabel ini diperlukan karena tidak ada hubungan sama sekali antara IP address dengan alamat Ethernet. IP address suatu host bergantung pada IP address jaringan tempat host tersebut berada, sementara alamat Ethernet sebuah card bergantung pada alamat yang diberikan oleh pembuatnya.

2.   Spesifikasi ARP dapat dilihat di RFC 826.



Cara kerja protokol ARP :
            Host Y melakukan broadcast dengan mengirimkan pesan ARP Request, apabila host yang dituju berada dalam satu jaringan maka host tersebut akan mengirimkan pesat ARP Reply yang berisikan informasi MAC. Bila host yang dituju berada dalam jaringan yang berbeda maka yang akan mengirimka ARP Reply adalah Router yang memisahkan jaringan tersebut. Komputer akan menyimpan ARP broadcast request ini kedalam ARP cache. ARP cache ini akan disimpan di RAM dan besifat sementara. ARP cache ini berisi tabel IP host serta phisical address komputer. ARP cache akan bertambah jika ARP Request mendapat jawaban. Anda dapat melihat ARP cache anda dengan mengetik “arp -a” pada CMD. Anda dapat menghapus ARP cache anda dengan mengetik “arp -d ”. Anda juga dapat mengatur sebuah static ARP dengan menuliskan “arp -s ”.

3.    ARP cache ada di directory “hkey_local_machine/software/microsoft/windows/currentversion/app
       management/arpcache/”

4.      ARP-s eth_addr inet_addr] if_addr [
ARP-d inet_addr [if_addr]
ARP-a inet_addr [] [-N if_addr]
-A Menampilkan entri ARP arus oleh menginterogasi arus
protokol data. Jika inet_addr yang ditentukan, IP dan fisik
hanya alamat komputer tertentu akan ditampilkan. Jika
lebih dari satu antarmuka jaringan menggunakan ARP, entri
untuk setiap tabel ditampilkan.
ARP-G Sama seperti-a.
inet_addr Menentukan alamat internet.
ARP-N if_addr Menampilkan entri ARP untuk interface jaringan yang ditentukan oleh if_addr.
-D Menghapus host ditentukan oleh inet_addr. mungkin inet_addr
wildcarded dengan * untuk menghapus semua host.
-S Menambahkan host dan mengasosiasikan alamat Internet inet_addr dengan eth_addr alamat fisik. Alamat fisik
diberikan sebagai 6 byte heksadesimal dipisahkan dengan tanda
hubung. Entri adalah permanen.
eth_addr Menentukan alamat fisik.
if_addr Jika ada, ini menentukan alamat Internet dari
tabel alamat antarmuka yang harus diubah terjemahan
Jika tidak hadir, interface yang berlaku pertama akan digunakan.

5.      Tcpdump dapat membantu kita dalam melakukan analisis yang mendalam terhadap trafik network yang ada pada komputer kita, pada server kita, atau pada jaringan. command pada tcpdump:
# tcpdump -i eth0
Menangkap paket dari antarmuka ethernet tertentu. Ketika dieksekusi perintah tcpdump tanpa pilihan apapun, itu akan menangkap semua paket yang mengalir melalui semua interface. Opsi -i memungkinkan untuk menyaring pada interface ethernet tertentu.
# tcpdump -c 2 -i eth0
Hanya menangkap jumlah ke-N pada paket. Ketika dieksekusi perintah tcpdump, ini memberikan paket sampai membatalkan perintah tcpdump. Menggunakan opsi -c dapat menentukan jumlah paket yang akan ditangkap. Misal, hanya menangkap 2 paket dari intercafe eth0.
# tcpdump -A -i eth0
Menangkap tampilan paket dalam bentuk ASCII. Tambahkan opsi -A untuk mencetak paket dalam bentuk ASCII.
# tcpdump -XX -i eth0
Menangkap tampilan paket dalam HEX dan ASCII. Beberapa pengguna mungkin ingin menganalisa paket dalam nilai hex, tcpdump menyediakan cara untuk mencetak paket dalam format kedua-duanya yaitu format ASCII dan HEX. Gunakan opsi -XX.
# tcpdump -w 08232010.pcap -i eth0
Menangkap paket dan menulis ke file tcpdump memungkinkan untuk menyimpan paket ke file. Kemudian dapat digunakan paket file untuk analisis lebih lanjut. Gunakan opsi -W. Opsi ini menulis paket kedalam file yang diberikan. Ekstensi file harus .pcapyang dapat dibaca oleh setiap protokol jaringan analyzer.
# tcpdump -tttt -r data.pcap
Membaca paket dari file yang disimpan. Dengan menambahkan opsi -r, ini dapat membaca file pcap lalu ditangkap dan melihat paket tersebut untuk di analisis.
# tcpdump -n -i eth0
Menangkap paket dengan alamat IP. Tambahkan opsi -n untuk menangkap paket dan ini akan menampilkan alamat IP dari mesin yang terlibat.
# tcpdump -w g_1024.pcap greater 1024
# tcpdump -w l_1024.pcap less 1024
Membaca paket lebih besar atau lebih rendah dari N byte. Ini hanya dapat menerima paket lebih besar dari jumlah n byte menggunakan filter greater melalui perintah tcpdump dapat pula menerima paket lebih rendah dari jumlah n byte menggunakan filter less.
# tcpdump -i eth0 arp
Hanya menerima paket dari tipe protokol tertentu. Ini dapat menerima paket berdasarkan jenis protokol dan dapat menentukan salah satu dari protokol : fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp dan udp.
# tcpdump -w xpackets.pcap -i eth0 dst 10.181.140.216 and port 22
Menangkap paket untuk IP dan port tujuan tertentu. Paket akan memiliki IP sumber dan tujuan dan nomor port. Menggunakan tcpdump dapat menerapkan penyaring/filter pada sumber atau tujuan IP dan nomor port.
# tcpdump -w comm.pcap -i eth0 dst 16.181.170.246 and port 22
Menangkap paket komunikasi TCP antara dua host. Jika dua proses yang berbeda dari dua mesin yang berbeda berkomunikasi melalui protokol tcp, ini dapat menangkap paket-paket menggunakan tcpdump. Anda dapat membuka file menggunakan comm.pcap dengan network protokol analyzer untuk debug setiap potensi masalah.

6.      WIRESHARK adalah sebuah Network Packet Analyzer. Network Packet Analyzer akan mencoba “menangkap” paket-paket jaringan
dan berusaha untuk menampilkan semua informasi di paket tersebut sedatail mungkin.
cara penggunaan wireshark
      Instalasi WireShark :
                    Untuk instalasi WireShark sepertinya tidak memerlukan perlakuan tambahan apa-apa, apabila kita tidak yakin dengan setingan manual, coba saja instal dengan setingan default installer. Pada saat instalasi WireShark, kita juga akan diminta penginstall WinPcap,apabila tidak mempunyai WinPcap, nanti kita tidak akan bisa meng-capture menggunakan WireShark, namun masih bisa membuka hasil capture-an, oleh karena itu install saja WinPcap.
Menjalankan WireShark
Setelah menginstall WireShark, mari kita mulai menjalankan WireShark.
Jalankan saja lewat shortcut yang ada di start menu seperti ini:


Setelah itu akan muncul Splash Screen dari WireShark yang sedang me-load 



komponen-komponen yang diperlukan                                    
Berikut ini adalah contoh tampilan WireShark yang sedang meng-capture



WireShark ketika sedang mengcapture Meng-Capture Paket dengan WireShark
Kita bisa memulai capture dengan langkah-langkah berikut ini:
Pada menu Capture –> Interfaces



Kemudian kita akan dihadapkan dengan tampilan untuk memilih interface
yang akan kita capture nantinya.
Pilih interface yang akan kita capture, di tutorial ini saya contohkan untuk
meng-capture Inteface “Microsoft”, klik tombol “Start” pada bagian kanan interface
tersebut.
Setelah itu, WireShark akan segera meng-capture paket-paket di dalam
jaringan dan menampilkannya dengan segera. Berikut ini adalah tampilan utama
WireShark saat bekerja meng-capture paket-paket data jaringan.
Tampilan pada program / tools wireshark:
Menu
Di sini kita bisa bernavigasi antar menu-menu yang tersedia di WireShark.
Display Filter
Sebenarnya adalah sebuah kolom, kita akan mengisinya dengan sintaks-sintaks untuk memfilter (membatasi) paket-paket apa saja yang bakalan ditampilkan pada list paket.
Daftar Paket
Di sini akan ditampilkan paket-paket yang berhasil ditangkap oleh WireShark, berurutan mulai dari paket pertama yang ditangkap, dan seterusnya.
Detail Paket
Sebuah paket tentunya membawa informasi tertentu yang bisa berbeda-beda antar paketnya, di sini akan ditampilkan dari detail paket yang terpilih pada Daftar paket di atasnya.
Detail Heksa
Detail paket yang terpilih akan ditampilkan dalam bentuk heksa, terkadang akan lebih mudah bagi kita mendapatkan informasi dari bagian ini.
Pada daftar bagian Daftar Paket, terdapat kolom-kolom seperti berikut ini:
- Time : Menampilkan waktu saat paket tersebut tertangkap
- Source : Menampilkan ip sumber dari paket data tersebut
- Destination : Menampilkan ip tujuan dari paket data tersebut
- Protocol : Menampilkan protokol apa yang dipakai sebuah paket data
- Info : Menampilkan informasi mendetail tentang paket data tersebut.
a) Ketikkan “arp” pada filter box yang tersedia di pojok kiri atas Wireshark. klik enter. Hasilnya akan terlihat seperti berikut.



b) filter dari source atau destination nomor IP yang ditampilkan paket ARP : pada filter input text masukkan :
ip.dst==”IP YANG DI TUJU” && http

post tes (v-class) 5KA32 Sistem Terdistribusi


1. Jelaskan tentang sistem operasi terdistribusi !
2. Sebutkan penerapan procedure RMI dan RPC !
3. Contoh dari penerapan hardware terdistribusi !

1. Sistem Operasi Terdistribusi
Sistem terdisitribusi merupakan kumpulan autonomous computers yang terhubung melalui
sistem jaringan computer dan dilengkapi dengan sistem software tedistribusi untuk
membentuk fasilitas computer terintegrasi.
• Sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan
komputer dan saling berkomunikasi menggunakan message pasing.
• Sebuah sistem yang tersusun oleh dua atau lebih komputer dan memiliki koordinasi proses
melalui pertukaran pesan sinkron atau asinkron
Proses:
- Dijalankan secara bersamaan (execute concurrently)
- interaksi untuk bekerjasama dalam mencapai tujuan yang sama
- mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan
yang dikirim melalui jaringan komunikasi

2. a. RMI (Remote Method Invocation)
RMI biasa digunakan oleh para programer Java untuk dapat memanggil method pada jarak jauh. RMI diartikan sebagai cara programmer Java untuk membuat program aplikasi Java to Java yang terdistribusi. Program-program yang menggunakan RMI bisa menjalankan metode secara jarak jauh, sehingga program dari server bisa menjalankan method di komputer client, dan begitu juga sebaliknya. Java RMI yang ada pada bahasa Java telah didesain khusus sehingga hanya bisa bekerja pada lingkungan Java. Hal ini berbeda dengan
sistem RMI lainnya, misalnya CORBA, yang biasanya didesain untuk bekerja pada lingkungan yang terdiri dari banyak bahasa dan heterogen. Pemodelan objek pada CORBA tidak boleh mengacu pada bahasa tertentu. Sistem RMI terdiri atas tiga layer /lapisan, yaitu :
- stub/skeleton layer, yaitu stub pada sisi client (berupa proxy), dan skeleton pada sisi server. - remote reference layer, yaitu perilaku remote reference ( misalnya pemanggilan kepada suatu objek).
- transport layer, yaitu set up koneksi, pengurusannya dan remote object tracking.
Batas antar masing-masing layer disusun oleh interface dan protocol tertentu, yaitu tiap layer bersifat independen terhadap layer lainnya, dan bisa diganti oleh implementasi alternatif tanpa mengganggu layer lainnya. Sebagai contoh, implementasi transport yang digunakan RMI adalah yang berbasis TCP (menggunakan Java socket), tapi bisa digantikan dengan menggunakan UDP.
Sebuah client yang menjalankan method pada remote server object sebenarnya menggunakan stub atau proxy yang berfungsi sebagai perantara untuk menuju remote server object tersebut. Pada sisi client, reference ke remote object sebenarnya merupakan reference ke stub lokal. Stub ini adalah implementasi dari remote interface dari sebuah remote object, dan meneruskan panggilan ke server object melalui remote reference layer. Stub dibuat dengan menggunakan kompiler rmic.
Supaya sebuat panggilan method tersebut bisa sampai di remote object, panggilan tersebut diteruskan melalui remote reference layer. Panggilan tersebut sebenarnya diteruskan ke skeleton yang berada di sisi server. Skeleton untuk remote object ini akan meneruskan panggilan ke kelas remote object implementation yang menjalankan method yang sebenarnya. Jawaban, atau return value dari method tersebut akan dikirim melalui skeleton, remote reference layer dan transport layer pada sisi client, lalu melalui transport layer, remote reference layer, dan stub pada sisi client. Teknik dalam RMI salah satunya adalah dynamic stub loading, yang berfungsi untuk membuat client me-load stub yang belum ada di komputernya. Stub mengimplementasi remote interface yang sama dengan yang diimplementasikan oleh remote object.
Dengan RMI, komputer client bisa memanggil remote object yang berada di server. Server juga bisa menjadi client dari suatu remote object, sehingga komputer client bisa menjalankan method-method tertentu di komputer server. Dengan menggunakan RMI, program yang dijalankan di komputer client bisa berupa applet, maupun berupa aplikasi.
Program RMI memerlukan remote interface, kelas-kelas implementasi dari remote interface tesebut (implementation class), dan program rmiregistry yang sedang dijalankan di komputer server (rmi registry terdapat dalam paket JDK).
Untuk mengimplementasikan interface tersebut maka diperlukan class yang dapat mengeksekusinya. Implementation class merupakan kelas yang mengimplementasikan remote interface. Implementation class perlu mendefinisikan konstruktor untuk remote object, sekaligus membuat instance dari remote object tersebut. Implementation class juga menyediakan implementasi dari method yang bisa dijalankan secara remote. Selain itu implementation class juga perlu membuat dan menjalankan Security Manager. Tambahan lagi, implementation class juga harus me-register atau mendaftarkan paling tidak sebuah remote object pada RMI remote object registry. Pada program implementation class, semua argumen untuk remote method dan semua return value dari remote method bisa berupa object bertipe apa saja, asal object-object tersebut mengimplementasi interface java.io.Serializable.
Untuk remote objects, penyampaiannya dilakukan dengan pass by reference. Referensi untuk suatu remote object sebenarnya merupakan referensi untuk sebuah stub, yaitu proxy pada sisi client untuk remote object. Pada method main di implementation class, diperlukan pembuatan dan pemasangan sebuah security manager, yang bisa berupa RMI Security Manager, ataupun security manager yang sebelumnya telah didefinisikan dulu secara khusus oleh sang programmer. Security manager ini diperlukan untuk menjaga agar kelas-kelas yang dipakai tidak melakukan operasi-operasi yang bisa mengancam keamanan sistem. Jika dalam method main tidak terdapat security manager, RMI tidak bisa digunakan karena kelas-kelas RMI tidak akann diijinkan untuk di-load.
Protokol yang dipakai oleh RMI adalah Java Object Serialization dan HTTP. Protokol Object Serialization digunakan untuk meneruskan panggilan client dan mentransfer data. Protokol HTTP digunakan untuk mem-"POST" sebuah remote method invocation dan mengembalikan data keluaran untuk situasi ketika komputer client dan server dipisahkan oleh firewall. Contoh implementasi dari RMI di antaranya :
1. Perusahaan programming Avitek yang berlokasi di Amerika Serikat, membuat program sistem accounting untuk intranet yang memungkinkan client untuk meng-update dan mengubah data dengan mudah. Tujuan dari proyek ini adalah untuk membuat dan mendukung pembuatan dari bukti nyata untuk konsep penggunaan Java yang dikombinasikan dengan database.
2. Perusahaan CEAS Consulting yang menyediakan jasa custom reengineering dan otomasi proses untuk perusahaan-perusahaan manufakturing dan teknik, telah membuat program sistem terdistribusi untuk client mereka.

b. RPC (Remote Procedure Call)
Yang dimaksud disini 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 oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client. RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install ke dalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.
RPC mengabstraksi interface komunikasi ke level pemanggilan procedure. Programmer tidak akan menangani socket secara langsung, dan seolah-olah memanggil prosedur lokal, padahal argumen dari prosedur local tersebut dipaketkan dan dikirimkan ke tujuan jarak jauh. Tapi RPC tidak bisa langsung dipakai dalam sistem objek terdistribusi. Dalam sistem objek terdistribusi, diperlukan komunikasi antara objek objek yang ada di level program, yang berada dibanyak tempat.

3. Penerapan Hardware Terdistribusi
Hardware atau perangkat keras komputer adalah merupakan bagian fisik komputer. Dimana hardware terdiri atas beberapa komponen yaitu input device, alat pemroses, storage, dan output device. Untuk sistem terdistribusi sebagai contoh kita bisa saling berbagi pakai fasilitas seperti Scanner, CD-ROM dan Printer.

pre test (v-class 5KA32) Sistem Terdistribusi


Cari contoh dari pendistribusian komponen-komponen Hardware, Program, dan Procedure. Jelaskan!

1. Pendistribusian Komponen Hardware
Contoh:
1. Printer merupakan alat yang menampilkan data dalam bentuk cetakan, baik berupa teks maupun gambar atau grafik di atas kertas. Printer biasanya terbagi atas beberapa bagian, yaitu picker sebagai alat mengambil kertas dari tray. Tray adalah tempat menaruh kertas. Tinta atau toner adalah alat pencetak sesungguhnya, karena ada sesuatu yang disebut tinta atau toner yang digunakan untuk menulis atau mencetak pada kertas. Perbedaan toner dan tinta adalah perbedaan sistem toner atau laser butuh pemanasan, sedangkan tinta atau inkjet tidak butuh pemanasan, hanya pembersihan atau cleaning pada print-head printer tersebut.
2. Hardisk adalah piranti penyimpanan sekunder dimana data disimpan sebagai pulsa magnetik pada piringan metal yang berputar yang terintegrasi. Data disimpan dalam lingkaran konsentris yang disebut track. Tiap track dibagi dalam beberapa segment yang dikenal sebagai sector. Untuk melakukan operasi baca tulis data dari dan ke piringan, hard disk menggunakan head untuk melakukannya, yang berada disetiap piringan. Head inilah yang selanjut bergerak mencari sector-sector tertentu untuk dilakukan operasi terhadapnya. Waktu yang diperlukan untuk mencari sector disebut seek time.
3. CD-ROM merupakan akronim dari Compact Disc Read-Only Memory adalah sebuah piringan kompak dari jenis piringan optik (optical disc) yang dapat menyimpan data. Ukuran data yang dapat disimpan saat ini bisa mencapai 700MB atau 700 juta bit. CD-ROM bersifat read only (hanya dapat dibaca dan tidak dapat ditulisi). Untuk dapat membaca isi CD-ROM, alat utama yang diperlukan adalah CD Drive. Perkembangan CD-ROM terkini memungkinkan CD dapat ditulisi berulang kali (Re Write / RW) yang lebih dikenal dengan nama CD-RW.
4. Modem berasal dari singkatan MOdulator DEModulator. Modulator merupakan bagian yang mengubah sinyal informasi kedalam sinyal pembawa (carrier) dan siap untuk dikirimkan, sedangkan Demodulator adalah bagian yang memisahkan sinyal informasi (yang berisi data atau pesan) dari sinyal pembawa yang diterima sehingga informasi tersebut dapat diterima dengan baik. Modem merupakan penggabungan kedua-duanya, artinya modem adalah alat komunikasi dua arah.

2. Pendistribusian Komponen Program
Contoh:
1. Amoeba merupakan sistem berbasis mikro-kernel yang tangguh yang menjadikan banyak workstation personal menjadi satu sistem terdistribusi secara transparan. Sistem ini sudah banyak digunakan di kalangan akademik, industri, dan pemerintah selama sekitar 5 tahun.
2. Angel didesain sebagai sistem operasi terdistribusi yang pararel, walaupun sekarang ditargetkan untuk PC dengan jaringan berkecepatan tinggi. Model komputasi ini memiliki manfaat ganda, yaitu memiliki biaya awal yang cukup murah dan juga biaya incremental yang rendah. Dengan memproses titik-titik di jaringan sebagai mesin single yang bersifat shared memory, menggunakan teknik distributed virtual shared memory (DVSM), sistem ini ditujukan baik bagi yang ingin meningkatkan performa dan menyediakan sistem yang portabel dan memiliki kegunaan yang tinggi pada setiap platform aplikasi.
3. Chorus merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX, supercomputing, dan kegunaan yang tinggi. Multiserver CHORUS/MiX merupakan implementasi dari UNIX yang memberi kebebasan untuk secara dinamis mengintegrasikan bagian-bagian dari fungsi standar di UNIX dan juga service dan aplikasi-aplikasi di dalamnya.
4. GLUnix sampai saat ini, workstation dengan modem tidak memberikan hasil yang baik untuk membuat eksekusi suatu sistem operasi terdistribusi dalam lingkungan yang shared dengan aplikasi yang berurutan. Hasil dari penelitian ini adalah untuk menempatkan resource untuk performa yang lebih baik untuk aplikasi pararel maupun yang seri/berurutan. Untuk merealisasikan hal ini, maka sistem operasi harus menjadwalkan pencabangan dari program pararel, mengidentifikasi idle resource di
jaringan, mengijinkan migrasi proses untuk mendukung keseimbangan loading, dan menghasilkan tumpuan untuk antar proses komunikasi.

3. Pendistribusian Komponen Procedure
Contoh:
1. RMI (Remote Method Invocation) merupakan 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.
Cara Kerja RMI : Dalam model ini, sebuah proses memanggil method dari objek yang terletak pada suatu host/computer remote. Dalam paradigma ini, penyedia layanan mendaftarkan dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu layanan mengontak server direktori saat runtime, jika layanan tersedia, maka referensi ke layanan akan diberikan. Dengan menggunakan referensi ini, proses dapat berinteraksi dengan layanan tsb. Paradigma ini ekstensi penting dari paradigma RPC. Perbedaannya adalah objek yang memberikan layanan didaftarkan (diregister) ke suatu layanan direktori global, sehingga memungkinkan untuk ditemukan dan diakses oleh aplikasi Yang meminta layanan tersebut.
2. RPC (Remote Procedure Call) merupakan 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 ).Protokol RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi.
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.