赞
踩
目录
DDS 是一种实时数据分发服务协议,由 OMG(Object Management Group)制定。它为分布式系统提供了一种基于发布/订阅(pub/sub)模型的实时、可靠、高性能的数据通信机制。DDS 已经成为自动驾驶、航空航天、工业自动化等许多实时和安全关键领域的通信标准。
在分布式实时系统中,组件之间需要高效、可靠地交换数据。传统的通信方法,如点对点连接或基于消息队列的方法,在某些方面可能无法满足实时性、可扩展性或容错性的需求。DDS 协议的出现解决了这些问题,它提供了以下优势:
DDS 的核心是发布/订阅模型。系统中的组件可以作为发布者(publisher)或订阅者(subscriber)。发布者负责生成数据,而订阅者负责接收和处理数据。数据的传输基于主题(topic),主题是一种描述数据类型和名称的元数据。发布者和订阅者通过主题进行匹配,以便在不需要直接连接的情况下进行通信。
DDS 还包括以下关键组件和概念:
全称是Real-Time Publish-Subscribe 协议。
RTPS 是一种实时发布/订阅协议,它是 OMG(Object Management Group)为 DDS(Data Distribution Service)制定的底层传输协议。RTPS 提供了一种机制,用于在分布式系统中的参与者之间发现和匹配实体(例如发布者、订阅者、数据写入器和数据读取器),以及传输数据。RTPS 的目标是提供实时性、可靠性、可扩展性和容错性。
RTPS 协议作为 DDS 的底层传输协议,解决了分布式实时系统中的以下挑战:
RTPS 协议的核心是一种基于 UDP/IP 的可靠多播/单播传输机制。RTPS 的工作原理可分为以下几个关键部分:
Negative Acknowledgment(NACK,负向确认)是一种通信协议中用于表示接收方未成功接收到某些数据的信号。在可靠的数据传输机制中,NACK 被用于告知发送方哪些数据包未被正确接收,以便发送方可以重新传输这些丢失或损坏的数据包。
在基于 NACK 的确认机制中,接收方只在发现数据包丢失或损坏时发送 NACK。这与 Positive Acknowledgment(ACK,正向确认)机制不同,ACK 机制要求接收方对每个成功接收到的数据包发送 ACK 信号。
使用 NACK 机制的优势在于,当大部分数据包都被正确接收时,它可以减少网络上的确认信号通信开销。这是因为接收方只在需要重新传输数据包时发送 NACK,而不是对每个接收到的数据包发送 ACK。然而,这种方法在数据包丢失率较高的情况下可能不如 ACK 机制有效,因为可能需要频繁地发送 NACK 信号来请求丢失数据包的重新传输。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。