DDSI-RTPS version 2.3 17
The Behavior module is described in 8.4.
7.4.4 The Discovery Module
The Discovery module describes the protocol that enables Participants to obtain information about the
existence and attributes of all the other Participants and Endpoints in the Domain. This metatraffic enables
every Participant to obtain a complete picture of all Participants, Readers and Writers in the Domain and
configure the local Writers to communicate with the remote Readers and the local Readers to communicate
with the remote Writers.
Discovery is a separate module. The unique needs of Discovery, namely the transparent plug-and-play
dissemination of all the information needed to associate matching Writers and Readers make it unlikely that a
single architecture or protocol can fulfill the extremely variable scalability, performance, and embeddability
needs of the various heterogeneous networks where DDS will be deployed. Henceforth, it makes sense to
introduce several discovery mechanisms ranging from the simple and efficient (but not very scalable), to a
more complex hierarchical (but more scalable) mechanism.
The Discovery module is described in 8.5.
7.5 The RTPS Platform Specific Model (PSM)
A Platform Specific Model maps the RTPS PIM to a specific underlying platform. It defines the precise
representation in bits and bytes of all RTPS Types and Messages and any other information specific to the
platform.
Multiple PSMs may be supported, but all implementations of DDS must at least implement the PSM on top of
UDP/IP, which is presented in Clause 9.
7.6 The RTPS Transport Model
RTPS supports a wide variety of transports and transport QoS. The protocol is designed to be able to run on
multicast and best-effort transports, such as UDP/IP and requires only very simple services from the transport.
In fact, it is sufficient that the transport offers a connectionless service capable of sending packets best-effort.
That is, the transport need not guarantee each packet will reach its destination or that packets are delivered in-
order. Where required, RTPS implements reliability in the transfer of data and state above the transport
interface. This does not preclude RTPS from being implemented on top of a reliable transport. It simply
makes it possible to support a wider range of transports.
If available, RTPS can also take advantage of the multicast capabilities of the transport mechanism, where one
message from a sender can reach multiple receivers. RTPS is designed to promote determinism of the
underlying communication mechanism. The protocol provides an open trade-off between determinism and
reliability.
The general requirements RTPS poses on the underlying transport can be summarized as follows:
•
The transport has a generalized notion of a unicast address (shall fit within 16 bytes).
•
The transport has a generalized notion of a port (shall fit within 4 bytes), e.g., could be a UDP port,
an offset in a shared memory segment, etc.
•
The transport can send a datagram (uninterpreted sequence of octets) to a specific address/port.
•
The transport can receive a datagram at a specific address/port.
•
The transport will drop m essages if incomplete or corrupted during transfer (i.e., RTPS assumes
messages are complete and not corrupted).
•
The transport provides a means to deduce the size of the received message.