Kamis, 03 Desember 2015

Percobaan ARP

PERCOBAAN
1. Buka terminal dan jalankan command  arp –a pada host anda masing-masing, catat dan amati hasilnya. Apa maksud output yang dihasilkan command arp –a.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiInM9WHVaSgYaPzts2sYStIKSsOSQOgaiRO2XVgp0WNt1Psby-OnqzCAEnu3P5gpkbnYQltL07hQ7DPk38TEYh9fHmLyGBhJHCzQ7WhCAbbZy5xydSkXCcdYcg9uUqzEh3ghM7Qxu0zVpB/s400/percobaan+1.png

Maksud dari command arp -a adalah untuk menampilkan informasi IP Address yang terhubung pada PC kita, dan juga menampilkan MAC Address.


2. Lakukan command ping no_ip , pilih no_ip yang tidak terdaftar pada hasil percobaan 1 tapi masih dalam satu jaringan.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9XOY_W3gI83rVFfxnDEZVZJXlrvKVe86W-X2_MdWkSzBLhtYD9ndOzc0kFpE_mu8xMP2dvoCQ5G6wL88wtan01kkdZGTveZaBuh91fQOESGHbH7dDtr-U48bZ3971DicLjwR2BczPbud/s400/percobaan+2.png


3. Jalankan perintah arp –a sekali lagi. Amati pada perbedaan output dibanding waktu percobaan no 1.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHWVhWcXCLbAw-AQFXBRlZwiTH9YKJ7KqD267YGOQjrf6xIHZWESh2YGLIW7knsHW3czLPkat7_2Gnr1-R4yq1l4WWGqKuXaM_KapDJN_d46lJk5eUm1HfXTBKRLs4A_JL3YScBJEoi3Pv/s400/percobaan+3.png

4. Lakukan command ping no_ip , pilih no_ip yang sudah terdaftar pada percobaan no 1.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD_RVX-A0BCWX3D5h5KB_yXL2XsgfAXDEGPzwUsZNhD7Wiig3ln6ytr4ODbXOkqXT1e_HIF750DCpQcy_7BQyT7x22j0o2HTe0-zqwxFabm_usj2iHNCjfvlgnA3nMCRb3qBkirkp9huE_/s400/percobaan+4.png

5. Jawab pertanyaan berikut ini : Kenapa bisa terjadi perbedaan hasil percobaan meskipun kita memakai command yang sama, jelaskan secara singkat.
 
Karena PC kita baru saja terhubung ke alamat IP baru (melakukan perintah ping pada percobaan 2), dan fungsi arp -a itu sendiri adalah menampilkan informasi IP Address yang terhubung pada PC kita.
6. Kita bisa melakukan pengurangan ARP Cache atau disable ARP Cache, lakukan percobaan di bawah ini :
 
a. Jalankan command arp –d hostname (pakai salah satu hostname yang terdaftar pada Arp cache). Amati hasilnya dengan menjalankan command arp –a.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWjPsYoGJ5NbYnklc7WjAhR_KJp7XeDXRmtoGExB5D2rgkR8yDF1Lg9s0V7toT-RRBM7nUd2VGg-cWT3R3mVsNzAGyvL5-O45esH5IfhhxrjB-IdGd7l_ta21DRZTpQ5i1bwhe3ojBBBeX/s400/percobaan+6a.png

b. Jalankan command berikut : ifconfig eth0 –arp down, amati hasilnya dengan menjalankan arp –a.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibF_BLAvxXhxb_LuPU-0msLRFwhwUGk37rXuW_AkrdiD-nF_8zBFphnh4eWZLYmcheLOZ61tlZYjO7hjvvb63_zzE4EWdPNVL39EVPsLYaqm3D02g6XWDq0TYufzZJ3YnmABDTLZkutpCb/s400/percobaan+6b.png

c. Jalankan perintah ping ke komputer sebelah apa yang terjadi ? NB : Dengan perintah pada b, maka jika dicek dengan ifconfig akan muncul NOARP.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8O2ESTEmQvd4ob4u5ne4oKMFckbxddAkr7AvavTVR4ftB9Bed6LHCHDKZLsFIhe4uMoaPlrMXiEZie1herpssHcYxNibJlkULL_L0MhtutNoHp4pno4_j8S4a9B7BEt18w3SWyiudzN55/s400/percobaan+6c.png

Yang terjadi adalah perintah ping gagal, dengan pesan error “Network is unreachable”.

7. Setelah selesai melakukan percobaan 6, untuk menormalkan koneksi jaringan, jalankan perintah berikut :
 
