Hello all,
I would like to know how to make two DDS node communicate if one the node is behind the router.
For example, I have node A is publisher, running on network 192.168.1.2, and I have node B is a subscriber running behind a router, node B IP is 10.0.0.2, the lan IP of router is 10.0.0.1, the wan IP of router is 192.168.1.3
How to configure the port forwarding of the router that can let node B read the signal from Node A?
Thanks
There could be a couple of ways to accomplish your goals depending on your exact requirements:
We have an interactive spreadsheet to help you easily figure out which ports will be in use here: https://community.rti.com/filedepot?cid=11&fid=14
Routing service would use the TCP transport to accomplish this, and there are many other filters and features that you could apply. Example configuration and a demo is available here (that also shows you how to apply filters)
Thanks for the reply.
I am testing it with the rti dds ping and the admin console. In our application, only one subscriber is under the router LAN network, and the publisher is on the WAN network of the router.
After setting the port forwarding to the subscriber IP and peer connection to the router on the ping publisher, I am able to see the ping topic from the subscriber network(router LAN) in admin console, but couldn't see any message coming after I click the subscribe button in the admin console.
If I bring up the admin console in one of the node in the publisher network(router WAN), I can both see and receive the message from rti dds ping.
Any advice and suggestions will be greatly appreciated
When going through NAT, you read and try the various scenarios offered in this documentation.
Configuring Firewalls and Routers:
https://community.rti.com/content/forum-topic/statically-configure-firewall-let-omg-dds-traffic-through
If using UDP, you need to make sure you configure the public_address correctly, see
https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/api/connext_dds/api_cpp/structNDDS__Transport__UDPv4__Property__t.html#a4fda981516c74d50d31abe161d4f7381
If using TCP:
https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/TCP_Communication_Scenarios.htm#configuringtcp_1881750307_1016098%3FTocPath%3DPart%25207%253A%2520RTI%2520TCP%25C2%25A0Transport%7C43.%2520TCP%2520Communication%2520Scenarios%7C_____0
If you're running admin console on the LAN side on a different machine it will have a different IP, and therefore any port forwarding will not be configured for the admin console machine
If you're running admin console on the LAN side on the same machine, it will have a higher participantID (assuming you started admin console second), and therefore it will use different UDP ports (if using unicast). See the interactive spreadsheet I linked to above.
If everything on the LAN side is run on a single machine, it might be best to configure the router to open all ports in that domain, or even configure the router's DMZ which should solve your issue (as long as the IPs stay the same)