複製鏈接
請複製以下鏈接發送給好友

RELOAD

(計算機協議)

鎖定
RELOAD(REsource LOcation And Discovery, RELOAD)協議,由IETF(Internet Engineering Task Force)P2PSIP(Peer-to-Peer Session Initiation Protocol)工作組指定。其核心成果,提供了統一的疊加網對等體和客户端協議,實現抽象的存儲和消息路由服務。在很多問題上已經達成一致,可能成為RFC。
中文名
RELOAD
外文名
REsource LOcation And Discovery
屬    性
協議
職    能
實現抽象的存儲和消息路由服務

RELOAD功能

Ø 算法插件化
RELOAD協議中支持P2P 算法插件化,協議只定義了三種疊加網維護原語:Join、Update、Leave。而對於具體的消息內容、消息的發送時機、精確的語義由實際採用的算法決定,RELOAD只提供通用的框架。
Ø 二進制消息編碼
RELOAD協議採用請求/應答的消息機制。
RELOAD消息使用二進制編碼
Ø 對稱路由為主的多種路由機制
RELOAD將對稱遞歸路由作為默認的必選的路由機制。但對於不同的網絡環境或應用,允許採用其它的可選路由機制。消息的具體路由策略由上層應用發送消息時確定。
Ø 三層安全機制
鏈接層,RELOAD協議規定疊加網對等體之間採用TLS或DTLS保證傳輸安全。
消息層,RELOAD消息需要簽名。
對下層,RELOAD協議規定存儲對象必須由存儲節點簽名。
RELOAD還提供基於共享密鑰和TLS-PSK的許可控制機制。為了與疊加網建立TLS鏈接,新節點需要獲取疊加網共享密匙,從而對授權用户實現嚴格的准入控制。

RELOAD協議場景

RELOAD協議特點。
ØRELOAD不僅是一個消息網,同時也是存儲網。
Ø資源id和節點id在同一空間;
Ø每個節點負責存儲節點id值附近的資源id;
ØClient節點不參與、不影響數據存儲
ØClient節點可能根據需要和要求升級為peer。
圖1 圖1
RELOAD協議考慮的主要場景圖1所示。

RELOAD架構

RELOAD是一種底層疊加網絡,在Internet網絡層次模型中的位置如圖2。
RELOAD協議框架的主要組件有:
Ø Usage Layer
基於RELOAD的每個應用對應一組數據和行為描述(如何使用Reload提供的服務)。包括:映射數據並存儲到overlay,數據安全,應用程序對數據的查找和使用等。
Ø Message Transport
處理end-to-end的可靠性,管理應用的請求狀態、轉發存儲和獲取操作到storage,並負責分發消息響應到請求的初始模塊;
Ø Storage
負責處理與數據存儲和查找相關的消息,與Message Transport交互(發送和接收消息),與Topology Plugin交互(數據的複製和轉移)。
Ø Topology Plugin
負責執行具體的overlay算法,Chord/Pastry/Kademlia/Bamboo。與Message Transport交互(發送接收overlay管理類消息),與storage交互(管理數據的複製),與Forwarding Layer(控制hop-by-hop消息傳遞)。
Ø Forwarding and Link Management
存儲和執行路由表,實現節點間的轉發服務;處理節點間的連接建立,包括 [1]  功能。
圖2 圖2
Link LayerRELOAD使用TLS和DTLS作為hop-by-hop的傳輸協議,對於不可靠傳輸要求提供臨時響應機制。

RELOAD消息格式

RELOAD消息採用二進制消息編碼,採用請求/應答的消息機制,採用請求/應答模式。
圖3 圖3
RELOAD消息包含Forwarding Header、Message Content、Security Signature三部分,其中消息頭格式如圖3所示。

RELOADRELOAD原語

RELOAD協議主要包括疊加網操作維護、資源定位發現兩類原語。
表A 網絡維護類原語
分類
原語
重要參數
功能説明
拓撲維護
Join
節點ID
節點加入請求
Leave
節點ID
節點離開請求
-
Update
路由表
路由表更新請求,請求消息攜帶路由表
-
Route_Query
是否發起Update;
目的地;
路由查詢請求,用於迭代路由時查詢消息路由的下一跳信息;可以攜帶標識要求響應者發起一個Update請求;
-
Probe
探測類型
探測響應者負責的網絡片段(路由表);或
探測響應者當前存儲的數據數目;
-
連接管理
Attach
ICE信息
建立ICE鏈接用於傳輸RELOAD或應用層消息;
AttachLite
簡化ICE信息
相對於全功能ICE的一個簡化實現,在某些NAT場景下可能功能受限;
-
Ping
測試路徑連通性;
-
Config_Update
配置文件
更新疊加網配置文件,使用消息頭sequence參數驗證;
-
注:源自draft-ietf-p2psip-base-02
-
-
-
表B 數據存儲類原語
分類
原語
重要參數
功能説明
數據存儲
Store
資源ID;
Kind ID;
數據模型;
數據內容;
數據存取和刪除;
Fetch
資源ID;
KindID;
數據模型;
關鍵字;
數據內容;
數據獲取;
-
Stat
同Fetch
數據狀態查詢(長度、代數、摘要等);
-
Find
資源ID;
KindID;
查詢指定KindID的數據的最近SourceID;
-
注:源自draft-ietf-p2psip-base-11
-
-
-

RELOADRELOAD應用

RELOAD協議設計支持多種應用,每種應用可以自定義所需的數據模型。

RELOADP2PSIP

圖4 圖4
基於RELOAD的SIP(Session Initiation Protocol)應用實例,如圖4所示。

RELOAD其它應用

RELOAD協議考慮支持的其他應用包括
★ Certificate Store Usage
★ TURN Server Usage
★ Dianostics Usage
參考資料