Multicast DNS Resolver project
MULTICAST DNS RESOLVER
Problem Statement:
The Project aims at implementing a Name Server Switch Plugin to resolve multicast DNS names.
Overview:
TCP/IP networking has been deployed in many environments and has been especially successful in large networks such as those in universities, corporations, and government agencies. Operating an IP network requires specialized technical skills. So, IP networking has not been especially well suited for smaller networks (such as in the home, in small businesses, for impromptu networks in conference rooms or construction sites), where capable network administration is not feasible.
Multicast DNS (mDNS) is a DNS like protocol. It uses normal DNS Resource Records, transmitted over multicast (at address 224.0.0.251) to a known port (5353).It doesn’t require configuration and administration like DNS.
We implemented the mDNS protocol, main principle of which is to run a DNS-Like Responder and Resolver (Our Name Service Switch) on every host on the network. This responder speaks the normal DNS protocol, but listens on the UDP port 5353 and bind to multicast address 224.0.0.251. The domain name ‘.local.’ is reserved for mDNS hosts and every host on the network chooses its own name. Like the IPv4 addresses in the prefix 169.254/16, these names are link-local to the network on which the host resides.
When a query for a hostname arrives on the multicast socket, the host responds to that same multicast socket so all the hosts in the network get that information and can cache it if necessary.
In addition to resolve name, the multicast DNS can be used in conjunction with DNS SRV records for service discovery.
The benefits of using multicast responses result in a net lowering of overall multicast traffic for example; one multicast response can update the cache on all machines on the network, in addition to other advantages.
Synopsis
Project Name: Multicast DNS Resolver
Project statement:The project aims at implementing a Name Server Switch Plugin that allows to resolve multicast DNS (mDNS) names.
Motivation:
DNS is one of the most popular applications on the Internet. It provides the name-to-address resolution among nodes in the Internet. DNS must also be a necessity of Ad-hoc but the current DNS is inappropriate to Ad-hoc and small networks that has dynamic topology because the current DNS works on the basis of dedicated and fixed DNS name servers.
As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. When mobile nodes (dynamic hosts) want to communicate with one another in Ad-hoc Networks environments such as battle field and public vehicle (e.g., airplane, bus and boat, conference rooms), they need to construct a temporary and infrastructure less network.
Therefore, a new DNS architecture appropriate for this Ad-hoc Networks, where there is no dedicated DNS server, become necessary.
System architecture:
Multicast DNS (mDNS) is a DNS like protocol with a little version, which specifies architecture of name service system. It provides mobile nodes in Ad-hoc Networks with the name-to-address resolution and auto configuration technology, for easy configuration related to IP address autoconfiguration and name service. It uses normal DNS Resource Records, transmitted over multicast (at address 224.0.0.251) to a known port (5353).
So we have implemented the mDNS protocol (using normal libc calls), main principle of this protocol is to run a DNS-Like Responder and Resolver on every host on the network. This responder speaks the normal DNS protocol, but listens on the UDP port 5353 and bind to multicast address 224.0.0.251.
Our system consists of mDNS Responder that works as DNS name server in Ad-hoc Networks and mDNS Resolver that performs the role of DNS resolver for name-to-Address translation.
Leave a Reply