communicate behind router

5 posts / 0 new
Last post
Offline
Last seen: 2 years 2 weeks ago
Joined: 03/03/2022
Posts: 2
communicate behind router

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

r
Offline
Last seen: 2 months 1 week ago
Joined: 06/17/2019
Posts: 47

There could be a couple of ways to accomplish your goals depending on your exact requirements:

  1. If you only have one machine running applications behind the NAT router, you could set that IP as the DMZ within your router's configuration which should route all traffic through the NAT to it
  2. If you want to use the normal UDP builtin transport, it utilizes various ports depending on the domainID and participantID. You could forward these UDP ports through your NAT. 
    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
  3. If you wanted to continue to use the UDP builtin transport within each subnet, you could use our routing service as a bridge between subnets.
    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)
  4. You could also switch each application that needs to communicate across the NAT into using the builtin TCP transport. Since traffic would likely flow from the natted participant to the upstream participant without any additional configuration
Offline
Last seen: 2 years 2 weeks ago
Joined: 03/03/2022
Posts: 2

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

Howard's picture
Offline
Last seen: 1 day 17 hours ago
Joined: 11/29/2012
Posts: 565
r
Offline
Last seen: 2 months 1 week ago
Joined: 06/17/2019
Posts: 47

but couldn't see any message coming after I click the subscribe button in the admin console.

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)