当前位置: 首页 > news >正文

RTPS规范v2.5(中文版)

 


实时发布订阅协议
DDS互操作性有线协议
(DDSI-RTPS)
技术规范
V2.5
(2022-04-01正式发布)
https://www.omg.org/spec/DDSI-RTPS/2.5/PDF

目  录
1 范围    8
2 一致性    8
3 规范性参考文献    8
4 术语和定义    9
5 标识    9
6 附加信息    10
6.1 对OMG规范的修改    10
6.2 如何阅读本文    10
6.3 致谢    11
6.4 到期声明    13
7 概述    13
7.1 序言    13
7.2 DDS网络协议的要求    14
7.3 RTPS网络协议    15
7.4 RTPS平台无关模型(PIM)    16
7.4.1 结构模块    17
7.4.2 消息模块    18
7.4.3 行为模块    19
7.4.4 发现模块    20
7.5 RTPS平台特定模型(PSM)    20
7.6 RTPS传输模型    20
8 平台无关模型(PIM)    21
8.1 引言    21
8.2 结构模块    21
8.2.1 概述    22
8.2.1.1 RTPS虚拟机使用的类的总结    23
8.2.1.2 用于描述RTPS实体和类的类型的总结    23
8.2.1.3 RTPS实体的配置属性    25
8.2.2 RTPS HistoryCache    26
8.2.2.1 new    28
8.2.2.2 add_change    28
8.2.2.3 remove_change    28
8.2.2.4 get_seq_num_min    29
8.2.2.5 get_seq_num_max    29
8.2.3 RTPS CacheChange    29
8.2.4 RTPS 实体(Entity)    30
8.2.4.1 识别RTPS实体:GUID    30
8.2.4.2 RTPS参与者(Participants)的GUID    31
8.2.4.3 参与者中RTPS端点组的GUID    31
8.2.4.4 参与者内RTPS端点的GUID    32
8.2.5 RTPS 参与者(Participant)    32
8.2.6 RTPS组    33
8.2.7 RTPS 端点(Endpoint)    33
8.2.8 RTPS 写入者(Writer)    35
8.2.9 RTPS 读取者(Reader)    35
8.2.10 与DDS实体的关系    35
8.2.10.1 DDS数据写入者(DataWriter)    36
8.2.10.2 DDS 数据读取者(DataReader)    40
8.3 消息模块    43
8.3.1 概述    43
8.3.2 类型定义    44
8.3.3 RTPS消息的总体结构    45
8.3.3.1 RTPS报文头(Header)结构    46
8.3.3.2 消息头扩展HeaderExtension结构    47
8.3.3.3 子消息(Submessage)结构    50
8.3.4 RTPS消息接收器(RTPS Message Receiver)    52
8.3.4.1 消息接收器遵循的规则    53
8.3.5 RTPS SubmessageElements    54
8.3.5.1 GuidPrefix和EntityId    55
8.3.5.2 VendorId    55
8.3.5.3 ProtocolVersion    56
8.3.5.4 SequenceNumber序号    57
8.3.5.5 SequenceNumberSet    57
8.3.5.6 FragmentNumber    58
8.3.5.7 FragmentNumberSet    58
8.3.5.8 Timestamp    58
8.3.5.9 ParameterList    59
8.3.5.10 Count    59
8.3.5.11 ChangeCount    59
8.3.5.12 Checksum    60
8.3.5.13 MessageLength    60
8.3.5.14 UExtension4    60
8.3.5.15 WExtension8    60
8.3.5.16 LocatorList    61
8.3.5.17 SerializedData    61
8.3.5.18 SerializedDataFragment    61
8.3.5.19 GroupDigest    61
8.3.6 RTPS Header    61
8.3.6.1 目的    62
8.3.6.2 内容    62
8.3.6.3 有效性    62
8.3.6.4 接收方状态的变化    62
8.3.6.5 逻辑解释    62
8.3.7 The RTPS HeaderExtension    63
8.3.7.1 目的    63
8.3.7.2 内容    63
8.3.7.3 有效性    63
8.3.7.4 接收方状态的更改    63
8.3.7.5 理论解释    64
8.3.8 RTPS Submessages    64
8.3.8.1 AckNack    66
8.3.8.2 Data    68
8.3.8.3 DataFrag    70
8.3.8.4 GAP    73
8.3.8.5 HeaderExtension    76
8.3.8.6 Heartbeat    76
8.3.8.7 HeartbeatFrag    79
8.3.8.8 InfoDestination    80
8.3.8.9 InfoReply    81
8.3.8.10 InfoSource    83
8.3.8.11 InfoTimestamp    84
8.3.8.12 NackFrag    85
8.3.8.13 Pad    86
8.4 行为模型Behavior Module    87
8.4.1 概述    87
8.4.1.1 示例行为    88
8.4.2 互操作性所需的行为    89
8.4.2.1 通用要求    90
8.4.2.2 所需的RTPS编写器行为    90
8.4.2.3 所需的RTPS读取器行为    91
8.4.3 RTPS协议的实现    92
8.4.4 作家对每个匹配读者的行为    93
8.4.5 符号约定    93
8.4.6 类型定义    93
8.4.7 RTPS编写器参考实现    94
8.4.7.1 RTPS Writer    94
8.4.7.2 RTPS StatelessWriter    97
8.4.7.3 RTPS ReaderLocator    99
9 平台特定模型(PSM):UDP/IP    101
9.1 简介    101
9.2 符号约定    101
9.2.1 Name Space    101
9.2.2 结构的IDL表示和CDR线表示    101
9.2.3 位和字节的表示    102
9.3 RTPS类型的映射    102
9.3.1 全局唯一标识符(GUID)    102
9.3.1.1 GuidPrefix_t的映射    102
9.3.1.2 EntityId_t的映射    103
9.3.1.3 预定义的EntityId    103
9.3.1.4 协议2.2版中已弃用的EntityId    104
9.3.1.5 GUID_t的映射    105
9.3.2 子消息或内置主题数据中出现的类型映射    106
9.3.2.1 IDL Definitions    106
9.3.2.2 Time_t    109
9.3.2.3 Duration_t    109
9.3.2.4 Locator_t    109
9.3.2.5 GroupDigest_t    110
9.3.2.6 Checksum32_t, Checksum64_t, Checksum128_t    110
9.3.2.7 MessageLength_t    110
9.3.2.8 UExtension4_t    110
9.3.2.9 WExtension8_t    111
9.3.2.10 SequenceNumber_t    111
9.3.2.11 ChangeCount_t    111
9.3.2.12 BuiltinEndpointSet_t    111
9.4 RTPS消息的映射    112
9.4.1 总体结构    112
9.4.2 PIM子消息元素的映射    112
9.4.2.1 EntityId    112
9.4.2.2 GuidPrefix    113
9.4.2.3 VendorId    113
9.4.2.4 ProtocolVersion    113
9.4.2.5 SequenceNumber    114
9.4.2.6 SequenceNumberSet    114
9.4.2.7 FragmentNumber    115
9.4.2.8 FragmentNumberSet    116
9.4.2.9 Timestamp    116
9.4.2.10 LocatorList    117
9.4.2.11 ParameterList    117
9.4.2.12 SerializedPayload    119
9.4.2.13 Count    120
9.4.2.14 ChangeCount    120
9.4.2.15 Checksum    120
9.4.2.16 消息长度    123
9.4.2.17 UExtension4    123
9.4.2.18 WExtension8    124
9.4.2.19 GroupDigest    124
9.4.3 其他子消息元素    124
9.4.3.1 LocatorUDPv4    124
9.4.4 RTPS报头的映射    125
9.4.5 RTPS子消息的映射    125
9.4.5.1 Submessage Header    125
9.4.5.2 HeaderExtension子消息    127
9.4.5.3 AckNack Submessage    129
9.4.5.4 Data子消息    129
9.4.5.5 DataFrag自消息    131
9.4.5.6 Gap子消息    132
9.4.5.7 HeartBeat子消息    133
9.4.5.8 HeartBeatFrag子消息    134
9.4.5.9 InfoDestination子消息    134
9.4.5.10 InfoReply    135
9.4.5.11 InfoSource子消息    135
9.4.5.12 InfoTimestamp    136
9.4.5.13 Pad子消息    136
9.4.5.14 NackFrag子消息    137
9.4.5.15 InfoReplyIp4子消息(特定于PSM)    137
9.5 映射到UDP/IP传输消息    138
9.6 RTPS协议的映射    138
9.6.1 HeaderExtension中的ParameterId定义    138
9.6.2 默认定位器    139
9.6.2.1 发现流量    139
9.6.2.2 用户流量    139
9.6.2.3 默认端口号    140
9.6.2.4 简单参与者发现协议的默认设置    140
9.6.3 内置端点的数据表示    141
9.6.3.1 ParticipantMessageData内置端点的数据表示    141
9.6.3.2 简单发现协议内置端点    142
9.6.4 用于表示在线QoS的ParameterId定义    147
9.6.4.1 内容筛选器信息(PID_Content_filter_info)    148
9.6.4.2 相干集(PID_Coherent_set)    150
9.6.4.3 组相干集(PID_Group_Coherent_Set)    150
9.6.4.4 组序列号(PID_Group_SEQ_NUM)    151
9.6.4.5 Publisher Writer信息(PID_Writer_GROUP_Info)    151
9.6.4.6 安全Publisher Writer信息(PID_Secure_Writer_GROUP_Info)    151
9.6.4.7 原始写入程序信息(PID_Original_Writer_Info)    152
9.6.4.8 密钥哈希(PID_KEY_HASH)    152
9.6.4.9 状态信息(PID_STATUS_INFO)    155
9.6.5 为其他DDS规范保留的参数ID    156
9.6.6 协议不推荐的参数ID    156
10 序列化有效载荷表示Serialized Payload Representation    157
10.1 简介    157
10.2 SerializedPayloadHeader和表示标识符    158
10.3 RTPS发现内置终结点的SerializedPayload    158
10.4 其他RTPS内置端点的SerializedPayload    159
10.5 用户定义DDS主题的SerializedPayload    159
10.6 内置端点数据示例    160
10.7 用户定义主题数据示例    163
11 A References    164

