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
Zeroconf Services
A zeroconf service that is published is defined by:
- name
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
- desciption
It may also include a few implementation-specific variables.