User Tools

Site Tools


ddsf:public:guidebook:06_append:glossary:r:rtps

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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) ]]
  
ddsf/public/guidebook/06_append/glossary/r/rtps.1601493083.txt.gz · Last modified: 2020/09/30 15:11 by murphy