RTI Connext ports

4 posts / 0 new
Last post
Offline
Last seen: 6 years 5 months ago
Joined: 02/13/2013
Posts: 5
RTI Connext ports

Hey,

I'm trying to enable multicast transport between two different segments and i need to know which ports i need to enable per domain.

I've seen some kind of formula on the Knowledge Base but i didn't quite understand it. I'd love to have some quick explanation.

Thanks

Gerardo Pardo's picture
Offline
Last seen: 1 month 2 weeks ago
Joined: 06/02/2010
Posts: 589

Hi,

There is  detailed explanation on the ports used by DDS in the HOWTO titled Statically configure a Firewall to let OMG DDS Traffic through.   You can also take a look at this Spreadsheet to compute the UDP ports used by RTI Connext DDS

Regards,

Gerardo

Offline
Last seen: 6 years 5 months ago
Joined: 02/13/2013
Posts: 5

Pardon my ignorance, but am I suppose to just enable ports for all possible participant IDs? How can I control which IDs I'm using, and why does unicast discovery require the foreknowledge of a participant's ID at all?

Gerardo Pardo's picture
Offline
Last seen: 1 month 2 weeks ago
Joined: 06/02/2010
Posts: 589

Hi,

You control the DDS domainId that the applications use. So you only need to open the ports that correspond to the domainId's you will use. For example if your application will only use the DDS domainId zero (which is the default), the only multicast ports that will be used are 7400 and 7401.

Keep in mind that for applications to communicate with each other they all need to be in the same DDS domainId. The only reason to use different domainIds is if you want to break the DDS Global Data Space and have completely independent applications that are isolated from each other, that is, they do not discover each other and go not communicate even if they use the same Topic name.

The DDS domainId should not be confused with the DDS participantId. The participantId is an index that must be unique to each DDS DomainParticipant that runs on a computer on the same domainId.  The participantId is automatically assigned by DDS (unless you overide that). For example if you run 3 applications on the same computer all on domainId=0 the first DomainParticipant created will get participantId=0, the second will get 1, and the third 2.

The participantId affects the ports used for unicast, but not the ports used for multicast. From your question it appears that your only issue is with the multicast traffic and the unicast packets are already being forwarded. If that is the case and you only need to configure the multicast ports, then you only need to worry about the domainId and as I said you can control of that.  That said if you do not control the configuration of applications, that is, you are just administering the network for other people to use, then you will need to agree with you users on which DDS domainId's they will be using.

Hope this helps,

Gerardo