Previous Topic

Next Topic

Book Contents

Book Index

SHIP Discovery Mechanism

A discovery mechanism is used to find available SHIP nodes and their services in the local network without knowing their hostnames or IP addresses. For this purpose mDNS/DNS-SD SHALL be used.

DNS-SD records SHOULD have a TTL of 2 minutes.

mDNS/DNS-SD provide methods for service discovery, resource discovery and hostname to IP address resolution. Detailed information to mDNS can be found in RFC 6762 and to DNS-SD can be found in reference RFC 6763.

All SHIP nodes will offer a service named "ship".

Service Instance

The SHIP node SHALL assign a <Instance> label of up to 63 bytes in UTF-8 format for each DNS SRV/TXT record pair that it advertises. In accordance with RFC 6763 this label SHALL have user-friendly names. In order to avoid name conflicts, <Instance> names SHALL have a meaningful label, for example the device type, brand and model: "Dishwasher Bosch SMI69T45EU".

Should a name conflict occur anyway, then a node SHALL assign itself a new name until conflicts are resolved. A conflict SHOULD be resolved by appending a decimal integer in parentheses to the <Instance> (for example, "Name(2)" for the first conflict, "Name(3)" for the second conflict, etc.).

Service Name

The service name used with DNS-SD SHALL be "ship".

The <Service> portion of a service instance name consists of the service name preceded by an underscore '_' and followed by a period '.' plus a second DNS label specified by SHIP as "_tcp".

Thus, a valid service instance name example would be:

Dishwasher Bosch SMI69T45EU._ship._tcp.local.

Where "Dishwasher Bosch SMI69T45EU" is the <Instance> portion (described in previous section), "ship" is the service name, "tcp" is the transport protocol, and "local" is the <Domain> portion.

Host Name

A SHIP node SHALL assign a unique host name of up to 63 bytes. In order to avoid name conflicts, names SHOULD use the unique ID as specified in the TXT record.

Thus, a complete host name example would be:

BSHG-SMI69T45EU-001122334455.local.

Default Records

DNS-SD defines several records by default. This information MUST NOT be included in other records.

The A record includes the IPv4 address and the AAAA record includes the IPv6 address of the node. The SRV record SHALL include the service name, host name and port.

A SHIP node MAY choose its port for the SHIP TCP server freely, but MUST state it correctly in the SRV record.

See also