欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Glusterfs之rpc模塊源碼分析(上)之RPC概述

系統(tǒng) 4057 0

我的新浪微博: http://weibo.com/freshairbrucewoo

歡迎大家相互交流,共同提高技術(shù)。

?

一、RPC概述

第一節(jié)、RPC 結(jié)構(gòu)網(wǎng)絡(luò)

RPC Remote?Procedure?Call?Protocol )——遠(yuǎn)程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計算機(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ù)器模式。請求程序就是一個客戶機(jī),而服務(wù)提供程序就是一個服務(wù)器。首先,客戶機(jī)調(diào)用進(jìn)程發(fā)送一個有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息的到達(dá)為止。當(dāng)一個調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個調(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ǔ)的分布式計算環(huán)境( DCE )。

第二節(jié)、協(xié)議結(jié)構(gòu)

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

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

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

  程序號( Program?number

  程序版本號( Program?version?number

  過程號( 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ù)器對調(diào)用信息是接收還是拒絕。答復(fù)信息請求包括區(qū)別以下情形的各種信息:

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

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

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

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

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

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

enum?reply_stat?stat

{MSG_ACCEPTED?=?0,

MSG_DENIED?=?1?}

第三節(jié)、工作原理

運行時 , 一次客戶機(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ù)

第四節(jié)、RPC?OVER?HTTP

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

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

Glusterfs之rpc模塊源碼分析(上)之RPC概述


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 在线观看亚洲 | 国产精品亚洲va在线观看 | 精品日韩视频 | 达达兔午夜起神影院在线观看麻烦 | 亚洲国产精品一区 | 亚洲天堂中文字幕 | 青青久久 | 欧美淫| 991av | 漂流教室在线观看 | 国产成人免费全部网站 | www.com黄| 白白操在线视频 | 国产精品美女久久久久久久久久久 | 96福利视频 | 欧美影院推理片免费看 | 国产伦精品一区二区三区精品视频 | 国产精品久久国产精品 | 成人性大片免费观看网站 | 亚洲欧洲日本天天堂在线观看 | 4hu四虎永久免在线视看 | 99久久久无码国产精品 | 中文欧美日韩 | 久久综合影院 | 夜夜草 | 人人澡人人澡人人看添欧美 | 欧美狂猛xxxxx乱大交3 | 午夜剧场直接免费观看 | 91成人免费看 | 成人国产在线观看 | 国产不卡视频在线播放 | 国产一区二区三区福利 | 夜夜操狠狠操 | 亚洲精品小视频 | 国产日韩一区二区三区 | 蜜桃传媒一区二区亚洲AV | 国产精品外围在线观看 | 色综合久久久久综合99 | 欧美另类videosbestsex久久 | 日本a视频 | 午夜小视频网站 |