Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
🌐 BS ISO/IEC 16512 是由 ISO/IEC JTC 1(信息技术联合技术委员会)制定、由英国标准协会(BSI)作为英国国家标准采用并发布的中继组播控制协议(Relayed Multicast Control Protocol,RMCP)标准系列。该系列针对传统 IP 组播在公网部署中面临的组播路由协议复杂、跨域支持困难、接收端反馈不可控等现实问题,提出一种基于”中继(Relay)”节点的组播控制框架与控制协议,使组播数据传输能够在不需要全网路由器启用组播协议的前提下,通过中继节点之间的单播连接完成组播分发的近似模拟。整个系列由两个部分构成:BS ISO/IEC 16512-1:2016 定义了 RMCP 的总体框架,BS ISO/IEC 16512-2:2016 给出了用于单工组(Simplex Group)应用的协议规范。
传统 IP 组播(如 IGMP、PIM)在学术网络和园区网内已经相当成熟,但当数据需要在跨越多个自治系统的公共互联网上进行一对多传输时,组播路由会面临一系列难以克服的障碍。首先是组播路由协议的复杂性:PIM-SM、PIM-DM、MSDP 等协议在跨域场景下需要维护大量的组播树状态,运维成本极高;其次,并非所有运营商都愿意在其骨干网上启用组播转发,导致端到端组播路径往往无法建立;再者,接收端的加入、离开与故障恢复行为在组播模型中是异步的、不可控的,发送方难以获得可靠的成员反馈。这些现实约束促使标准化组织探索在传输层或应用层实现”可控组播”的技术路线,RMCP 正是这一探索的产物。
RMCP 的核心思想是引入中继(Relay)概念:一个组播会话由若干中继节点组成,它们之间通过既有的单播连接(可以是 UDP 隧道,也可以叠加在其他传输机制之上)互相转发数据。组播会话的建立、成员关系的注册、中继路径的选择以及会话状态的维护,全部由 RMCP 控制消息完成。这样,底层网络只需要支持普通的单播路由,即可实现名义上的组播效果,并且组播树的状态可以被显式地建立、查询与拆除,具备传统组播所缺乏的可观测性与可控性。
BS ISO/IEC 16512-1:2016(第二版,2016 年 4 月发布)是 RMCP 的框架性文件,其作用相当于整个协议的”宪法”。它不以实现具体的报文格式为目标,而是规定 RMCP 在开放系统互连(OSI)参考模型中的位置、协议总体体系结构、核心概念与术语,以及各类实体之间的交互模型。框架部分重点回答”RMCP 由谁构成、如何组织、怎样运作”三个层面的问题。
框架将 RMCP 置于传输层之上、应用层之下的位置,将其视为一种通用的”组播传送服务”。RMCP 实体(RMCP Entity,简称 RE)是协议的基本运行单元,每个参与组播的节点上运行一个或多个 RE。RE 之间通过 RMCP 消息进行通信,消息承载在 UDP 或 TCP 等既有传输协议之上。框架还描述了 RMCP 与上层应用、下层传输之间的服务原语关系,明确了哪些服务由 RMCP 提供、哪些服务依赖底层传输,从而保证协议可以平滑地移植到不同的网络环境中。
框架部分给出了若干关键术语的统一定义,包括:中继(Relay),负责在一个组播会话中接收并转发数据的节点;组播会话(Multicast Session),由一组共享相同会话标识的参与者构成的数据分发集合;会话管理者(Session Manager),负责会话的创建、成员管理与状态维护的控制实体;以及组播组(Multicast Group)、单工/双工(Simplex/Duplex)等概念。这些定义的统一,为第二部分的具体协议规定提供了共同的语义基础,也使得不同厂商实现之间的互操作成为可能。
| 核心概念 | 英文术语 | 含义说明 |
|---|---|---|
| 中继 | Relay | 组播会话内负责接收并转发数据的中间节点 |
| 组播会话 | Multicast Session | 以共享会话标识维系的参与者集合与数据流 |
| 会话管理者 | Session Manager | 负责会话创建、成员管理与状态维护的控制实体 |
| 单工组 | Simplex Group | 数据单向流动(源到接收方)的组播应用形态 |
| 控制点 | Control Point | 协议控制消息的汇聚与处理节点 |
框架文件描述了组播会话从创建到拆除的全生命周期过程。一个典型的会话生命周期包括:会话管理者发起会话创建请求、RE 注册加入会话、中继路径的建立与优化、数据流的持续分发、成员动态加入与离开,以及会话终止时资源的统一释放。框架强调,所有这些阶段都必须通过显式的控制消息完成状态迁移,任何状态都必须能够被查询与审计,这正是 RMCP 区别于传统组播”隐式状态”的关键特征。
BS ISO/IEC 16512-2:2016(第三版,2016 年 4 月发布)是 RMCP 系列中第一个给出完整协议规定的部分,专门针对单工组(Simplex Group)应用。所谓单工组,指的是数据流只有一个方向——从发送源流向接收方——的组播应用形态,直播推送、软件包分发、时钟同步、监控数据广播等都属于典型的单工组应用。第二部分的英文标题为 “Specification for simplex group applications”,它把第一部分的框架落实为可编程、可测试、可实现的具体协议。
单工组协议规范需要同时满足三个设计目标:其一,支持在既有单播网络上建立逻辑组播,即中继节点之间的数据转发必须建立在普通单播连接之上;其二,保证控制信息的可靠性与一致性,即会话成员关系、中继拓扑等控制状态在分布式环境下保持一致;其三,提供灵活的成员管理与路径管理能力,使会话能够适应动态变化的网络条件。围绕这三个目标,规范定义了控制消息的格式、时序要求与状态机行为。
RMCP 控制消息由公共报头(common header)与消息体组成。公共报头承载消息类型、版本、会话标识、发送者标识、序号与校验等信息,保证消息可以被唯一识别并有序处理。消息体则根据消息类型承载具体载荷,例如会话注册信息、中继路径信息、成员加入/离开信息以及数据分发的信令信息。协议还定义了消息的错误处理规则,包括对格式非法消息、序号乱序消息以及超时未响应等异常情况的处理策略,确保协议的健壮性。
| 功能模块 | 主要作用 | 涉及的典型消息 |
|---|---|---|
| 会话建立 | 创建组播会话并通告会话参数 | 会话创建、会话通告 |
| 成员管理 | 维护参与者的加入、离开与查询 | 加入请求、离开请求、成员查询 |
| 路径管理 | 建立与优化中继转发路径 | 路径注册、路径更新、路径确认 |
| 数据传输 | 承载组播数据的分组转发 | 数据分组、确认信息 |
| 会话拆除 | 终止会话并回收资源 | 会话结束、资源释放 |
协议规范以有限状态机(Finite State Machine)的形式规定了每个实体在不同事件下的行为迁移。例如,一个 RE 在收到会话创建消息后,可能从”空闲”状态迁移到”注册中”状态,完成注册后再进入”传输中”状态;在收到离开请求或会话结束消息后,则回到”空闲”状态。状态机的定义保证了不同实现之间行为的确定性,也是进行一致性测试的基准。规范还规定了消息重传、心跳保活、超时判定等可靠性机制的具体参数与默认取值。
BS ISO/IEC 16512-1:2016 与 BS ISO/IEC 16512-2:2016 是由 BSI 于 2016 年 4 月 30 日出版的英国国家标准,分别是 ISO/IEC 16512-1:2016 与 ISO/IEC 16512-2:2016 的英国实施版本。两个部分的英国技术参与均由技术委员会 ICT/-/1(信息系统协调)负责,该委员会的代表机构名单可向委员会秘书索取。两个标准均属于 ICS 35.100.70(应用层),分别使用 ISBN 978 0 580 90433 2 与 ISBN 978 0 580 90434 9。作为英国标准,其在前言中明确指出:本标准并不声称包含合同的全部必要条款,使用者应负责其正确应用;同时,符合英国标准并不能免除遵守法律义务。
在实际工程中,基于 RMCP 构建一对多分发系统通常遵循以下步骤:首先确定应用形态是否为单工组,即数据是否单向流动;然后部署会话管理者与若干中继节点,中继节点的物理分布应接近数据接收方的网络汇聚点;接着通过控制消息建立组播会话,并注册各接收方节点;最后启动数据分发,并通过监控会话状态、调整中继路径来优化分发质量。