1 rpc介紹
rpc(remote procedure call protocol)——遠端過程呼叫協議,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協 議。 rpc採用客戶機/伺服器模式。請求程式就是乙個客戶機,而服務提供程式就是乙個伺服器。首先,客戶機呼叫程序傳送乙個有程序引數的呼叫資訊到服務程序,然後等待應答資訊。在伺服器端,程序保持睡眠狀態直到呼叫資訊的到達為止。當乙個呼叫資訊到達,伺服器獲得程序引數,計算結果,傳送答覆資訊,然後等待下乙個呼叫資訊,最後,客戶端呼叫程序接收答覆資訊,獲得程序結果,然後呼叫執行繼續進行。rpc有多種模式和執行,目前使用最多的是開放式軟體基礎的dce(分布式計算環境)。在分布式環境中,客戶機和伺服器在不同的機器上執行,客戶端呼叫在伺服器端執行的過程,並把結果傳送回客戶機。這稱為遠端過程呼叫 (rpc),是 rpc 程式設計的基礎。使用 rpc 程式設計是在分布式環境中執行的客戶機和伺服器應用程式之間進行可靠通訊的最強大、最高效的方法之一。
2.rpc執行流程:
r一次客戶機對伺服器的rpc呼叫,其內部操作大致有如下十步:
1.呼叫客戶端控制代碼;執行傳送引數
2.呼叫本地系統核心傳送網路訊息
3.訊息傳送到遠端主機
4.伺服器控制代碼得到訊息並取得引數
5.執行遠端過程
6.執行的過程將結果返回伺服器控制代碼
7.伺服器控制代碼返回結果,呼叫遠端系統核心
8.訊息傳回本地主機
9.客戶控制代碼由核心接收訊息
10.客戶接收控制代碼返回的資料
3、遠端過程協議架構
遠端過程協議由兩個不同的結構組成:呼叫資訊和答覆資訊
3.1 rpc 呼叫資訊:每條遠端過程呼叫資訊包括以下無符號整數字段,以獨立識別遠端過程: struct call_body ;
3.2 rpc 答覆資訊:rpc 協議的答覆資訊的改變取決於網路伺服器對呼叫資訊是接收還是拒絕。答覆資訊請求包括區別以下情形的各種資訊:
rpc 成功執行呼叫資訊。.
rpc 的遠端實現不是協議第二版,返回 rpc 支援的最低和最高版本號。
在遠端系統中,遠端程式不可用。
遠端程式不支援被請求的版本號。返回遠端程式所支援的最低和最高版本號。
請求的過程號不存在。通常是呼叫方協議或程式差錯。
rpc答覆資訊形式如下:
enum reply_stat stat
;rpc 成功執行呼叫資訊。.
rpc 的遠端實現不是協議第二版,返回 rpc 支援的最低和最高版本號。
在遠端系統中,遠端程式不可用。
遠端程式不支援被請求的版本號。返回遠端程式所支援的最低和最高版本號。
請求的過程號不存在。通常是呼叫方協議或程式差錯。
rpc答覆資訊形式如下:
enum reply_stat stat
;
RPC簡介以及衝擊波介紹
什麼是rpc漏洞?英文原義 remote procedure call protocol 中文釋義 rfc 1831 遠端過程呼叫協議 註解 一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如 tcp或 udp,為通訊程式之間攜帶資訊資料。在 ...
RPC 程式設計
anupama bindu,資深軟體工程師,ibm srinath karanam,軟體工程師,ibm 簡介 使用 rpc 程式設計是在客戶機和伺服器實體之間進行可靠通訊的最強大 最高效的方法之一。它為在分布式計算環境中執行的幾乎所有應用程式提供基礎。本文介紹 rpc 客戶機和伺服器之間基本的事件流...
RPC 程式設計
簡介 任何 rpc 客戶機 伺服器程式的重要實體都包括 idl 檔案 介面定義檔案 客戶機 stub 伺服器 stub 以及由客戶機和伺服器程式共用的標頭檔案。客戶機和伺服器 stub 使用 rpc 執行時庫通訊。rpc 執行時庫提供一套標準的執行時例程來支援 rpc 應用程式。了解執行時例程的內部...