Search code examples
sslnetwork-programmingopendds

How to discover other domain hosts using rtps_discovery


Recently, I try hard to use OpenDDS SSL in WAN network. But All my attempts to failed. This is caused by the inability to find different hosts. I realized one thing. OpenDDS security should use rtps_discovery, not InfoRepo, and it is difficult to find two hosts in different subnetworks via rtps_discovery. I have been searched about discovering host by rtps_discovery option from SourceForge, github, and stackoverflow. But, No one successed in this manner.

https://sourceforge.net/p/opendds/mailman/message/36320180/

https://github.com/objectcomputing/OpenDDS/issues/854

So, my question is how to find the host using rtps_discovery on the WAN network.

here is my ini file:

[common]
DCPSGlobalTransportConfig=$file
DCPSSecurity=1

[domain/4]
DiscoveryConfig=uni_rtps

[rtps_discovery/uni_rtps]
SedpMulticast=0
ResendPeriod=2
SpdpSendAddrs=publisher's IP:56789

[transport/the_rtps_transport]
transport_type=rtps_udp
use_multicast=0
local_address=subscriber's IP:55555

please give me some ideas to solve this problem It is really impossible to discover hosts in different subnetworks via rtps_discovery??


Solution

  • I'm finally success to communicate using rtps discovery! It just SpdpSendAddrs attribute set 8410 port. like this:

    [common]
    DCPSGlobalTransportConfig=$file
    DCPSSecurity=1
    
    [domain/4]
    DiscoveryConfig=uni_rtps
    
    [rtps_discovery/uni_rtps]
    SedpMulticast=0
    ResendPeriod=2
    SpdpSendAddrs=subscriber's IP:8410
    
    [transport/the_rtps_transport]
    transport_type=rtps_udp
    use_multicast=0
    

    But, new question is that how to confirm this security function work properly?? When I capture packet by wireshrk, I can see the data not encryped. I used OpenDDS Messenger security example.