a. ifdown eth0
 
b. ifup eth0
 
c. ifconfig eth0 arp up  -> jika dicek dgn ifconfig, NOARP akan hilang
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC4WYEFBgYCasWSr4FODGI2XWGcBMUgKBr-6ujgZZ4F3K-7Vv5DiurmY3EYHy3Ama9Nv2PV_evhllfn-XVQeqNdrhj2ikY7_PqKSsNl9daYsUufPm3JhMl62KRdtNh36Nb5vU-GzKsJA78/s400/percobaan+7abc.png
d. arp –a 
e. ping ke komputer sebelah
 
f. Catat semua hasilnya, dan bandingkan dengan percobaan 6. Berikan kesimpulan.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijdV-MjwjrJzSuKa0b9TBj50DRR_mP60kzJy1WLOjj-vcdioUcuVJ0qfGLeDrsHAyKcR3SiL1_Yktoi6B8y7GRtDcod2QYGbHrDGHqfZOowiimpmsxfFbuMlgpMn8pcirCu8tYt_4RrFyR/s400/percobaan+7def.png

Ketika telah menjalankan perintah ada yang pada percobaan nomor 7, koneksi jaringan menjadi pulih kembali, hal ini ditandakan dengan berhasilnya perintah “ping” dan “arp –a”.

8. Selain melakukan pengurangan juga bisa melakukan penambahan Arp Cache, lakukan command berikut : 
 
arp –s hostname phisical_address 
 
Sebelum anda mengetik no phisical_address cari dulu di komputer teman anda dengan command ifconfig. 
 
Selanjutnya jalankan command arp -a Amati hasil percobaan, berikan kesimpulanmu.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUVk0e5L4OBZD_FvHmm6W0PYN1S53ItG_uoIR7YYqn07m-Tcqkclq1Fcp69V8mWmspCnrEQxZK4OHkQBLET5HJLxlNdkxy_4rvbj5-KxDbUFeV7ESOXQrAFImc1kRatURjN27k4L3Rnjh0/s400/percobaan+8.png
Dengan menggunakan perintah “arp –s hostname physical address” kita telah menambahkan informasi baru tentang sebuah IP Address ke dalam ARP TABLE, hal ini dibuktikan dengan munculnya informasi baru ketika kita menjalankan perintah “arp –a” setelah melakukan perintah penambahan.

9. Untuk melakukan pengintaian kita bisa juga memakai tcpdump. Bukalah terminal baru dan jalankan  tcpdump, biarkan tcpdump berjalan. Cobalah beberapa varias command-command tambahan di tcpdump untuk mengintai paket yang lewat, misal tcpdump –n, tcpdump –n –t, tcpdump –n –t –e, tcpdump –i eth0, tcpdump –X –i eth0
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi4rbrEW51KSazdjCy2xO-YHX03DL4qK0Ie4_55lFZgVq9Y23isC9yANZZA49KWYgUeFaIdNBUNWD5M3nNTJEWPdaR3Z6fam-MzgCi3Mwg82hZymqSe-pxopEY3XHkHk08yMztp3yh8dub/s400/percobaan+9-tcpdump.png
Hasil ketika menjalankan perintah tcpdump.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLY6mqQhlg-L8-WgwEa1yD_HYTdTgWGnjtc2BwmwdiWE8fc9Mz7fFprd2B5j-GTELr0TjId3Km3qcHgTeiUJLyamfnTyXZklnhuyhmUFzvjzz1QmV68q2YHVvPjfykjFEGLi5lpIUDpk6V/s400/percobaan+9-tcpdump-i+eth0.png

Hasil ketika menjalankan perintah tcpdump –I eth0.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJdpI8Tg_JOySsNbMRvG9xVUeNtZ_SffhFuWglMUBtq0TI1EnyXS9H46dx7bKoZX5HnFGlTOdvPAvSSXb601a59x4RFzgh1HcKT0dRMOlAb0is7EZflpB3nIYWmKBgki0LSfQY-YwuqCFp/s400/percobaan+9-tcpdump-n.png

Hasil ketika menjalankan perintah tcpdump –n
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6fFktuORrMO-kJHDljQaY5nwJDQ_J61oCxwjoN-s7Bj0Z6A1xLD8NLXpROW7FNxRtdLif2FPWSiz5wPBtpbNjTOH1zEBRSD9aUCTDtolkbl1vtkZj8UIr-E50oVQow_jAkRH4lE6-EgTZ/s400/percobaan+9-tcpdump-n-t.png

