DDS RTPS

RTPS(Real-Time Publish-Subscribe Wire Protocol)是DDS(Data Distribution Service)规范的核心组成部分和底层通信协议。它定义了DDS实体(如DataWriter和DataReader)之间如何在网络上实际交换信息,实现发布-订阅模型的互操作性和实时通信。

以下是关于 DDS 中 RTPS 协议的详细解释:

  1. 定位与目的

    • 互操作性协议:RTPS 的核心目标是提供不同 DDS 实现(来自不同供应商)之间进行通信的标准方式。它定义了 DDS 实体(发布者、订阅者、数据写入器、数据读取器)如何在网络上交换发现信息和实际应用数据的线协议
    • 实时通信基础:它专为满足分布式实时系统的需求而设计,强调低延迟、可预测性、可靠性和可扩展性。
    • 网络承载:RTPS 通常运行在 UDP/IP 之上(利用其多播能力进行高效发现),但也支持 TCP/IP 和其他传输层协议(用于点对点可靠通信或穿越防火墙)。它属于应用层协议
  2. 关键特性和设计目标

    • 互操作性:这是 RTPS 存在的首要原因。遵循 RTPS 标准的任何 DDS 实现都可以与其他遵循标准的实现进行通信。
    • 实时性:协议设计考虑了实时约束,通过 QoS 策略(如截止期限、基于时间的过滤、流量控制)和高效的报文格式来支持可预测的端到端延迟。
    • 可靠性:提供可配置的可靠性保证。支持“尽力而为 BEST_EFFORT”和“可靠 RELIABLE”两种模式。在可靠模式下,使用类似 TCP 的 ACK/NACK 机制(但更灵活、高效,支持多播)来确保数据按顺序、无丢失地传输。
    • 可扩展性:利用 UDP 多播进行高效的发现(自动找到网络上的参与者、主题、端点),极大地减少了发现大量实体时的网络流量和配置负担。支持大规模分布式系统。
    • 平台无关性:作为标准协议,它独立于操作系统、编程语言和硬件平台。
    • 灵活性:支持多种拓扑结构(点对点、多播、广播)和通信模式(一对一、一对多、多对一、多对多)。
    • 冗余与容错:支持发现和使用冗余的数据写入器(发布者端)和数据读取器(订阅者端),增强了系统的容错能力。
    • 松耦合/匿名发布订阅:生产者和消费者在空间(位置透明)和时间(生命周期解耦)上解耦。发布者和订阅者无需直接知道对方的存在,通过主题进行匹配。
    • 动态发现:RTPS 定义了强大的发现协议(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值