Robotics StackExchange | Archived questions

Minimum requirements for ROS Network Setup for multiple machines.

I am currently working on a Teleoperation robot using ROS Kinetic on Ubuntu 16.04. I am having problems with setting up ROS across two computers in my uni's WPA2 enterprise network. I have been able to connect my two computers using my own router using http://wiki.ros.org/ROS/Tutorials/MultipleMachines and http://wiki.ros.org/ROS/NetworkSetup .

I have contacted my uni's IT department and they have agreed to help setup a special network for my project. But need more information on the minimum network requirements for ROS to function while maintaining a secure network.

According to the documentation the following are requirements:

1.There must be complete, bi-directional connectivity between all pairs of machines, on all ports. The IT department said all ports was a nonstarter for security reasons and asked if there is a range of ports that will work ?

2.Each machine must advertise itself by a name that all other machines can resolve. Does this mean every machine must have a static IP address?

3.I'm assuming there is a firewall in the network, does that mean I have to have a VPN as well??

Any information or tips will help. Also please excuse my ignorance towards networks, I do not have too much experience.

Asked by moxo26 on 2019-02-17 19:45:30 UTC

Comments

Answers

  1. ROS uses randomly-assigned ports for publishers and subscriber. These ports are typically in the range 1024-65536 . Computers running ROS within your network need to be able to communicate on these ports. (I'm surprised your IT department thinks this is a non-starter).

  2. There are a number of ways to satisfy this:

    1. set up static IP addresses and DNS
    2. set up static IP addresses and hosts files on every computer
    3. set up a combined DNS/DHCP server like dnsmasq.
    4. set up DHCP to assign addresses statically, and set up DNS
    5. set up DHCP to assign addresses statically, and set up hosts files on every computer
  3. I'm not sure why you're bringing up VPN. If all of your computers are on the same network, you don't need it. I feel like I'm missing some big part of your requirements.

Asked by ahendrix on 2019-02-17 20:50:21 UTC

Comments

ROS uses randomly-assigned ports for publishers and subscriber.

Perhaps interesting/important for the IT department: it's not "ROS" necessarily, but just a consequence of relying on the TCP/UDP infrastructure of the OS and asking for a port in the ephemeral range.

Asked by gvdhoorn on 2019-02-18 02:33:20 UTC

As a quick addition, I found 2.2. to be the easiest to do.

Asked by fvd on 2019-02-19 01:12:49 UTC