Hasil ketika menjalankan perintah tcpdump –n –t
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI0aj93eGcdvAb6RQho-hyOJyG0oSMiLO5V3jvz9JIuKpg8YIhPsdkcAtvwXMLcfd01MDDBttZGjwdLSmf1KVjH0WpgSj2nEGIcM2QY4XMVK5ZROq5kyLHpFYQTbj5xPrWNjo5EY1Htqm0/s400/percobaan+9-tcpdump-n-t-e.png

Hasil ketika menjalankan perintah tcpdump –n –t –e
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX77lAiWbJcQ5iBP08PzpZFKDHVeFOwrIC2hoCPlkeTLHZOsDJGPgB1K1-HXPsDuoDf0Ix7C_iIQfBO4vzuw6SaPLNzafA0enkjhvfHAZNcrKRzfYXeCLs3fqbUiZgImcRfSa7ojnnIedV/s400/percobaan+9-tcpdump-X-i+eth0.png

Hasil ketika menjalankan perintah tcpdump –X –I eth0

10. Buka kembali terminal baru, lakukan langkah berikut pada terminal baru dan tulis hasil percobaannya:
 
a. Jalankan perintah ping ke komputer satu jaringan. Amati hasil tcpdump.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC54DT-WEJMrWxzXwqkkV9os5iWilzRvgLuS4utThuAfblugV-I0Ism1v_YKMBYNzx-XiN6yQ5Dnz6n5vn8t6Ax2ixhhPb4M9oCH7P8V9SBIXBXBVP0LqjXGOc-r4pOYcXQxHUytbD_9ux/s640/percobaan+10a.png

b. Jalankan perintah arp –a, catat hasilnya
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAUP-Giy7LqOfM_29GDzLpmyQhiMaaCBldhL8BmHHtN4KldiQuWe5gT8g9HewUP7UDvtm7DHTh9gxbVysSRC4ozg8w8gKN-0KZ-6zGkl58q0wYMKNSSi4-qPO-NjsG24Yx4DweaA4cBnKR/s400/percobaan+10b.png

c. Jalankan perintah ping ke komputer diluar jaringan kita, amati hasilnya di tcpdump.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibSKk-Ws8F4nOxCRDdIKIPxOcAJG764uaNzRCg3qeBffrV9zUxFJMc7g-jgYSyA3wvCPO8vgeYAfdJDjGV4rryANhIcxSHgLXgt3cyF6l_krsiDVe7ywycHplYokWWodxyUfdMpAT5crqO/s640/percobaan+10c.png

d. Jalankan arp –a, analisa hasilnya. Amati pada tabel arp ketika kita berhubungan dengan komputer diluar jaringan, apa yang tertera pada tabel arp ?
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL-MRp7QMm9PxtSU7OeS_qsMINXzXtqCQJK7171PoLDLShtBYPFid3_JhRFo9d0OSj-B3xK8yskKPxGcuR3nY5biUw4VVkb3w_vVAorfXm0hn5_iHhDrKx0TDkcfAKAy1tV6r2Uo0LMEm6/s400/percobaan+10d.png

Arp menunjukkan terjadi sebuah “incomplete data” pada eth0

e. Hapus semua ip yang terdaftar pada arp dengan perintah arp –d nomorip. Setelah semua terhapus jalankan kembali percobaan a, amati hasilnya di tcpdump.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK-pR1p6DoUDTRUSQjIJMbNj_sEH44HDiPd0e4ViBr79n0iyBj7sPP3aDvsMGy7bLHhGRJgn92Lh86e7gR5mUnym3ZJxF27z_IurG6ZDCe466tyKYtHLyKndQM2cMJUpyohFd_EonTu73q/s640/percobaan+10e.png

f. Jalankan percobaan b dan c kembali dan amati hasilnya di tcpdump.
 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMFVGcpiRJay6v80gkoHC1lHdv_u9DZ6FwREPYyhxxv0jX7F4-qfboOEgJ0oBHXCyn3SXESTCV_grWMmjQgI1QbLu5389iTc1BeG3iQpHuQTJh2qc6rt0CVQgZxNDV6IiWQRw6um2qoN0I/s640/percobaan+10f.png

