This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
ddsf:public:guidebook:06_append:glossary:r:rtps [2020/09/30 15:11] murphy [Real-time Publish-Subscribe (RTPS)] |
ddsf:public:guidebook:06_append:glossary:r:rtps [2021/07/14 16:17] (current) murphy ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| f | f | ||
| ===== Real-time Publish-Subscribe (RTPS) ===== | ===== Real-time Publish-Subscribe (RTPS) ===== | ||
| - | [[ddsf:private:cookbook:06_append:glossary| Return to Glossary ]] | + | [[ddsf:public:guidebook:06_append:glossary:start| Return to Glossary ]] |
| - | **Real-time Publish-Subscribe(RTPS)** [[ddsf:private:cookbook:06_append:glossary:w:wireproro]] defines a set of requirements for a wire protocol suitable for the [[ddsf:private:cookbook:06_append:glossary:d:data_distribution_service_dds]]. Primary considerations in the design of the RTPS wire protocol are: [[ddsf:private:cookbook:06_append:glossary:p:performance|performance]], configurability (tuning quality-of-service), [[ddsf:private:cookbook:06_append:glossary:f:faulttolerance|fault-tolerance]] (no single points of failure), extensibility (support new transports), plug-and-play connectivity (automatic discovery), [[ddsf:private:cookbook:06_append:glossary:m:modularity|modularity]], [[ddsf:private:cookbook:06_append:glossary:s:scalable|scalability]], and type safety. | + | **Real-time Publish-Subscribe(RTPS)** [[ddsf:public:guidebook:06_append:glossary:w:wireprotocol]] defines a set of requirements for a wire protocol suitable for the [[ddsf:public:guidebook:06_append:glossary:d:data_distribution_service_dds]]. Primary considerations in the design of the RTPS wire protocol are: [[ddsf:public:guidebook:06_append:glossary:p:performance|performance]], configurability (tuning quality-of-service), [[ddsf:public:guidebook:06_append:glossary:f:faulttolerance|fault-tolerance]] (no single points of failure), extensibility (support new transports), plug-and-play connectivity (automatic discovery), [[ddsf:public:guidebook:06_append:glossary:m:modularity|modularity]], [[ddsf:public:guidebook:06_append:glossary:s:scalable|scalability]], and [[ddsf:public:guidebook:06_append:glossary:t:typesafe|type safety]]. |
| - | RTPS imposes very little requirements on the underlying transport: a connectionless service capable of sending packets [[ddsf:private:cookbook:06_append:glossary:b:besteffort|best-effort]] is sufficient. A connection-oriented protocol can be used but is not required. The mechanisms of the underlying protocol map to the generalized notions of the RTPS [[ddsf:private:cookbook:06_append:glossary:p:pim]]. | + | RTPS imposes very little requirements on the underlying transport: a connectionless service capable of sending packets [[ddsf:public:guidebook:06_append:glossary:b:besteffort|best-effort]] is sufficient. A connection-oriented protocol can be used but is not required. The mechanisms of the underlying protocol map to the generalized notions of the RTPS [[ddsf:public:guidebook:06_append:glossary:p:pim]]. |
| - | The original [[ddsf:private:cookbook:06_append:01_family_of_standards:01_core:ddsi_rtps | DDSI-RTPS]] specification defined a [[ddsf:private:cookbook:06_append:glossary:p:psm]] built upon the User [[ddsf:private:cookbook:06_append:glossary:u:udp]] because of its simplicity, universal [[ddsf:private:cookbook:06_append:glossary:a:availability|availability]], best-effort and connectionless capabilities, predictable behavior, scalability, and [[ddsf:private:cookbook:06_append:glossary:m:multicast|multicast]] support. | + | The original [[ddsf:public:guidebook:06_append:01_family_of_standards:01_core:ddsi_rtps| DDSI-RTPS]] specification defined a [[ddsf:public:guidebook:06_append:glossary:p:psm]] built upon the User [[ddsf:public:guidebook:06_append:glossary:u:udp]] because of its simplicity, universal [[ddsf:public:guidebook:06_append:glossary:a:availability|availability]], best-effort and connectionless capabilities, predictable behavior, scalability, and [[ddsf:public:guidebook:06_append:glossary:m:multicast|multicast]] support. |
| - | However, some DDS systems would benefit from an RTPS PSM built upon the [[ddsf:private:cookbook:06_append:glossary:t:tcp]]. Among other scenarios, a TCP PSM would be better suited for communication through firewalls, where often UDP traffic is filtered; could leverage existing TCP-based [[ddsf:private:cookbook:06_append:glossary:l:loadbal|load-balancing]] infrastructure; and would allow DDS to be deployed in some applications where governance mandates TCP exclusively. Therefore, the [[ddsf:private:cookbook:06_append:glossary:g:goal|goal]] of this [[ddsf:private:cookbook:06_append:glossary:r:rfp]] is to meet the requirements set forth by the RTPS PIM with minimum possible overhead using TCP. | + | However, some DDS systems would benefit from an RTPS PSM built upon the [[ddsf:public:guidebook:06_append:glossary:t:tcp]]. Among other scenarios, a TCP PSM would be better suited for communication through firewalls, where often UDP traffic is filtered; could leverage existing TCP-based [[ddsf:public:guidebook:06_append:glossary:l:loadbal|load-balancing]] infrastructure; and would allow DDS to be deployed in some applications where governance mandates TCP exclusively. Therefore, the [[ddsf:public:guidebook:06_append:glossary:g:goal|goal]] of this [[ddsf:public:guidebook:06_append:glossary:r:rfp]] is to meet the requirements set forth by the RTPS PIM with minimum possible overhead using TCP. |
| Source: [[https://www.omg.org/spec/DDSI-RTPS/2.3/Beta1/PDF | Real-time Publish-Subscribe (RTPS) ]] | Source: [[https://www.omg.org/spec/DDSI-RTPS/2.3/Beta1/PDF | Real-time Publish-Subscribe (RTPS) ]] | ||