Table of Contents
To determine whether or not the existing root servers are also advertised as authoritative for other TLDs, we can run a couple of quick scripts to check.
1 Get existing addresses
The following quick script retrieves all the existing root server operator addresses, both v4 and v6.
addrs="" for id in a b c d e f g h i j k l m ; do addrs="$addrs $(dig +short $id.root-servers.net A) $(dig +short $id.root-servers.net AAAA)" done echo $addrs echo "addrs='$addrs'" > addrs.sh
198.41.0.4 2001:503:ba3e::2:30 199.9.14.201 2001:500:200::b 192.33.4.12 2001:500:2::c 199.7.91.13 2001:500:2d::d 192.203.230.10 2001:500:a8::e 192.5.5.241 2001:500:2f::f 192.112.36.4 2001:500:12::d0d 198.97.190.53 2001:500:1::53 192.36.148.17 2001:7fe::53 192.58.128.30 2001:503:c27::2:30 193.0.14.129 2001:7fd::1 199.7.83.42 2001:500:9f::42 202.12.27.33 2001:dc3::35
2 See whether any of those addresses are listed elsewhere
With the addresses collected, we can now get the entire root zone as a text file and search through it for each address.
(yes turning it into a regexp and using egrep would be more efficient, but I didn't)
. addrs.sh if [ ! -f root-zone.txt ] ; then dig @localroot.isi.edu . axfr > root-zone.txt fi for addr in $addrs ; do grep $addr root-zone.txt done
a.root-servers.net. 518400 IN A 198.41.0.4 a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30 b.root-servers.net. 518400 IN A 199.9.14.201 b.root-servers.net. 518400 IN AAAA 2001:500:200::b c.root-servers.net. 518400 IN A 192.33.4.12 c.root-servers.net. 518400 IN AAAA 2001:500:2::c d.root-servers.net. 518400 IN A 199.7.91.13 d.root-servers.net. 518400 IN AAAA 2001:500:2d::d e.root-servers.net. 518400 IN A 192.203.230.10 e.root-servers.net. 518400 IN AAAA 2001:500:a8::e f.root-servers.net. 518400 IN A 192.5.5.241 f.root-servers.net. 518400 IN AAAA 2001:500:2f::f g.root-servers.net. 518400 IN A 192.112.36.4 g.root-servers.net. 518400 IN AAAA 2001:500:12::d0d h.root-servers.net. 518400 IN A 198.97.190.53 h.root-servers.net. 518400 IN AAAA 2001:500:1::53 i.root-servers.net. 518400 IN A 192.36.148.17 i.root-servers.net. 518400 IN AAAA 2001:7fe::53 j.root-servers.net. 518400 IN A 192.58.128.30 j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30 k.root-servers.net. 518400 IN A 193.0.14.129 k.root-servers.net. 518400 IN AAAA 2001:7fd::1 l.root-servers.net. 518400 IN A 199.7.83.42 l.root-servers.net. 518400 IN AAAA 2001:500:9f::42 m.root-servers.net. 518400 IN A 202.12.27.33 m.root-servers.net. 518400 IN AAAA 2001:dc3::35
As you can see, the only place that the current addresses appear in the root zone is the records for the RSO identifiers themselves.
3 Checking where the names are authoritative for anything other than the root
for id in a b c d e f g h i j k l m ; do grep $id.root-servers.net root-zone.txt done
. 86400 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2020050101 1800 900 604800 86400 . 518400 IN NS a.root-servers.net. arpa. 172800 IN NS a.root-servers.net. a.root-servers.net. 518400 IN A 198.41.0.4 a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30 . 86400 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2020050101 1800 900 604800 86400 . 518400 IN NS b.root-servers.net. arpa. 172800 IN NS b.root-servers.net. b.root-servers.net. 518400 IN A 199.9.14.201 b.root-servers.net. 518400 IN AAAA 2001:500:200::b . 518400 IN NS c.root-servers.net. arpa. 172800 IN NS c.root-servers.net. c.root-servers.net. 518400 IN A 192.33.4.12 c.root-servers.net. 518400 IN AAAA 2001:500:2::c . 518400 IN NS d.root-servers.net. arpa. 172800 IN NS d.root-servers.net. d.root-servers.net. 518400 IN A 199.7.91.13 d.root-servers.net. 518400 IN AAAA 2001:500:2d::d . 518400 IN NS e.root-servers.net. arpa. 172800 IN NS e.root-servers.net. e.root-servers.net. 518400 IN A 192.203.230.10 e.root-servers.net. 518400 IN AAAA 2001:500:a8::e . 518400 IN NS f.root-servers.net. arpa. 172800 IN NS f.root-servers.net. f.root-servers.net. 518400 IN A 192.5.5.241 f.root-servers.net. 518400 IN AAAA 2001:500:2f::f . 518400 IN NS g.root-servers.net. arpa. 172800 IN NS g.root-servers.net. g.root-servers.net. 518400 IN A 192.112.36.4 g.root-servers.net. 518400 IN AAAA 2001:500:12::d0d . 518400 IN NS h.root-servers.net. arpa. 172800 IN NS h.root-servers.net. h.root-servers.net. 518400 IN A 198.97.190.53 h.root-servers.net. 518400 IN AAAA 2001:500:1::53 . 518400 IN NS i.root-servers.net. arpa. 172800 IN NS i.root-servers.net. i.root-servers.net. 518400 IN A 192.36.148.17 i.root-servers.net. 518400 IN AAAA 2001:7fe::53 . 518400 IN NS j.root-servers.net. j.root-servers.net. 518400 IN A 192.58.128.30 j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30 . 518400 IN NS k.root-servers.net. arpa. 172800 IN NS k.root-servers.net. k.root-servers.net. 518400 IN A 193.0.14.129 k.root-servers.net. 518400 IN AAAA 2001:7fd::1 . 518400 IN NS l.root-servers.net. arpa. 172800 IN NS l.root-servers.net. l.root-servers.net. 518400 IN A 199.7.83.42 l.root-servers.net. 518400 IN AAAA 2001:500:9f::42 . 518400 IN NS m.root-servers.net. arpa. 172800 IN NS m.root-servers.net. m.root-servers.net. 518400 IN A 202.12.27.33 m.root-servers.net. 518400 IN AAAA 2001:dc3::35
This shows that the names are only referenced for the root and the arpa TLD.
4 Results Summary
- The current RSO addresses and names do not reference any other TLDs
- Note: This does not mean that RSO instances are not serving from other addresses.
- Note: This work does not follow the tree down to see if there are inconsistencies between parent/child relationships such that a RSO might be in the child's NS set but not in the root zone. (which wouldn't be hard to do)
- Note: This work does not prove that the existing RSOs aren't using their names and addresses for DNS zones further down in the DNS tree.