网站地图
zenghuilan.com
生活小窍门 解释生活中的一切名词
RELOAD(计算机协议) 发布于:

RELOAD(REsource LOcation And Discovery, RELOAD)协议,由IETF(Internet Engineering Task Force)P2PSIP(Peer-to-Peer Session Initiation Protocol)工作组指定。其核心成果,提供了统一的叠加网对等体和客户端协议,实现抽象的存储和消息路由服务。在很多问题上已经达成一致,可能于近期成为RFC。

Ø 算法插件化

RELOAD协议中支持P2P 算法插件化,协议只定义了三种叠加网维护原语:Join、Update、Leave。而对于具体的消息内容、消息的发送时机、精确的语义由实际采用的算法决定,RELOAD只提供通用的框架。

Ø 二进制消息编码

RELOAD协议采用请求/应答的消息机制。

RELOAD消息使用二进制编码。

Ø 对称路由为主的多种路由机制

RELOAD将对称递归路由作为默认的必选的路由机制。但对于不同的网络环境或应用,允许采用其它的可选路由机制。消息的具体路由策略由上层应用发送消息时确定。

Ø 三层安全机制

链接层,RELOAD协议规定叠加网对等体之间采用TLS或DTLS保证传输安全。

消息层,RELOAD消息需要签名。

对下层,RELOAD协议规定存储对象必须由存储节点签名。

RELOAD还提供基于共享密钥和TLS-PSK的许可控制机制。为了与叠加网建立TLS链接,新节点需要获取叠加网共享密匙,从而对授权用户实现严格的准入控制。

RELOAD协议特点。

ØRELOAD不仅是一个消息网,同时也是存储网。

Ø资源id和节点id在同一空间;

Ø每个节点负责存储节点id值附近的资源id;

ØClient节点不参与、不影响数据存储;

ØClient节点可能根据需要和要求升级为peer。

RELOAD协议考虑的主要场景图1所示。

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

存储和执行路由表,实现节点间的转发服务;处理节点间的连接建立,包括 功能。

Link LayerRELOAD使用TLS和DTLS作为hop-by-hop的传输协议,对于不可靠传输要求提供临时响应机制。

RELOAD消息采用二进制消息编码,采用请求/应答的消息机制,采用请求/应答模式。

RELOAD消息包含Forwarding Header、Message Content、Security Signature三部分,其中消息头格式如图3所示。

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

RELOAD协议设计支持多种应用,每种应用可以自定义所需的数据模型。

基于RELOAD的SIP(Session Initiation Protocol)应用实例,如图4所示。

RELOAD协议考虑支持的其他应用包括

★ Certificate Store Usage

★ TURN Server Usage

★ Dianostics Usage


相关文章推荐:
IETF | 原语 | 二进制编码 | 路由 | 路由 | DTLS | 数据存储 | 层次模型 | 数据安全 | 路由表 | 节点 | DTLS | 传输协议 | 消息机制 |