Discovery mechanism observation|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Discovery mechanism observation
Avatar
Rakshan Premsagar Kapikad
Member
Members
Forum Posts: 25
Member Since:
04/29/2019
sp_UserOfflineSmall Offline
1
02/03/2021 - 00:25
sp_Permalink sp_Print

Hello Sir,

I have a query, or rather an observation which I want to make sure if my understanding is right.

Case1: I have 2 hosts(HOSTA and HOSTB), both have LDS servers with mDNS enabled. I run the HOSTA ( in this perspective is a client) LDS ME server, next I run the HOSTB LDSME Server. On the host A log, I see that a new server is detected( from HOST B). Next I run another server(eg: a basic OPC UA server) on HOST B and register it to the LDSME of HOST B.
I observe the log of HOST A, which says that the new server is also detected.

So if i run the findServersOnNetwork from the HOSTA, I get all three servers.

Case2: Again 2 hosts (HOSTA and HOSTB)both have LDS servers with mDNS enabled. I run the HOSTB LDSME Server. Next, I run another server (eg: a basic OPC UA server) on HOST B and register it to the LDSME of HOST B. Now I run the I run the HOSTA ( in this perspective is a client) LDS ME server. The log of HOST A only finds the basic OPC UA server which was registered to the LDSME. It does not recognise the LDS ME of the HOSTB.

So if i run the findServersOnNetwork from the HOSTA, I get two servers.(LDS ME of HOSTA and the registered server. LDSME of HOST B is not seen)

Reasoning: In the case1, since the LDS ME(HOSTB) runs well before another server registers itself, the records of LDS ME is announced. The LDS ME of the HOSTA, will receive these announcements and detect this server. Next when the basic OPC UA server registers itself to LDSME of HOSTB, again the new server announcements will be picked up by the HOSTA LDSME.
Thus, 3 servers are seen while running FindServersOnNetwork.

In the case2, although LDSME (HOSTB) announces itself, the basic server registers to the LDS ME and then the announcements of the new registered server will be present in the network. Thus, when the HOSTA LDSME runs next, it will receive the announcements of the registered server and not the LDSME of the HOSTB, thus giving us 2 servers while running FindServersOnNetwork.

Please let me know if my understanding is right? Feel free to correct me if I am wrong here.

Thanks,
Rakshan

Avatar
Randy Armstrong
Admin
Forum Posts: 1564
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
02/04/2021 - 01:40
sp_Permalink sp_Print

mDNS announcements take time to propagate but eventually all LDSMEs will know about all servers.

Doing tests immediately after a LDSME starts or a Server registers will often result in inconsistent results.

Wait 5 minutes after changing the system state and do your tests.

Avatar
Rakshan Premsagar Kapikad
Member
Members
Forum Posts: 25
Member Since:
04/29/2019
sp_UserOfflineSmall Offline
3
04/03/2021 - 01:41
sp_Permalink sp_Print

Hello Randy,

Sorry for bringing this thread up again.

The inconsistency in mDNS is mainly because of the fact that it uses UDP as the transport protocol right?

So there could be loss in packets and is unreliable?

Is my reasoning correct?

 

Regards,

Rakshan

Avatar
Randy Armstrong
Admin
Forum Posts: 1564
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
4
04/03/2021 - 23:09
sp_Permalink sp_Print

The inconsistency occurs because the mDNS specification requires random delays to avoid overloading the network.

It is needed because multicast UDP is used.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 22
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1435
Posts: 4855