RTI connext DDS 的 UDP 传输中使用了多个端口?
multiple ports being used in UDP transport of RTI connext DDS?
在 RTI connext DDS 的 UDP 传输中使用多个端口,而在 RTI connext DDS 的 TCP/IP 中只使用一个端口有什么好处??
我无法回答有关 "advantage" 的问题。但是,我可以解释为什么这样做,因此您可以做出自己的判断。
UDP 匿名、对等发现方法在标准中以这种方式定义。该标准定义了如何为给定地址上的给定参与者获取端口号。因为是标准的,所以Vendor-A的DDS可以马上找到Vendor-B的DDS
没有可与 UDP 定义标准相比较的 TCP 模拟。最终会有,但目前,每个希望提供 TCP 传输的供应商都可以随心所欲地进行。这意味着在大多数情况下,供应商 A 的方法将无法与供应商 B 的方法一起使用,因此他们不会看到对方。
顺便说一句,这就是为什么共享内存传输也不是供应商可互操作的原因。
RTI Connext TCP/IP 传输使用单个端口进行发现。之后,它使用为对等点之间的套接字连接创建的临时端口。
UDP 端口映射由 OMG RTPS DDS 互操作性有线协议规范 (http://www.omg.org/spec/DDSI-RTPS/)、平台特定模型 (PSM) 定义: UDP/IP。
有一些 advantages/requirements 证明使用不同的端口进行发现和数据流量是合理的。最相关的是:
- 流量区分:使用不同的端口更容易
识别不同类型的流量。这对双方都有用
调试(例如,使用 wireshark),以及应用不同的
处理发现和用户数据流量。
- 并行性:通过使用多个端口可以并行化
发现和用户数据流量的处理和生成。
这在某些具有严格延迟的环境中至关重要
对用户数据流量的要求。
RTI Connext TCP Transport 设计满足这两个要求,但它还有一个附加要求:
- NAT 支持: TCP 传输应该很容易在 NAT 中配置
环境。
RTI Connext TCP Transport 支持一种模式,它只打开一个服务器端口来接受两个参与者通信所需的所有连接(在配置的 server_bind_port 上)。这样,它与 NAT 环境兼容,其中只有参与者 运行 RTI TCP 服务器具有可公开访问的地址和端口。然后,参与者 运行 RTI TCP 客户端将只打开到该服务器的连接。
请注意,即使 RTI TCP Transport 只打开一个服务器 port/socket,服务器也只使用该套接字来接受连接。 RTI TCP 传输 仍在打开不同的连接来处理每种流量类型和方向(incoming/outcoming 发现,incoming/outcoming 用户数据)。仍然满足并行度要求。
关于流量区分,RTI TCP 传输 向 RTPS 流量添加了额外的 headers,因此可以在网络上轻松识别。
请注意,这是 RTI 特有的,因为目前没有 OMG TCP PSM 模型 的规范,但它目前处于OMG.
的作品
在 RTI connext DDS 的 UDP 传输中使用多个端口,而在 RTI connext DDS 的 TCP/IP 中只使用一个端口有什么好处??
我无法回答有关 "advantage" 的问题。但是,我可以解释为什么这样做,因此您可以做出自己的判断。
UDP 匿名、对等发现方法在标准中以这种方式定义。该标准定义了如何为给定地址上的给定参与者获取端口号。因为是标准的,所以Vendor-A的DDS可以马上找到Vendor-B的DDS
没有可与 UDP 定义标准相比较的 TCP 模拟。最终会有,但目前,每个希望提供 TCP 传输的供应商都可以随心所欲地进行。这意味着在大多数情况下,供应商 A 的方法将无法与供应商 B 的方法一起使用,因此他们不会看到对方。
顺便说一句,这就是为什么共享内存传输也不是供应商可互操作的原因。
RTI Connext TCP/IP 传输使用单个端口进行发现。之后,它使用为对等点之间的套接字连接创建的临时端口。
UDP 端口映射由 OMG RTPS DDS 互操作性有线协议规范 (http://www.omg.org/spec/DDSI-RTPS/)、平台特定模型 (PSM) 定义: UDP/IP。
有一些 advantages/requirements 证明使用不同的端口进行发现和数据流量是合理的。最相关的是:
- 流量区分:使用不同的端口更容易 识别不同类型的流量。这对双方都有用 调试(例如,使用 wireshark),以及应用不同的 处理发现和用户数据流量。
- 并行性:通过使用多个端口可以并行化 发现和用户数据流量的处理和生成。 这在某些具有严格延迟的环境中至关重要 对用户数据流量的要求。
RTI Connext TCP Transport 设计满足这两个要求,但它还有一个附加要求:
- NAT 支持: TCP 传输应该很容易在 NAT 中配置 环境。
RTI Connext TCP Transport 支持一种模式,它只打开一个服务器端口来接受两个参与者通信所需的所有连接(在配置的 server_bind_port 上)。这样,它与 NAT 环境兼容,其中只有参与者 运行 RTI TCP 服务器具有可公开访问的地址和端口。然后,参与者 运行 RTI TCP 客户端将只打开到该服务器的连接。
请注意,即使 RTI TCP Transport 只打开一个服务器 port/socket,服务器也只使用该套接字来接受连接。 RTI TCP 传输 仍在打开不同的连接来处理每种流量类型和方向(incoming/outcoming 发现,incoming/outcoming 用户数据)。仍然满足并行度要求。
关于流量区分,RTI TCP 传输 向 RTPS 流量添加了额外的 headers,因此可以在网络上轻松识别。
请注意,这是 RTI 特有的,因为目前没有 OMG TCP PSM 模型 的规范,但它目前处于OMG.
的作品