久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

RPC

來(lái)自站長(zhǎng)百科
Nishengshe討論 | 貢獻(xiàn)2012年5月21日 (一) 17:59的版本 →?RPC OVER HTTP
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

RPC(遠(yuǎn)程過(guò)程調(diào)用協(xié)議)是一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCPUDP等,為通信程序之間攜帶信息數(shù)據(jù),在OSI網(wǎng)絡(luò)通信模型中RPC跨越了傳輸層和應(yīng)用層,RPC使得開(kāi)發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。

RPC簡(jiǎn)介[ ]

  • RPC采用客戶機(jī)/服務(wù)器模式,請(qǐng)求程序就是一個(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í)行是開(kāi)放式軟件基礎(chǔ)的分布式計(jì)算環(huán)境(DCE)。

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工作原理[ ]

運(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代理作為中間件。

相關(guān)條目[ ]

參考來(lái)源[ ]