The Clientmay reduce the number of results returned by specifying filter criteria. A Discovery Serverreturns an empty list if no Serversmatch the criteria specified by the Client. The filter criteria supported by this Serviceare described in 188.8.131.52.
Every Servershall provide a DiscoveryEndpointthat supports this Service. The Servershall always return a record that describes itself, however in some cases more than one record may be returned. Gateway Serversshall return a record for each Serverthat they provide access to plus (optionally) a record that allows the Gateway Serverto be accessed as an ordinary OPC UA Server. Non-transparent redundant Serversshall provide a record for each Serverin the Redundant Server Set.
Every Servershall have a globally unique identifier called the ServerUri. This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness. The ServerUrireturned by this Serviceshall be the same value that appears in index 0 of the ServerArrayproperty (see OPC 10000-5). The ServerUriis returned as the applicationUrifield in the ApplicationDescription(see 7.2)
A Servermay have multiple HostNames. For this reason, the Clientshall pass the URL it used to connect to the Endpointto this Service. The implementation of this Serviceshall use this information to return responses that are accessible to the Clientvia the provided URL.
This Serviceshall not require message security but it may require transport layer security.
Some Serversmay be accessed via a Gateway Serverand shall have a value specified for gatewayServerUriin their ApplicationDescription(see 7.2). The discoveryUrlsprovided in ApplicationDescriptionshall belong to the Gateway Server.Some Discovery Serversmay return multiple records for the same Serverif that Servercan be accessed via multiple paths.
This Servicecan be used without security and it is therefore vulnerable to Denial of Service (DOS) attacks. A Servershould minimize the amount of processing required to send the response for this Service. This can be achieved by preparing the result in advance. The Servershould also add a short delay before starting processing of a request during high traffic conditions.