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

DDS Discovery数据

9.6.2.1 Discovery traffic
        Discovery流量是由Participant和Endpoint发现协议生成的,对于Simple Discovery Protocols(SPDP和SEDP),discovery流量在Participant内建(builtin)的终端节点(Endpoint)之间交互。
        SPDP的内建(builtin)终端节点上配置了well-known端口,如下表,
        

Discovery traffic type   |        SPDP well-known port        |  Default port number expression
------------------------   ----------------------------------   ---------------------------------Multicast              |   SPDP_WELL_KNOWN_MULITICAST_PORT  |  PB + DG * domainid + d0
------------------------   ----------------------------------   ---------------------------------Unicast               |   SPDP_WELL_KNOWN_UNICAST_PORT     | PB + DG * domainid + d1 + PG * partid
------------------------   ----------------------------------   ---------------------------------


        
        在这里,domainid是Participant所属的domain的ID
        partid是participant的标识符(participantid在RTPSDomainImpl::createParticipant中赋给RTPSParticipantAttributes)
        DG = DomainID Gaid = 250
        PG = ParticipantId Gain = 2
        PB = Port base = 7400
        d0, d1, d2, d3是额外的偏移值
        d0 = 0
        d1 = 10
        d2 = 1
        d3 = 11
        
        SPDP和SEDP使用相同的通信端口。
    
    9.6.2.2 User traffic
        User流量在Participant创建的User终端节点(Endpoint)之间交互。因此,User流量和Discovery(SPDP,SEDP)无关。User终端节点使用的端口的计算方式如下:
      

User traffic type    |    Default port number expression
--------------------   -----------------------------------------------Multicast          |  PB + DG * domainId + d2
--------------------   -----------------------------------------------Unicast            |  PB + DG * domainId + d3 + PG * participantId   
--------------------   -----------------------------------------------


      
    9.6.2.4 Default multicast address
        默认预配置的地址集合中必须包含如下组播地址(UDPv4):

DefaultMulticastLocator = {LOCATOR_KIND_UDPv4, “239.255.0.1”, PB + DG * domainId + d0}


        最后一个是组播的端口
        所有的Participant的PDP通信locator中必须包括该地址
   

SPDPbuiltinParticipantWriter.readerLOocators CONTAINS DefaultMulticastLocator
SPDPbuiltinParticipantReader.multicastLocatorList CONTAINS DefaultMulticastLocator

  

    5.3.2.3. Initial peers  (https://fast-dds.docs.eprosima.com/en/latest/fastdds/discovery/simple.html)
         根据RTPS标准,每个RTPSParticipant必须在两个端口上监听PDP元数据信息,其中一个端口绑定单播地址,另一个绑定组播地址。
         FastDDS允许用户自己配置initial peers(初始化对等节点列表),其中包括一个或者多个IP+端口,这些IP+端口分别是不同远端Participant监听用于交换PDP数据的,因此本地的Participant只需要想这些initial peers发送PDP流量数据即可。
         Participant的initial peers中包含IP和端口的键值对集合,这些IP+端口是要和本地Participant进行PDP流量交互的其他Participant所监听的,这些地址可以是单播地址或者组播地址。
         如果initial peers中没有元素的话,那么DefaultMulticastLocator会被加入initial peers。

相关文章:

  • STL简介 + string【上】
  • Python环境中在线训练机器学习模型所遇到的问题及解决方案
  • 不确定与非单调推理的概率方法
  • 2025年大一训练-DP1
  • WebSocket:实现实时双向通信的技术
  • 网络安全-Burp Suite基础篇
  • 手持式三维扫描设备赋能智能汽车制造
  • 第五章 SQLite数据库:5、SQLite 进阶用法:JOIN、UNION、TRIGGER、INDEX、ALIAS、INDEXED BY 等模块
  • 大屏设计与汇报:政务服务可视化实践
  • RUI桌面TV版最新版免费下载-安卓电视版使用教程
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(二级)真题
  • LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, stream 流操作
  • Windows 11设置开机自动运行 .jar 文件
  • orcad csi 17.4 DRC规则设置及检查
  • 生成器模式深入解析与 Spring 源码应用
  • 新书速览|DeepSeek移动端AI应用开发:基于Android与iOS
  • AI数字人如何深度赋能政务场景?魔珐科技政务应用全景解读
  • 第十七届“华中杯”大学生数学建模挑战赛题目C题就业状态分析与预测完整 思路 代码 模型 结果 分享
  • Android守护进程——Vold (Volume Daemon)
  • C# 检查字符串是否包含在另一个字符串中
  • 延安市委副书记马月逢已任榆林市委副书记、市政府党组书记
  • 上海交大发布“AI十条”,鄂维南院士已任该校人工智能学院讲席教授
  • 一中国公民在日本滑雪场意外死亡,我领馆发布提醒
  • 航行警告!南海部分水域进行军事训练,禁止驶入
  • 观察|美军在菲律宾部署新导弹,试图继续构建“导弹链”
  • 黄山旅游:去年黄山景区累计接待进山游客492.24万人,同比增长7.6%