5
Reference Information
ABOUT AUTOIP AND MDNS
All devices on a TCP/IP network must have a unique address, much
as a house on a city street needs a unique address so that mail and
individuals can find it. AutoIP provides a mechanism to allow
multiple devices on the same network to acquire addresses within
a specified reachable range (network or subnet) and to ensure that
no two devices have the same address on that network (conflict
resolution). In many networks there exists infrastructure and
services to provide this function (namely DHCP), but for smaller
networks and homes, DHCP servers usually are not present. There is
no need to worry, however, if you don’t have a DHCP server, since
Bonjour and AutoIP will take care of this for you.
This brings up the concept of networks and subnets specifically. A
subnet is a “group” of devices that all belong to the same range of
addresses, and in networking terms are thought of as “local.” Using
our address and postal service analogy, you can think of subnets as
different towns or cities. Devices that exist in the same network
range are considered local to each other and usually are easily found
and able to communicate with each other.
ABOUT MDNS
mDNS is the second piece we need to care about and provides a
vital and core role to AirPrint and its operation. Again, going back to
our house on a street reference, typical TCP/IP traffic uses
something called unicasting, which can be compared to the postal
service. A letter is addressed to a specific house, and the letter is
delivered just to that address. In contrast, broadcast traffic can be
compared to the local free advertising newspaper that gets
delivered to everyone on the street (whether you want it or not),
with no address required. Multicast DNS fits somewhere in between
and the easiest way to compare it would be to think of it as a radio
station. An mDNS packet on a network is sent to all addresses just
like broadcast (radio waves are everywhere). In this case, however,
devices choose which groups they want to belong to (like a radio
receiver is tuned to a specific frequency and ignores all others).
Bringing it back to AirPrint, AirPrint-capable devices are pre-
programmed to listen to the specific
mDNS group that all Bonjour devices must receive and ignore all the
other multicast traffic (unless of course they are programmed to
listen for other groups as well). So when an iPhone
®
sends out a
request to the network to look for AirPrint-capable printers, it sends
the request to that group. Only AirPrint devices are listening for that,
and respond.
So that’s the “m” or multicast part of mDNS, but what does the DNS
part do? Well, as most of us are aware, IP addresses are not very user
friendly. An IP address such as 135.202.176.251 just doesn’t have a
memorable ring to it. The creation of a Domain Name System or DNS
has tried to take care of this by invisibly mapping those unfriendly
addresses into more memorable, user-friendly names. Compare the
example address 135.202.176.251 to the name “Johns Printer.” If a user
was looking to find a device on a network to print to, it’s fairly obvious
which option would be preferred. AirPrint is the same. When an iOS or
OS X
®
device looks for an AirPrint printer, the printers return a “friendly
name” that is part of the AirPrint configuration. On larger networks,
this naming function is handled by a centralized “root” server or
servers that own the name to address mappings for everything on
those networks. Requests are unicast to the server, which responds
with the address of the device. However, on smaller networks, such
centralized root DNS servers don’t usually exist. So how do you find
names to show rather than IP addresses? To use another analogy, say
you walked into the lobby of a small office, and wanted to find a
particular individual.
You would likely have two options: one, walk to the reception desk and
ask the receptionist if the person you are looking for is present. The
second option would be to simply walk into the office and shout out
that person’s name. The first method requires that there be a
receptionist and that the receptionist knows the name and location of
the person you are looking for. This is like the unicast DNS model. The
second option requires no receptionist (or DNS server) to be present.
The drawback here is that depending on the size of the office
(network), this could get very disruptive. mDNS is more like
this second option. In general, however, this isn’t a problem
since Bonjour
®
and mDNS-based services are mostly aimed at smaller
networks.
To tie this all together, in order for AirPrint
®
to work, the iOS device
must be able to find all the AirPrint-capable printers or MFDs available
on the network. In smaller networks, this works out great. However, on
larger networks, it could get very disruptive to have a whole bunch of
devices “shouting” all the time looking for services. To prevent this,
many larger corporate IT administrators will block multicast traffic
from passing across subnets. Going back to the office analogy, this
would be like closing the doors to all the offices so that only the room
in which you are standing hears you shout. On a network, this means
only the local subnet you belong to will see the AirPrint discovery
request, so if your printer is on a different subnet it will not appear in
your iPad
®
or iPhone
®
. Given many Xerox
®
devices get placed into larger
accounts with complicated networks, this is a very real potential
scenario to be aware of. So the important step here is to ensure that
the iOS device and the printer exist on the same subnet OR that the
network administrator is allowing mDNS traffic to pass across subnets.
For more information on alternate AirPrint device discovery solutions
(including Wide Area Bonjour using DNS-SD), see the Xerox
®
AltaLink
®
Devices Deliver Apple
®
AirPrint
®
to the Enterprise White Paper.