日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RPC 远程过程调用协议

發(fā)布時(shí)間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RPC 远程过程调用协议 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

RPC(Remote Procedure Call Protocol)——遠(yuǎn)程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。

RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。

RPC采用客戶機(jī)/服務(wù)器模式。請求程序就是一個(gè)客戶機(jī),而服務(wù)提供程序就是一個(gè)服務(wù)器。

首先,客戶機(jī)調(diào)用進(jìn)程發(fā)送一個(gè)有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息到達(dá)為止。當(dāng)一個(gè)調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計(jì)算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個(gè)調(diào)用信息。最后,客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進(jìn)行。

有多種 RPC模式和執(zhí)行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC RPC 協(xié)議成為 IETF 標(biāo)準(zhǔn)協(xié)議。現(xiàn)在使用最普遍的模式和執(zhí)行是開放式軟件基礎(chǔ)的分布式計(jì)算環(huán)境(DCE)。

?

工作原理

運(yùn)行時(shí),一次客戶機(jī)對服務(wù)器的RPC調(diào)用,其內(nèi)部操作大致有如下十步:

1.調(diào)用客戶端句柄;執(zhí)行傳送參數(shù)

2.調(diào)用本地系統(tǒng)內(nèi)核發(fā)送網(wǎng)絡(luò)消息

3.消息傳送到遠(yuǎn)程主機(jī)

4.服務(wù)器句柄得到消息并取得參數(shù)

5.執(zhí)行遠(yuǎn)程過程

6.執(zhí)行的過程將結(jié)果返回服務(wù)器句柄

7.服務(wù)器句柄返回結(jié)果,調(diào)用遠(yuǎn)程系統(tǒng)內(nèi)核

8.消息傳回本地主機(jī)

9.客戶句柄由內(nèi)核接收消息

10.客戶接收句柄返回的數(shù)據(jù)

RPC OVER HTTP

Microsoft RPC-over-HTTP 部署(RPC over HTTP)允許RPC客戶端安全和有效地通過Internet 連接到RPC 服務(wù)器程序并執(zhí)行遠(yuǎn)程過程調(diào)用。這是在一個(gè)名稱為RPC-over-HTTP 代理,或簡稱為RPC 代理的中間件的幫助下完成的。

RPC 代理運(yùn)行在IIS計(jì)算機(jī)上。它接受來自Internet 的RPC 請求,在這些請求上執(zhí)行認(rèn)證,檢驗(yàn)和訪問檢查,如果請求通過所有的測試,RPC 代理將請求轉(zhuǎn)發(fā)給執(zhí)行真正處理的RPC?服務(wù)器。通過RPC over HTTP,RPC客戶端不和服務(wù)器直接通信,它們使用RPC 代理作為中間件。

?

協(xié)議結(jié)構(gòu)

遠(yuǎn)程過程調(diào)用(RPC)信息協(xié)議由兩個(gè)不同結(jié)構(gòu)組成:調(diào)用信息和答復(fù)信息。信息流程如下所示:

RPC:遠(yuǎn)程過程調(diào)用流程

RPC 調(diào)用信息:每條遠(yuǎn)程過程調(diào)用信息包括以下無符號整數(shù)字段,以獨(dú)立識別遠(yuǎn)程過程:

程序號(Program number)

程序版本號(Program version number)

過程號(Procedure number)

?

RPC 答復(fù)信息:RPC 協(xié)議的答復(fù)信息的改變?nèi)Q于網(wǎng)絡(luò)服務(wù)器對調(diào)用信息是接收還是拒絕。答復(fù)信息請求包括區(qū)別以下情形的各種信息:

RPC 成功執(zhí)行調(diào)用信息。.

RPC 的遠(yuǎn)程實(shí)現(xiàn)不是協(xié)議第二版,返回 RPC 支持的最低和最高版本號。

在遠(yuǎn)程系統(tǒng)中,遠(yuǎn)程程序不可用。

遠(yuǎn)程程序不支持被請求的版本號。返回遠(yuǎn)程程序所支持的最低和最高版本號。

請求的過程號不存在。通常是呼叫方協(xié)議或程序差錯(cuò)。

RPC答復(fù)信息形式如下:

enum reply_stat stat

{MSG_ACCEPTED = 0,

MSG_DENIED = 1 };

?

轉(zhuǎn)自:https://baike.baidu.com

?

總結(jié)

以上是生活随笔為你收集整理的RPC 远程过程调用协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。