Background: Know: top-level domain, zeroConf address autoconfiguration, DNS Recognize: Resource Records, load balancing, zones, Start Of Authority
Multicast DNS (mDNS)Edit
Multicast DNS, is a technology usually used in the small network without installing the DNS server, it uses familiar DNS programming interface, packet formats and operating semantics compare with the conventional DNS.
Multicast DNS is a joint effort by participants of the IETF Zero Configuration Networking (zeroconf) and DNS Extensions (dnsext) working groups. Since the two organisations created the mDNS based on the conventional DNS, the engineers do not have to learn an entirely new protocol, they can handle the mDNS if they understand the conventional DNS.
Some characters of the mDNSEdit
1. mDNS manages names in the .local. top-level domain.Edit
The DNS top-level domain ".local." is a domain with special semantics. If a host name is ended by ".local.", it means that this host is in the".local." top-level domain and this host can use the mDNS. Notes that the names within this domain are meaningful only on the link where they originate.
The mDNS protocol allows hosts to use unique names for resource records where that behavior is desired, and it also allows hosts to maintain multiple resource record by using a single shared name.
A. Unique names indicated by MSb of RR.
The unique names in the mDNS are indicated by the Most Sinificant Bit (MSB) of the Recourse Record(RR).
Figure 1 shows the Recourse Record in packet header of the DNS.
As we can see form Figure 1, the Recourse Record contains some information of the DNS, such as type, class.TTL and so on. Unique names are indicated by CLASS = 1.
B.Shared names useful for load balancing
It is permissible for a collection of coordinated hosts to agree to maintain multiple DNS address records with the same name possobly for load balancing or fault-tolerance reasons. A "shared" resource record set is one where several Multicast DNS Responders may have records with the same name, RR_type, and RR_class, and several Responders may respond to a particular query.
If the users use the shared names, then they will not have conflict between each other and it will have better fault-tolerance ability.
C.Device can choose any name of the DNS
Device can choose any type of name to probe, gratuitous announcement, conflict resolution in the manner of zeroconf link-local addresse
Differences between mDNS and conventional DNSEdit
1. mDNS has no zones.Edit
Because mDNS has no zones compared to the conventional DNS, zone transfers are not possible for any mDNS zone. The conventional DNS has the information such as the email address of the zone administrator in the SOA(Start of Authority) zone, while mDNS don't have the single human administrator and the email address of the zone. This means that mDNS has no SOA zone. Because the Multicast DNS Zone that are managed by different hosts are only loosely coordinated, it is hard to determine whether or not the zone contents have changed. There is no reliable way to provide a zone serial number that would immediately change to indicate that the contents of the shared zone had changed.
As there is no single authority between the sender of the mDNS message and the host that sender wants to find, all the hosts that have same shared names will send the responses to the requester, which leads to the multiple responses that requester will receive. In order to deal with this problem, the computer should attampt to allocate a new unique name for use on that link.
dnsext working groups. The requirements are driven by the Zeroconf working group; the implementation details are a chartered work item for the DNSEXT group.
ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.
The theory of mDNS is not complex. The host which exactly have the name has response when the hose which intend to analysis the name send a mDNS inquire in a LAN. The whole processes are similar to the ARP, but mDNS stays on the IP layer, and the mDNS protocol can regard as the supplement of the DNS protocol.
mDNS is the Multicast DNS protocol. A "multicast" forwards the same message to many endpoints on a network. mDNS is a method of network neighborhood discovery
Where a network does not have access to the DNS system, either by policy or by absence of infrastructure (as in Mobile Ad Hoc Networks), mDNS enables local lookup tables to be compiled. Each device attached to an mDNS-enabled network sends out a message detailing its name, function and capabilities. Each receiving device stores this information so it can route requests when an application requests a service, such as printing.
The protocol is better suited to small networks. Its method of notification can cause a lot of traffic to build up on larger networks connecting many devices. Messages are sent out at regular intervals and cause excess unwanted traffic on the network.
mDNS is particularly useful in the developing field of wireless networks. WiFi laptops are able to communicate directly with each other without resorting to any infrastructure such as routers or Internet service providers. In these environments mDNS enables neighboring computers to quickly compile a map of interconnecting nodes, creating an ad hoc network.