複製鏈接
請複製以下鏈接發送給好友

RPC協議

鎖定
RPC協議是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。
中文名
RPC協議
所屬類型
協議

RPC協議簡介

RPC協議
英文原義:Remote Procedure Call Protocol
中文釋義:(RFC-1831)遠程調用協議 ,最初由RFC-1050定義。
RPC協議假定某些傳輸協議的存在,如TCPUDP,為通信程序之間攜帶信息數據。在OSI網絡通信模型中,RPC跨越了傳輸層應用層。RPC使得開發包括網絡分佈式多程序在內的應用程序更加容易。
RPC採用客户機/服務器模式。請求程序就是一個客户機,而服務提供程序就是一個服務器。首先,調用進程發送一個有進程參數的調用信息到服務進程,然後等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息的到達為止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答覆信息,然後等待下一個調用信息,最後,客户端調用過程接收答覆信息,獲得進程結果,然後調用執行繼續進行。
目前,有多種RPC模式和執行。最初由Sun公司提出。IETF ONC憲章重新修訂了Sun版本,使得ONC RPC協議成為IETF標準協議。現在使用最普遍的模式和執行是開放式軟件基礎的分佈式計算環境(DCE)。
遠程過程調用(RPC)信息協議由兩個不同結構組成:調用信息和答覆信息。

RPC協議RPC 調用信息

:每條遠程過程調用信息包括以下無符號整數字段,以獨立識別遠程過程:
程序號(Program number)
程序版本號(Program version number)
過程號(Procedure number)
RPC 調用信息主體形式如下:
struct call_body {unsigned int rpcvers;unsigned int prog;unsigned int vers;unsigned int proc;opaque_auth cred;opaque_auth verf;1 parameter2 parameter . . .}

RPC協議RPC 答覆信息

RPC 協議的答覆信息的改變取決於網絡服務器對調用信息是接收還是拒絕。答覆信息請求包括區別以下情形的各種信息:
RPC 成功執行調用信息。.
RPC 的遠程實現不是協議第二版,返回 RPC 支持的最低和最高版本號。
在遠程系統中,遠程程序不可用。
遠程程序不支持被請求的版本號。返回遠程程序所支持的最低和最高版本號。
請求的過程號不存在。通常是呼叫方協議或程序差錯。
RPC答覆信息形式如下: 
enum reply_stat stat {MSG_ACCEPTED = 0, MSG_DENIED  = 1 };