http://www.lryc.cn/news/100794.html

相关文章:

  • LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>
  • yolov8系列[五]-项目实战-yolov8模型无人机检测
  • Redis 笔记,基本数据类型、持久化、主从、集群等等问题
  • JDK,JRE,JVM三者的关系
  • 行为型-命令模式(Command Pattern)
  • 总结942
  • MFC自定义控件使用
  • 【学习笔记】「ROI 2018 Day 2」无进位加法
  • 分布式I/O,IT和OT融合少不了它
  • 主干网络篇 | YOLOv8 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》
  • AD20. 如何给元器件设计、添加3D模型
  • C++笔记之vector的底层实现和扩容机制
  • JavaSE - Sting类
  • zotero+overleaf插入参考文献
  • C语言每天一练----输出水仙花数
  • Linux-Shell
  • Python读取csv、Excel文件生成图表
  • 虚拟机中Linux的IP地址配置详解
  • Codeforces Round 889 (Div. 2) 题解
  • 系统学习Linux-MySQL用户权限管理(三)
  • 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境4
  • 阿里云NVIDIA A100 GPU云服务器性能详解及租用费用
  • 数字身份、分布式存储、跨链技术等将如何推动Web3数据的发展?
  • Ubuntu 新增2T 硬盘,配置自动挂载
  • Windows下安装HBase
  • 在家构建您的迷你 ChatGPT
  • Cisco IOS操作(红茶三杯CCNA)
  • 在Linux中用strsignal函数输出对各种信号的描述
  • 分布式文件存储与数据缓存 Redis高可用分布式实践(上)
  • chatglm2外挂知识库问答的简单实现