PS: Just a beginner needing a clarity on LDS - ME
I understand in the LDS that the servers needs to get itself registered and then the client can have the list of servers from the LDS.
I am not able to understand the same with LDS ME. From what I see in the specification, in the multicast subnet discovery, it is considered when the client does not know where the server is located on the network. Server registers to the LDS, which is an LDS ME and the client calls for the findServersOnNetwork from its local LDS ME.
My confusion here is whether the client machine also supposed to have a LDS -ME?
Previously the client would access the LDS through discovery URL.
Is it that every OPC UA application running on a host should have a LDS ME?
Please let me know. Very confused. Anything in simpler words would be of great help.
Every LDS ME will have a cache maintained by MDNS so a client can go to any LDS ME on the LAN and get the same set of servers.
If a client has a local LDS ME it does not need to know the name of any other host.
If it does not then the client needs the location of one LDS ME that will allow it to find the rest.
It is recommended but not required that clients install the LDS ME
Thanks for your answer.
I have another question regarding the multicast probing and announcements as specified in MulticastSubnet discoverry in specification 12.
In such scenario, after server registers to its LDS of server, and when client gets plugged in, the LDS in the client, sends a probe message on which LDS of the server responds with an announcement.
I am very curious to know, what exactly is the multicast probe and announcement message here.
(In my research for basics of mDNS I understood that, probe is nothing but a query where in a network of 4 client nodes, if client1 needs client4 ip, client1 will send a multicast query to all the nodes with "client4.local", and then there is response from client4)
How exactly is it happening in this case with the client and server? Does the client LDS-ME, send a multicast message by constructing the hostname by out of band mechanism eg: hostname.local and get server information? But this would not really make sense as the Multicast subnet discovery is for the clients who have no idea about the hosts...
Please let me know.