Recently wondered how root server returns information about domains it doesn't have information about.
I thought that root dns server, for example, a.root-servers.net, doesn't perform recursive queries itself but instead returns referral - RR pointing to nameserver for TLD of the query.
I issued query about twitter.com hoping to get RR about nameservers for com. but got:
dig @a.root-servers.net twitter.com +norecurse
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @a.root-servers.net twitter.com +norecurse
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51937
;; flags: qr ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;twitter.com. IN A
;; ANSWER SECTION:
twitter.com. 748 IN A 104.244.42.65
twitter.com. 748 IN A 104.244.42.193
;; Query time: 27 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu Dec 29 17:54:09 MSK 2016
;; MSG SIZE rcvd: 61
Could you explain why root server returns IP of Twitter, it seems that it should return referral only?
Correct me if I'm wrong. Thanks.
DopeGhoti
.ping a.root-servers.net
to get its IP address. It gives me198.41.0.4
. Is it the same for you?