1

I'm newbie to DDS/Fast-RTPS. Based on my understanding, the discovery is LAN-based. It failed to discover a node which is not in the same LAN. is it correct?

I'm wondering if we can use fast-rtps to communication across networks? ps. let's ignore NAT/Firewall issues. Assuming we have a IP/TCP full reachable network environment.

Kevin Kuei
  • 193
  • 2
  • 17

1 Answers1

1

DDS uses Multicast UDP. If your switches and other network infrastructure is set to swallow Multicast packets, or if the TTL is set too low, then the default discovery implementation of DDS will not complete/be seen.

You can up the TTL on your infrastructure, or you can tell the DDS libraries to target specific addresses (see the documentation for your provider's libraries).

rip...
  • 996
  • 5
  • 20
  • Thanks for the reply. I didn't quite get it. For example, node1 is at 140.1.1.1 and node2 is at 180.2.2.2, We assumed there's no any firewall/NAT issues. Did you mean I should specify (add initial peer) 140.1.1.1 in node2 and specify 180.2.2.2 in node1? – Kevin Kuei Oct 24 '19 at 06:19
  • 1
    Setting an initial peer tells the participants that they should try to reach that address directly, not rely on multicast. Keep in mind that it is still UDP so any switch or hub in the topology has the right to drop the packets. Realistically you only need an initial peer set on one side (when it reaches out to the other node, the other node learns of its existence). But setting initial peers on both, pointing at the other, will shorten discovery. – rip... Oct 24 '19 at 21:30
  • I see. Thank you! – Kevin Kuei Oct 25 '19 at 06:18