Remote Procedure Call

פרוטוקולים במודל TCP/IP
שכבת יישום
HTTP, SMTP, FTP, DNS, DHCP, SSH, RTP, RTSP, IRC, SNMP, SIP, IMAP4, MIME, TELNET, RPC, SOAP, LDAP ...
שכבת תעבורה
TCP, UDP, SCTP, DCCP ...
שכבת רשת
IP, IPv4, IPv6, ICMP, IPX, IGMP ...
שכבת קשר
Ethernet, 10BASE-T, 802.11 WiFi, Token ring, FDDI, ARP...
מבט כולל על RPC

הפעלת פרוצדורות מרוחקותאנגלית: Remote Procedure Call או RPC) היא טכנולוגיה לתקשורת בין יישומים המאפשרת לתוכנית מחשב להפעיל פרוצדורה במרחב כתובות אחר (בדרך כלל במחשב אחר) באופן שקוף, כלומר ללא צורך ביישום פרטני של פרוטוקול התקשורת. באמצעות RPC מפתח התוכנה יכול לכתוב את אותו הקוד בין אם הוא רץ מקומית על המחשב המריץ אותו או על מחשב מרוחק ברשת.

באמצעות RPC ניתן לממש תקשורת שרת לקוח, כך שהלקוח מפעיל על השרת את הפונקציה הרצויה תוך העברת הפרמטרים הנדרשים וממתין ממנו לקבלת התשובה, שבמרבית הפעמים עד לקבלתה הלקוח לא יכול להמשיך בפעולתו.

הבדל משמעותי בין הרצת הפונקציה מקומית לבין הרצתה באופן מרוחק הוא היכולת להבין את תוצאת פעולתה במידה של תקלה ברשת. אם הפונקציה נכשלה בהרצתה מרחוק, המחשב המקומי לא יכול לדעת האם היא בוצעה או לא. אם הפונקציה אידמפוטנטית (כלומר שהרצתה יותר מפעם אחת לא משנה דבר במערכת) אזי הבעיה פתורה שכן ניתן להריצה שוב ושוב עד להצלחה ודאית. אולם אם הפונקציה אינה כזו, יש להתייחס למשמעות הכישלון בהרצתה ולהגיב בהתאם, במיוחד אם מדובר במערכות עדינות.