RTI连接DDS的UDP传输中使用多个端口?

时间:2017-11-24 07:13:04

标签: linux tcp udp data-distribution-service opendds

在RTI连接DDS的UDP传输中使用多个端口有什么好处,而RTI连接DDS的TCP / IP中只使用一个端口?

2 个答案:

答案 0 :(得分:1)

UDP端口映射由 OMG RTPS DDS互操作性线协议规范http://www.omg.org/spec/DDSI-RTPS/),平台特定模型(PSM):UDP / IP 定义。

有一些优点/要求可以证明使用不同的端口进行发现和数据流量。最相关的是:

  • 流量差异化:使用不同的端口变得更容易 识别不同类型的流量。这对两者都有用 调试(例如,使用wireshark),以及应用不同的 处理发现和用户数据流量。
  • 并行性:通过使用多个端口,可以并行化 处理和生成发现和用户数据流量。 这在具有严格延迟的某些环境中至关重要 用户数据流量的要求。

RTI Connext TCP传输设计满足这两个要求,但还有一个额外要求:

  • NAT支持:TCP传输应该很容易在NAT中配置 的环境中。

RTI Connext TCP传输支持一种模式,它只打开一个服务器端口,用于接受通信两个参与者所需的所有连接(在已配置的server_bind_port上)。这样,它与NAT环境兼容,其中只有运行 RTI TCP 服务器的Participant具有可公开访问的地址和端口。然后,运行 RTI TCP 客户端的参与者将只打开与该服务器的连接。

请注意,即使 RTI TCP Transport 只打开一个服务器端口/套接字,服务器也只使用该套接字来接受连接。 RTI TCP传输仍在打开不同的连接,用于处理每种流量类型和方向(传入/传出发现,传入/传出用户数据)。仍然满足并行性要求。

关于流量差异化, RTI TCP传输会为RTPS流量添加额外的标头,因此可以在线路上轻松识别。

请注意,这是 RTI 特有的,因为目前没有 OMG TCP PSM模型的规范,但是它目前正在由 OMG工作

答案 1 :(得分:0)

我无法回答有关“优势”的问题。我可以解释为什么这样做,所以你可以做出自己的判断。

UDP匿名,点对点发现方法在标准中定义。该标准定义了给定参与者在给定地址上如何到达端口号。因为它符合标准,所以Vendor-A的DDS可以立即找到Vendor-B的DDS。

没有与UDP定义的标准类似的TCP模拟。最终会有,但目前,每个想要提供TCP传输的供应商都可以自由地按照自己的意愿去做。这意味着,在大多数情况下,Vendor-A的方法不适用于Vendor-B的方法,因此他们不会看到对方。

顺便说一下,这就是共享内存传输也不是供应商可互操作的原因。

RTI连接TCP / IP传输使用单个端口进行发现。之后,它使用为对等体之间的套接字连接创建的临时端口。

相关问题