What is Zeroconf?
Zero-configuration is a means of automatically detecting devices, or more abstractly, services on your local area network. Think printers, or apple devices and how easy they are to find on your network. They're just there...none of the usual messy ip configuration is necessary.
Zeroconf is a standard protocol which formulates this concept. More strictly, it is a protocol that represents three different functionalities:
link-local addressing : serving ip addresses without a dhcp server
multicast dns : automatic resolution of ip addresses
service discovery : establish and find services without a directory server
A zeroconf service that is published is defined by:
service type (e.g. '_ros-master._tcp')
- domain (usually 'local')
- interface (e.g. 'eth0')
- protocol ('ipv4' or 'ipv6')
When discovering services, your implementation will resolve further details about the service, specifically:
- ip address(es)
- port number
It may also include a few implementation-specific variables.