RTPS协议由Real-Time Innovations,Inc。开发,作为数据分发系统的有线协议。
此页面仅包含对RTPS的简短介绍。 有关更多详细信息,您可以访问以下来源:
实时发布 - 订阅线协议DDS互操作性线协议(DDSI): http ://www.omg.org/spec/DDSI/
完整的OMG DDS标准规范: http ://www.omg.org/cgi-bin/doc?tptc / 03-07-07
NDDS和RTPS信息: http ://www.rti.com/resources.html
随着Internet的爆炸式增长,TCP / UDP / IP协议套件已成为构建所有基于Internet的通信的基础框架。 他们的成功证明了这些协议的普遍性和强大性。但是,这些传输级协议的级别太低,不能被最简单的应用程序直接使用。 因此,出现了更高级别的协议,例如HTTP,FTP,DHCP,DCE,RTP,DCOM和CORBA。 这些协议中的每一个都填补了一席之地,为特定目的或应用领域提供了良好调整的功能。
在网络通信中,与许多工程领域一样,事实上一种尺寸并不适合所有人。 工程设计是关于做出正确的权衡取舍,这些权衡取舍必须平衡相互冲突的要求,例如通用性,易用性,功能丰富性,性能,内存大小和使用,可伸缩性,确定性和健壮性。 必须根据信息流的类型(例如,定期,一对多,请求 - 回复,事件)以及应用程序和执行平台施加的约束来进行这些权衡。
实时发布 - 订阅(RTPS)有线协议提供两种主要的通信模型:发布 - 订阅协议,它将数据从发布者传输到订阅者; 以及传输状态的复合状态转移(CST)协议。
RTPS协议旨在运行不可靠的传输,例如UDP / IP。 RTPS协议设计的主要目标是:
RTPS协议在DomainParticipants的域中运行。 DomainParticipant包含本地CommunicationEndpoints,通过它使用RTPS协议发送或接收信息。CommunicationEndpoints是读者或作者。 编写者在域上提供本地可用数据(复合状态或问题流)。 读者获取此信息。
作家有两大类:出版物和CST编写者。 Publication是一个Writer,它使用发布 - 订阅协议和语义向一个或多个Subscription实例提供问题。
DomainParticipant中存在发布表明DomainParticipant愿意将问题发布到域上的匹配订阅。 出版物的属性描述了内容(主题),问题类型以及在域上发布的问题流的质量。
读者有两大类:订阅和CSTReaders。 订阅是一种使用发布 - 订阅协议从一个或多个发布实例接收问题的Reader。
Subscription的存在表明DomainParticipant希望从Publications接收域中特定主题的问题。 订阅具有标识数据的内容(主题),问题的类型以及它希望接收问题流的质量的属性。
CSTWriter和CSTReader分别等同于Publication和Subscription,但用作状态同步协议(CST)的通信端点。
每个Reader(CSTReader或Subscription)和Writer(CSTWriter或Publication)都是DomainParticipant的一部分。 DomainParticipant及其读者和写者是本地的,在图1.1中通过关键字“local”表示DomainParticipant与其CommunicationEndpoints之间的关系。
DomainParticipants有两种:Managers和ManagedApplications。 Manager是一个特殊的DomainParticipant,可帮助ManagedApplications在域内自动发现彼此。 ManagedApplication是由一个或多个Managers管理的DomainParticipant。 每个ManagedApplication都由至少一个Manager管理。
该协议提供两种类型的功能:
管理:RTPS协议定义了CST协议的特定用途,使DomainParticipants能够获取有关域中所有其他DomainParticipants和CommunicationEndpoints的存在和属性的信息。 此metatraffic使每个DomainParticipant都能获得域中所有DomainParticipants,Readers和Writers的完整图片。 此信息允许每个DomainParticipant将数据发送到正确的位置并解释传入的数据包。
RTPS旨在运行在不可靠的传输机制上,例如UDP / IP。 协议在问题和状态的转移中实现可靠性。
RTPS利用传输机制的多播功能,其中来自发送方的一条消息可以到达多个接收方。
RTPS旨在促进底层通信机制的确定性。 该协议还提供了确定性和可靠性之间的公开权衡。
RTPS协议使用五条逻辑消息:
ISSUE:包含应用程序的UserData。 问题由出版物发送到一个或多个订阅。
这些逻辑消息中的每一个都在特定的读者和作者之间发送,如下所示:
读者和作者都是RTPS消息的发送者和接收者。 在协议中,逻辑消息ISSUE,VAR,HEARTBEAT,GAP和ACK可以以几种方式组合成单个消息,以有效地使用底层通信机制。 第3章介绍了Message的格式和结构。
RTPS使用对象管理组(OMG)定义的CDR(公共数据表示)来表示所有基本数据和结构。