Für den Reverse Lookup, also das Auffinden eines Namens zu einer IP-Adresse, wandelt man die IP-Adresse zunächst formal in einen Namen um, für den man dann das DNS nach einem PTR Resource Record befragt. Da die Hierarchie bei IP-Adressen von links nach rechts spezieller wird (siehe Subnetz), beim DNS aber von rechts nach links, dreht man beim ersten Schritt die Reihenfolge der Zahlen um und aus der IPv4-Adresse 193.99.144.85
wird z. B. der Name „85.144.99.193.in-addr.arpa.
“ sowie aus der IPv6-Adresse 2a02:2e0:3fe:100::6
der Name „6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.e.f.3.0.0.e.2.0.2.0.a.2.ip6.arpa.
“ erzeugt. (Dieser Name ist lang, da die implizit enthaltenen Nullen nun wieder explizit genannt werden müssen.)
Der PTR Resource Record für die so umgeformte IPv4-Adresse lässt sich analog zum vorigen Beispiel bestimmen:
$ dig +trace +additional -t PTR 85.144.99.193.in-addr.arpa.
; <<>> DiG 9.5.1-P3 <<>> +trace +additional -t ptr 85.144.99.193.in-addr.arpa.
;; global options: printcmd
. 2643 IN NS M.ROOT-SERVERS.NET.
. 2643 IN NS A.ROOT-SERVERS.NET.
. 2643 IN NS B.ROOT-SERVERS.NET.
. 2643 IN NS C.ROOT-SERVERS.NET.
. 2643 IN NS D.ROOT-SERVERS.NET.
. 2643 IN NS E.ROOT-SERVERS.NET.
. 2643 IN NS F.ROOT-SERVERS.NET.
. 2643 IN NS G.ROOT-SERVERS.NET.
. 2643 IN NS H.ROOT-SERVERS.NET.
. 2643 IN NS I.ROOT-SERVERS.NET.
. 2643 IN NS J.ROOT-SERVERS.NET.
. 2643 IN NS K.ROOT-SERVERS.NET.
. 2643 IN NS L.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 10978 IN A 198.41.0.4
A.ROOT-SERVERS.NET. 2470 IN AAAA 2001:503:ba3e::2:30
C.ROOT-SERVERS.NET. 387 IN A 192.33.4.12
D.ROOT-SERVERS.NET. 2747 IN A 128.8.10.90
E.ROOT-SERVERS.NET. 7183 IN A 192.203.230.10
F.ROOT-SERVERS.NET. 14225 IN AAAA 2001:500:2f::f
H.ROOT-SERVERS.NET. 7950 IN A 128.63.2.53
H.ROOT-SERVERS.NET. 13245 IN AAAA 2001:500:1::803f:235
I.ROOT-SERVERS.NET. 6172 IN A 192.36.148.17
J.ROOT-SERVERS.NET. 7168 IN A 192.58.128.30
J.ROOT-SERVERS.NET. 13860 IN AAAA 2001:503:c27::2:30
K.ROOT-SERVERS.NET. 3541 IN A 193.0.14.129
K.ROOT-SERVERS.NET. 9369 IN AAAA 2001:7fd::1
L.ROOT-SERVERS.NET. 3523 IN A 199.7.83.42
;; Received 512 bytes from 192.168.2.1#53(192.168.2.1) in 50 ms
193.in-addr.arpa. 86400 IN NS ns3.nic.fr.
193.in-addr.arpa. 86400 IN NS sec1.apnic.net.
193.in-addr.arpa. 86400 IN NS sec3.apnic.net.
193.in-addr.arpa. 86400 IN NS sunic.sunet.se.
193.in-addr.arpa. 86400 IN NS ns-pri.ripe.net.
193.in-addr.arpa. 86400 IN NS sns-pb.isc.org.
193.in-addr.arpa. 86400 IN NS tinnie.arin.net.
;; Received 239 bytes from 199.7.83.42#53(L.ROOT-SERVERS.NET) in 170 ms
99.193.in-addr.arpa. 172800 IN NS auth50.ns.de.uu.net.
99.193.in-addr.arpa. 172800 IN NS ns.ripe.net.
99.193.in-addr.arpa. 172800 IN NS auth00.ns.de.uu.net.
;; Received 120 bytes from 202.12.28.140#53(sec3.apnic.net) in 339 ms
144.99.193.in-addr.arpa. 86400 IN NS ns.heise.de.
144.99.193.in-addr.arpa. 86400 IN NS ns.s.plusline.de.
144.99.193.in-addr.arpa. 86400 IN NS ns.plusline.de.
;; Received 114 bytes from 194.128.171.99#53(auth50.ns.de.uu.net) in 2456 ms
85.144.99.193.in-addr.arpa. 86400 IN PTR www.heise.de.
144.99.193.in-addr.arpa. 86400 IN NS ns.heise.de.
144.99.193.in-addr.arpa. 86400 IN NS ns.s.plusline.de.
144.99.193.in-addr.arpa. 86400 IN NS ns.plusline.de.
ns.heise.de. 86400 IN A 193.99.145.37
;; Received 148 bytes from 193.99.145.37#53(ns.heise.de) in 4482 ms
Die Antwort lautet also „www.heise.de.“. Es ist jedoch weder notwendig, dass jeder IP-Adresse ein Name zugeordnet ist, noch müssen Hin- und Rückauflösung einander entsprechen. Die Auflösung beginnt wieder mit dem Verweis auf die Root-Nameserver und die Delegierungen finden offensichtlich an den durch Punkte markierten Grenzen zwischen den Zahlen statt. Man sieht in dem Beispiel jedoch auch, dass nicht an jedem Punkt in einem Namen delegiert werden muss.
Erweiterungen
Da sich das DNS als zuverlässig und flexibel erwiesen hat, wurden im Laufe der Jahre mehrere größere Erweiterungen eingeführt. Ein Ende dieses Trends ist nicht absehbar.