遠端過程呼叫協議

2022-06-18 03:18:10 字數 1616 閱讀 5680

rpc(remote procedure call)—遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式多程式在內的應用程式更加容易。

rpc採用客戶機/伺服器模式。請求程式就是乙個客戶機,而服務提供程式就是乙個伺服器。首先,客戶機呼叫程序傳送乙個有程序引數的呼叫資訊到服務程序,然後等待應答資訊。在伺服器端,程序保持睡眠狀態直到呼叫資訊到達為止。當乙個呼叫資訊到達,伺服器獲得程序引數,計算結果,傳送答覆資訊,然後等待下乙個呼叫資訊,最後,客戶端呼叫程序接收答覆資訊,獲得程序結果,然後呼叫執行繼續進行。

有多種 rpc模式和執行。最初由 sun 公司提出。ietf onc 憲章重新修訂了 sun 版本,使得 onc rpc 協議成為 ietf 標準協議。現在使用最普遍的模式和執行是開放式軟體基礎的分布式計算環境(dce)。

編輯執行時,一次客戶機對伺服器的rpc呼叫,其內部操作大致有如下十步:

1.呼叫客戶端控制代碼;執行傳送引數

2.呼叫本地系統核心傳送網路訊息

3.訊息傳送到遠端主機

4.伺服器控制代碼得到訊息並取得引數

5.執行遠端過程

6.執行的過程將結果返回伺服器控制代碼

7.伺服器控制代碼返回結果,呼叫遠端系統核心

8.訊息傳回本地主機

9.客戶控制代碼由核心接收訊息

10.客戶接收控制代碼返回的資料

microsoft rpc-over-http 部署(rpc over http)允許rpc客戶端安全和有效地通過internet 連線到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 ;

rpc 答覆資訊:rpc 協議的答覆資訊的改變取決於網路伺服器對呼叫資訊是接收還是拒絕。答覆資訊請求包括區別以下情形的各種資訊:

rpc 成功執行呼叫資訊。.

rpc 的遠端實現不是協議第二版,返回 rpc 支援的最低和最高版本號。

在遠端系統中,遠端程式不可用。

遠端程式不支援被請求的版本號。返回遠端程式所支援的最低和最高版本號。

請求的過程號不存在。通常是呼叫方協議或程式差錯。

rpc答覆資訊形式如下:

enum reply_stat stat

遠端過程呼叫協議

rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式...

RPC 遠端過程呼叫協議

remote procedure call 1 rpc 遠端過程呼叫協議,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網...

RPC 遠端過程呼叫協議

rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式...