遠端程序呼叫協議(RPC)

來源:互聯網
上載者:User

標籤:proc   param   lan   第二版   ram   cal   檢驗   size   baidu   

 RPC(Remote Procedure Call Protocol)——遠端程序呼叫協議,它是一種通過網路從遠端電腦程式上請求服務,而不需要瞭解底層網路技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通訊程式之間攜帶資訊資料。在OSI網路通訊模型中,RPC跨越了傳輸層和應用程式層。RPC使得開發包括網路分布式多程式在內的應用程式更加容易。RPC採用客戶機/伺服器模式。請求程式就是一個客戶機,而服務提供者就是一個伺服器。首先,客戶機調用進程發送一個有進程參數的調用資訊到服務進程,然後等待應答資訊。在伺服器端,進程保持睡眠狀態直到調用資訊到達為止。當一個調用資訊到達,伺服器獲得進程參數,計算結果,發送回覆資訊,然後等待下一個調用資訊,最後,用戶端調用進程接收回覆資訊,獲得進程結果,然後調用執行繼續進行。有多種 RPC模式和執行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC RPC 協議成為 IETF 標準協議。現在使用最普遍的模式和執行是開放式軟體基礎的分散式運算環境(DCE)。   工作原理(以Windows下為例)運行時,一次客戶機對伺服器的RPC調用,其內部操作大致有如下十步:1.調用用戶端控制代碼;執行傳送參數2.調用本地系統核心發送網路訊息3.訊息傳送到遠程主機4.伺服器控制代碼得到訊息並取得參數5.執行遠程過程6.執行的過程將結果返回伺服器控制代碼7.伺服器控制代碼返回結果,調用遠程系統核心8.訊息傳回本地主機9.客戶控制代碼由核心接收訊息10.客戶接收控制代碼返回的資料RPC OVER HTTPMicrosoft RPC-over-HTTP 部署(RPC over HTTP)允許RPC用戶端安全和有效地通過網際網路連線到RPC 伺服器程式並執行遠端程序呼叫。這是在一個名稱為RPC-over-HTTP 代理,或簡稱為RPC 代理的中介軟體的協助下完成的。RPC 代理運行在IIS電腦上。它接受來自Internet 的RPC 請求,在這些請求上執行認證,檢驗和訪問檢查,如果請求通過所有的測試,RPC 代理將請求轉寄給執行真正處理的RPC 伺服器。通過RPC over HTTP,RPC用戶端不和伺服器直接通訊,它們使用RPC 代理作為中介軟體。  協議結構遠端程序呼叫(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回覆資訊形式如下:enum reply_stat stat{MSG_ACCEPTED = 0,MSG_DENIED = 1 }; 

遠端程序呼叫協議(RPC)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.