RPC 訊息協議
在 IT 行業或任何公司中,計算機系統都互連到同一個伺服器以共享資訊。它遵循分散式資訊系統,其中每臺計算機都物理連線並連線到公共網路。RPC 代表遠端過程呼叫,這是一種在作業系統中用於進行遠端裝置通訊的協議。使用 RPC 訊息協議,傳送訊息請求,並在收到回覆後建立通訊。
遠端過程呼叫
TCP/IP 或 UDP 屬於用於網路間通訊的低層傳輸層協議,而 RPC 協議被認為是高層協議。RPC 具有非常簡單的呼叫語法,易於理解。當從 RPC 傳送請求時,我們可以等待來自不同系統的多個回覆。
RPC 訊息協議
RPC 訊息協議是客戶端和伺服器應用程式的通訊協議。此訊息協議將基於兩個主要步驟執行,即:
RPC 呼叫訊息
RPC 回覆訊息
1. RPC 呼叫訊息
此訊息將轉發到來自客戶端的伺服器,它特別包含無符號整數資料型別以唯一地確定過程呼叫,例如:
程式編號
程式版本號
過程編號
2. RPC 回覆訊息
回覆訊息完全取決於遠端伺服器是否批准或拒絕呼叫請求。在此,結構也將採用兩種形式;如果一種失敗,則選擇另一種形式。
情況 1 - 請求被接受
RPC 呼叫請求將完全執行,沒有任何錯誤。
情況 2 - 請求被拒絕
同樣在這種情況下拒絕,有兩種可能性,一種是不屬於相容的 RPC 版本,另一種是身份驗證失敗。
RPC 訊息協議要求
包括主要條件:
呼叫和回覆訊息之間應該匹配。
此 RPC 協議必須遵循唯一的過程呼叫。
客戶端和伺服器之間的通訊需要進行身份驗證。
呼叫和回覆訊息的過程
客戶端呼叫已完成並準備傳遞到遠端伺服器。
呼叫訊息及其引數被打包成稱為封送處理的形式。
然後將訊息從客戶端轉發到伺服器端。
在伺服器端,接收到的訊息將使用唯一程式碼解包解密,此過程稱為解封送處理。
最後,伺服器接受遠端過程呼叫。
RPC 協議的優點
它將客戶端和伺服器之間傳統的通訊方法更改為高階語言。
它主要用於計算機相互互連的分散式資訊系統。
訊息定期傳遞。
RPC 支援面向程序和麵向執行緒的架構。
它向用戶隱藏後端程序,只顯示輸出。
程式碼非常簡單,因此如果發生任何錯誤,可以輕鬆除錯或重寫。
它不允許所有協議進行過程呼叫,從而提高了通訊系統的效率。
RPC 協議的缺點
基於呼叫請求和回覆,可以進行資料傳輸,但它不適合大量資料,因為客戶端和伺服器在不同的環境中工作。
在不同的系統和程序之間建立通訊,因此很容易發生故障。
RPC 的版本不統一,實現方式可以不同。
基於請求,通訊過程發生,因此它不遵循任何特定架構。
結論
如果身份驗證、使用的版本以及訊息之間的匹配成功,則可以接受遠端過程呼叫。根據此,通訊可以部署或拒絕。在分散式系統中實施此 RPC 協議的成本已提高,這只是一次性設定成本。但由於高階語言,編碼成本已完全最小化。