g. Jalankan browser dan masuklah ke www yang anda suka. Amati traffic yang ada pada tcpdump. Analisa hasil percobaan anda apa maksud output yang dihasilkan.
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUv12J59stvt2SyaDelLuD77f5pfh3GGx0aOiLYJV_6cM5ywQmZMsCS8KQ8JMmDnWobMap3cJMP6IDJC6wj_pdud0x37BhtJSfcuuvRcGTDDDc8p78KxnnGOvDfa8Yi6Jn2DAl2YU3iSTg/s640/percobaan+10g.png
Dari percobaan 10, didapat info bahwa tugas tcpdump ini adalah untuk menangkap informasi-informasi paket data yang sedang berjalan. Tcpdump itu sendiri juga mempunya banyak fungsi command, seperti yang kita lakukan pada percobaan 9. Dan ketika kita sedang mengakses sebuah situs pada browser, dengan melihat pada output hasil tcpdump kita dapat melihat proses paket data dari PC kita dengan website yang sedang kita buka. 
Contohnya:
192.168.0.10.55304 > 68.232.44.251.http maksudnya adalah PC kita me-request sebuah paket “http” pada IP 68.232.44.251 dengan time stamp 55304.
Ack 23169 itu merupakan nomor paket data.
Length 1448 maksudnya adalah total panjang header dan panjang data yang dikirimkan sepanjang 1448.

11. Dengan menggunakan langkah yang sama seperti pada percobaan 10, gunakan paket wireshark
 
a. Pastikan wireshark sudah terinstal pada komputer anda
b. Buka terminal baru dan jalankan wireshark pada terminal tersebut
 
c. Mulailah mencapture data menggunakan wireshark dan filter hanya paket arp dan icmp (ping merupakan paket icmp)
 
d. Jalankan percobaan 10.a – 10.g amati hasilnya di wireshark
 
e. Amati juga pada bagian data di wireshark, bandingkan dengan isi paket pada tcpdump
Pada wireshark isi paket data lebih mudah untuk dipahami karena pada wireshark sudah isi paket data terbagi kedalam beberapa kategori.
f. Catatlah paket wireshark (src mac, dst mac, src ip, dst ip) jika kita berhubungan dengan komputer diluar kita, amati dan buat analisa yang terjadi.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUYwksqab8TbASonv1m-GOs1_0gUE999Glnv1Jcr7XfdN8MY8LAhGunzCR6KpsDyAiojF1qCY0fdIZj0HXRzp4KgyU-zgiv-taZXrFP74vX0Xaz6RwINQNi1pcUuoLBPHcAoDbQKxAsoG0/s640/percobaan+11+hasil+capture+ping+dari+wireshark.png

Hasil ketika melakukan perintah “ping” ke komputer lain yang terhubung dengan komputer kita. Dari gambar di atas bisa kita lihat ketika perintah “ping” kita jalankan dan berhasil, wireshark memunculkan pesan “reply” dan wireshark juga menampilkan berapa lama waktu yang dibutuhkan dalam menerima paket data dari komputer lain.
Sedangkan untuk proses “ping” yang gagal bisa dilihat dari gambar di bawah ini, wireshark hanya menampilkan pesan “request” dan tidak ada pesan “reply”, maksudnya adalah komputer kita telah melakukan sebuah request paket data ke komputer dengan IP 192.168.0.100 yang dimana IP tersebut bukan dalam 1 jaringan dengan komputer kita. Dikarenakan IP tersebut tidak dalam 1 jaringan dengan komputer kita, maka pesan request dari komputer kita tidak akan sampai. Oleh karena itu wireshark tidak memunculkan pesan “reply”.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7tY26dP3pbS3SRfFvflQnsRmkK7QxWqf85HvJxXjI_5PiWu1FGbITjyd5u4FEt3yKZYH0X3vk_WMGuiUv8EqQ4akaTmx5W2h0jIm0_FS0pBqp0gD0U834xQi3kuOiZjPWhd9IXhHWfckG/s640/percobaan+11+hasil+capture+ping+gagal+dari+wireshark.png


Sabtu, 28 November 2015

Implementasi RPC

Implementasi RPC



