學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

rpc協(xié)議有哪些工作原理及協(xié)議結(jié)構(gòu)

時(shí)間: 謝君787 分享

  RPC是一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。以下是學(xué)習(xí)啦小編為大家整理的rpc的內(nèi)容,希望你們喜歡。

  rpc的工作原理

  運(yùn)行時(shí),一次客戶機(jī)對(duì)服務(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)程過(guò)程

  6.執(zhí)行的過(guò)程將結(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客戶端安全和有效地通過(guò)Internet 連接到RPC 服務(wù)器程序并執(zhí)行遠(yuǎn)程過(guò)程調(diào)用。這是在一個(gè)名稱為RPC-over-HTTP 代理,或簡(jiǎn)稱為RPC 代理的中間件的幫助下完成的。

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

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

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

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

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

  程序號(hào)(Program number)

  程序版本號(hào)(Program version number)

  過(guò)程號(hào)(Procedure number)

  RPC 調(diào)用信息主體形式如下:

  struct call_body {

  unsigned int rpcvers;

  unsigned int prog;

  unsigned int vers;

  unsigned int proc;

  opaque_auth cred;

  opaque_auth verf;

  1 parameter

  2 parameter . . . };

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

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

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

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

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

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

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

  enum reply_stat stat

  {MSG_ACCEPTED = 0,

  MSG_DENIED = 1 };

  rpc的相關(guān)信息

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

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


看過(guò)“rpc協(xié)議工作原理”的人還看了:

1.nmap如何繞過(guò)防火墻

2.關(guān)閉不需要的Linux服務(wù)

3.linux操作系統(tǒng)安全加固

4.電腦病毒歷史爆發(fā)事件有哪些

5.XP系統(tǒng)怎么設(shè)置更安全

2168274