DNS Reverse Name Resolution Using the IN-ADDR.ARPA Domain
(Page 1 of 4)
If most people had to boil down the core job of the Domain Name System to one function, they would probably say it was converting the names of objects into the numeric IP addresses associated with them. Well, they would if they knew much about DNS. For this reason, DNS is sometimes compared to a telephone book, or to telephone 411 service. There are certain problems with this analogy, but at the highest level it is valid. In both cases we take a name, consult a database (of one type or another), and produce from it a number that matches that name.
In the real world, there are sometimes situations where you don't want to find the phone number that goes with a name, but rather, you have a phone number and want to know what person it belongs to. For example, this might happen if your telephone records the number of incoming calls but you don't have Caller ID to display the name associated with a number. You might also find a phone number on a piece of paper and not remember whose number it is.
Similarly, in the networking world, there are many situations where we have an IP address and want to know what name goes with it. For example, a World Wide Web server records the IP address of each device that connects to it in its server logs, but these numbers are generally meaningless to humans, who prefer to see the names that go with them.
A more serious example might be a hacker trying to break into your computer; by converting the IP address into a name you might be able to find out what part of the world he is from, what ISP he is using, and so forth. There are also many reasons why a network administrator might want to find out the name that goes with an address, for setup or troubleshooting purposes.
DNS originally included a feature called inverse querying that would allow this type of opposite resolution. A resolver could send a query which, instead of having a name filled in and a space for the server to fill in the IP address, had the IP address and a space for the name. The server would check its resource records and return the name to the resolver.
This works fine in theory, and even in practice if the internetwork is very small. However, remember that due to the distributed nature of DNS information, the biggest part of the job of resolution is in fact finding the right server. Now, in the case of regular resolution, we can easily find the right server by traversing the hierarchy of servers. This is possible because the servers are connected together following a hierarchy of names.
DNS servers are not, however, arranged based on IP address. This means that to use inverse queries, we have to use the right name server for the IP address we want to resolve into a name, with no easy way to find out what it is. Sure, we could try sending the inverse query to the authoritative DNS server for every zone in the hierarchy. If you tried, it would probably take you longer than it took to write this Guide. So let's not go there. The end result of all of this is that inverse queries were never popular except for local server troubleshooting. They were formally removed from DNS in November 2002 through the publishing of RFC 3425.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.