遠程過程調用(RPC)是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC 協議假定某些傳輸協議的存在,如 TCP 或 UDP,為通信程序之間攜帶信息數據。在 OSI 網絡通信模型中,RPC 跨越了傳輸層和應用層。RPC 使得開發包括網絡分布式多程序在內的應用程序更加容易。
RPC 采用客戶機/服務器模式。請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,調用進程發送一個有進程參數的調用信息到服務進程,然后等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息的到達為止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,然后等待下一個調用信息,最后,客戶端調用過程接收答復信息,獲得進程結果,然后調用執行繼續進行。
目前,有多種 RPC 模式和執行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC PRC 協議成為 IETF 標準協議。現在使用最普遍的模式和執行是開放式軟件基礎的分布式計算環境(DCE)。
|