Pada bagian ini akan dibahas, bahasa yang digunakan pada RPC, port mapper untuk prosedur RPC, pemodelan RPC pada layer, dan cara kerja RPC. Remote Procedure Call (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 dilakuan 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 kedalam 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.

Bahasa RPC 

Bahasa RPC (RPC Language - RPCL) merupakan bahasa yang dikembangkan dari bahasa XDR. Bahasa RPC memiliki kemiripan dengan bahasa XDR namun dengan beberapa penambahan yaitu program definisi. Implementasi layanan protokol dan rutin menggunakan command rpcgen yang berkorespondensi dengan bahasa pemprograman C. Deskripsi dari bahasa RPC meliputi: 

1. Definition 
File dengan bahasa RPC memiliki beberapa definisi, diantaranya adalah enum, struct, union, typedef, const, dan program. 
2. Structure 
Struktur pada bahasa RPC dideklarasikan seperti pada pendeklarasian struktur dalam bahasa C. 
3. Union 
Union pada bahasa RPC berbeda dengan bahasa C. Kemiripan lebih ditunjukkan dengan variasi pada bahasa Pascal. 
4. Enumeration 
Enumerasi pada bahasa ini memiliki syntax yang sama dengan bahasa C. 
5. TypeDef 
Tipe Definisi (Typedef) pada bahasa ini memiliki syntax yang sama dengan typedef pada bahasa C. 
6. Constant 
Constant pada bahasa ini dapat digunakan jika variabel integer konstan dibutuhkan. 
7. Program 
Program RPC dideklarasikan dengan syntax berikut secara berurutan: program definiton, version-list, version, procedure-list, procedure. 
8. Declarations
Dalam bahasa ini, terdapat empat jenis tipe deklarasi yaitu: simple declarations, fixed-length array declarations, variable-length declaration, dan pointer declaration.

Lapisan RPC

Bagian antar-muka (interface) dari RPC dibagi menjadi 3 lapisan/bagian (layer) yaitu:

1. Lapisan Tertinggi (Highest Layer)
Lapisan ini merupakan lapisan yang bersentuhan langsung dengan sistem operasi, mesin dan jaringan tempat RPC berjalan. Layer ini umumnya banyak digunakan pada pembuatan dan pemprograman RPC karena penggunaan layer ini sama saja dengan penggunaan RPC. Banyak servis/layanan pada layer ini yang berhubungan langsung dengan informasi yang banyak dibutuhkan.

2. Lapisan Menengah (Intermediate Layer)
Lapisan ini merupakan implementasi dari RPC sesungguhnya. Pada layer ini, seorang user tidak harus berhubungan dengan soket, sistem operasi atau implementasi lo-level lainnya. Pada layer ini, seorang user hanya melakukan proses remote pada suatu mesin. Layer ini merupakan layer yang digunakan untuk semua program RPC.

3. Lapisan Terendah (Lowest Layer)
Lapisan ini merupakan lapisan yang mengatur tentang soket dan sistem call. Lapisan ini tidak memberikan data dan servis secara detail untuk dapat digunakan. Umumnya program yang dibuat untuk lapisan ini merupakan program yang paling efisien. Permasalahan yang timbul pada sistem ini berkaitan dengan penyesuaian implementasi RPC untuk sistem operasi yang berbeda.

Model dan Cara Kerja RPC
Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel. Namun selain itu ada yang disebut dengan Prosedur Call remote, yang berarti pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan melalui suatu jaringan. Sistem prosedurremote ini memiliki cara kerja yang sedikit banyak mirip, namun berbeda dengan prosedurcall biasa. Berikut adalah gambar cara kerja dari RPC.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3j9Tl-Ddq_HNQ2ih4If-bsEtlaxXHDju2mLipYPGMh0HD_DRcR9sipwWEIp21Ars37vi_bwbBMqMkN6zWmRKcKOZoAeBb_aTNC58NfcszZWQAN_RZRfZRLR1lLN7gVuwyUpbH6qy2J-iB/s320/capture-20140318-094240.png

Client procedure calls client stub in normal way. 
Client's OS sends message to remote OS. 
Remote OS gives message to server stub. 
Server stub unpacks parameters, calls server. 
Server does work, returns result to the stub. 
Server stub packs it in message, calls local OS. 
Server's OS sends message to client's OS. 
Client's OS gives message to client stub. 
Stub unpacks result, returns to client. 
Tiap prosedur yang dipanggil dalam RPC, 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. (Newmarch, 1995). Server harus membaca tiap parameter yang diberikan, kemudian memberikan prosedur lokal yang sesuai dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus mengirimkan hasil kepada pihak pemanggil proses.

Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur RPC.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQSprUgVZKaMGIinf8PsRS2o3hWsvpeCoht_AMN8-j9DqsqNsJSgNBv_1IXfnlrUWE0ojRrTudmmlfasD4QnD0sruU1JPWXsPGduIdpeXP37lJRZHmeTkAtnfuiZt2ejQ1xWBxis1p0IN1/s320/capture-20140318-095301.png
Berikut penjelasan dari diagram diatas: 
Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling. 
Fungsi Network pada O/S (Operating System - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message. 
Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented. 
Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim oleh network. 
Stub pada server kemudian mengeksekusi prosedur panggilan lokal. 
Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server. 
Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan (hasilnya) kembali ke jaringan. 
Message ini akan dikirim kembali ke klien. 
Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan. 
Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.