• What is Zero Configuration Networking?
– Origin: IETF
• Description of Protocols
– IP Address Auto configuration
– Name Resolution Without DNS
– Service Discovery
• Available Implementation
Zero Configuration Networking
• The goal of the Zero Configuration Networking
(ZEROCONF) Working Group is to enable
networking in the absence of configuration and
• “ Zeroconf ” is an umbrella term for a number of
underlying technologies which used to deploy
• Stuart Cheshire posted on the Net-Thinkers mailing
list in 1997
• Put forward before IETF meetings on the subject of
"Networking in the Small" (NITS).
• Zero Configuration Working Group was established
in September 1999.
• In May 2002, Apple announced its trademark
"Rendezvous” for the Zeroconf technologies.
• April 2005, Apple announced the new Apple name
for the Zeroconf technologies: "Bonjour."
Description of Protocols
The Zeroconf technology,
• IP Address Auto Configuration
(Addressing without DHCP)
• Multicast DNS
(Name resolution without DNS)
• Service Discovery
IP Address Auto configuration
• Absence of DHCP Server:
– Automatic selection of an IP address in the absence
of a DHCP server or network administrator
• Selection of addresses is done in a distributed
manner ie Each device is responsible for choosing
its own address and then verifying that it can use the
• Automatic self-assigned link-local addresses, which
are guaranteed to work even when everything else
has failed, providing the solution.
• Link-local addressing is intended for two main
– For tiny ad-hoc local networks where communication is
desired without the overhead of setting up a DHCP server
– To provide a minimum safety-net level of service on
networks where there's supposed to be a DHCP server but
• Link-local address range:
– Some of the IP addresses listed in RFC 3330 as being
reserved for local private use are:
• 10.0.0.0 to 10.255.255.255
• 172.16.0.0 to 172.31.255.255
• 192.168.0.0 to 192.168.255.255
• 169.254.0.0 to 169. 254.255.255
• Last set of numbers is the range that Zeroconf uses
when no DHCP server is available.
• Claiming a Link-Local IP Address (Probing)
– The address is selected randomly until you test that no one
else on the network is already using it.
– Probing for address availability (Address Resolution
Name Resolution Without DNS
• Absence of DNS Server,
– Perform DNS queries via IP Multicast
• Multicast DNS
– Does not require any changes to the DNS Protocol
(messages, resource record types, etc).
– Resolve locally unique hostnames.
– ‘Answer list’ in Multicast-DNS will have details of the
mDNS Querier and Responder, and other mechanics of
where the messages are being sent and which devices are
• Multicast DNS Queries
– Set the destination address to 126.96.36.199 (IPv4 address
that has been reserved for mDNS), set the destination port
to 5353, and send the UDP packet as usual. When the
UDP response comes back, the DNS client receives and
– When a machine receives a response to a query, other
machines on the network receive the response too and can
add it to their own caches for future use.
• Claiming Your Local Name
– Probing to Check for Uniqueness done after a hostname is
chosen for a particular device.
– .local is used in Mac OS, Windows and Linux to identify a
name as being link-local.
– Check for Conflicts
– If no conflicting Multicast DNS response is received, then
– a second query is sent 250 ms after the first and, in the
absence of conflicts,
– a third query is sent 250 ms after that.
– After waiting an additional 250 ms, (total of 750 ms for
the three queries), if no conflicting Multicast DNS
response has been received, then the host has successfully
• Create a Multicast DNS Address Record
– Host has a Unique name and an IP address selected or
– Next step is to create a local Multicast DNS address record
that will maps the name to the IP address.
• Device have a mechanism to display an error
message, to prompt a human user from manually
select another name.
• Structure of the Multicast DNS Message
– Multicast DNS Message format is similar to that of
Unicast DNS Message format.
– In fact, software can decode and display mDNS packets
using the same decoder as uDNS packets.
• Minor differences:
– uDNS packets are limited to, at most, 512 bytes. mDNS
packets are allowed to be up to 9,000 bytes.
– mDNS uses UDP port 5353 instead of port 53.
– mDNS uses UTF-8, and only UTF-8, to encode resource
record names. uDNS, use variety of encodes for a
• DNS Service Discovery (DNS-SD), the mechanism in
Zeroconf that discover what services are available
on the network without having to know device or
service names in advance.
• Finding Services, Not Devices
• Client software store the chosen service name, type,
and domain, instead of resolving the named service
to an IP address and storing that.
• BENJOUR is Apple Computer’s implementation of
Zeroconf in its.
• Introduced in Mac OS X 10.2 (“Jaguar”) operating
• iTunes which uses
to find music available
on the local network.
• iChat instant messaging
• General purpose operating systems now running the
• Major vendors have announced support for
Zeroconf in their products. It including Apple,
Epson, HP, Lexmark, Philips, Canon…
• Many dedicated hardware devices now implement it
to advertise the services they provide.
– networked printer
– laptop, desktop computer, digital camera…
When & Where…
• Zeroconf is not appropriate
– Large networks or in Large public access networks.
– Networks where a high degree of security and control is
– Networks with low bandwidth and high latency
• Zeroconf is appropriate
– Home and small office networks, LAN.
– Ad hoc networks at meetings and conferences (especially
– Two devices needing to spontaneously share or exchange
• Zero configuration networking is all about ,
providing real plug and play usability for
applications and devices.
• Networked applications can provide a friendly
networking experience to the user.
• Reducing support costs and increasing customer
• It is platform independent.