[译]DDS之RTPS

RTPS简介

名词解释
名词 解释
RTPS Real Time Publish Subscribe Protocol (实时发布订阅协议)
OMG Object Management Group (对象管理组)
QoS Quality-of-Service 服务质量
DDS Data Distribution Service 数据分发服务

什么是RTPS?

RTPS(实时发布订阅协议)是一种协议,用于在单播和多播中通过 UDP等不可靠传输进行尽力而为的可靠发布 - 子通信

RTPS已被OMG(对象管理组)标准化 为数据分发服务(DDS) 实施的互操作性协议 ,这是一种广泛用于航空航天和国防领域的标准,用于实时应用。

RTPS优势

RTPS协议的主要特点是:

性能和服务质量(QoS)属性为使用标准IP网络的实时应用程序提供尽力而可靠的发布 - 订阅通信。
容错允许创建没有单点故障的网络。
可扩展性允许通过扩展协议和增强新服务来实现向后兼容性和互操作性。
适用于新应用程序和服务的即插即用连接,允许应用程序随时加入和离开网络,实现自动无配置发现。
可配置性允许平衡每个数据传递事务的可靠性和及时性要求。
模块化允许简单设备实现协议的子集并仍然参与发布 - 订阅网络。
可扩展性使系统能够扩展到非常大的发布 - 订阅网络。
类型安全防止应用程序编程错误危及发布 - 订阅网络中远程节点的操作。

RTPS架构

RTPS有线协议基于四个不同的模块,用于控制不同DDS应用程序之间的信息交换。

  • 结构模块 定义了通信端点并将它们映射到自己的DDS同行。
  • 消息模块 定义,可以将消息这些端点交换以及它们是如何构建的。
  • 行为模块 定义了一组法律的相互作用以及它们如何影响每个端点。
  • 发现模块 定义了一组内置的端点,允许自动发现的。
结构模块:

由于RTPS是用于实现DDS应用的有线协议,因此每个DDS概念或实体自然地映射到RTPS实体。所有RTPS实体都与RTPS域相关联,RTPS域表示包含一组参与者的单独通信平面。每个RTPS参与者可以包含两种不同类型的本地端点: WritersReaders. 。这两个端点通过发送RTPS消息在RTPS网络中交换信息。Writers将本地可用信息发送给ReadersReaders可以请求或确认数据。

RTPS结构

RTPS端点(WriterReaders)与其对应的DDS实体之间的接口是 HistoryCache。端点之间交换的信息通常存储在CacheChange中。例如,每个写操作都在Writer History中引入CacheChange。然后,RTPS Writer向所有匹配的Readers发送RTPS消息。收到后,RTPS Reader将CacheChange添加到其对应的HistoryCache,并通知DDS实体新数据可用。

消息模块:

消息模块定义RTPS写入器和读取器之间的原子信息交换的内容。RTPS消息由标题后跟许多子消息组成。标头将消息标识为RTPS协议的一部分,以及正在使用的协议版本和发送消息的供应商。它还标识正在发送消息的参与者。

每个Submessage都由Submessage Header和一系列Submessage元素组成。选择此结构是为了允许扩展Submessages的词汇表和每个Submessage的组成,同时保持向后兼容性。Submessage Header包含子消息Id,用于标识子消息的类型,子消息长度(以字节为单位)和子消息标志。有十二种不同类型的子消息。有关所有消息的完整描述,其组成和解释,请参阅OMG RTPS规范文档。三个最重要的信息是:

数据: 此子消息从Writer发送到Reader,其中包含有关对属于Writer的数据对象的更改的信息。此更改可以是值(添加新信息)或生命周期(先前发送的数据不再有效)。
HEARTBEAT: 此子消息从Writer发送到Reader,传达Writer目前可用的CacheChanges。
ACKNACK: 此子消息从Reader发送到Writer,并允许Reader通知Writer它已收到哪些更改以及哪些更改仍然丢失。它可以用来做正面和负面的确认。

行为模块:

此模块描述了Writer和Reader之间可能发生的有效消息交换。它还根据每条消息定义Writer和Reader状态的变化。可以在OMG RTPS规范文档中找到完整的规则。设置这些规则是为了确保不同实现之间的互操作性。

发现模块:

此模块描述了使参与者能够获取有关域中所有其他参与者和端点的存在和属性的信息的协议。这种信息交换称为metatraffic。一旦发现远程端点,就可以相应地配置本地端点以建立通信。发现协议分为两层:参与者发现协议(PDP)和端点发现协议(EDP)。PDP指定参与者如何相互发现。发现后,参与者使用EDP交换有关其终点的信息。不同的供应商可以实现多个发现协议,但是为了确保互操作性,所有供应商必须实现一个PDP和一个EDP。这些发现协议称为“简单”

可以在规范文档中找到发现模块的完整描述。然而,这种发现机制最重要的特征是它允许简单的即插即用连接,而无需用户进行任何配置。

原文地址 rtps

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容