O objetivo de um registro NS é informar ao cliente qual servidor de nomes saberá com certeza o endereço IP real de um nome de domínio. Por exemplo, a consulta a seguir informa que, se você deseja obter uma resposta autorizada, facebook.com
deve perguntar a.ns.facebook.com
:
> dig ns facebook.com 19:58:27
; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> ns facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32063
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;facebook.com. IN NS
;; ANSWER SECTION:
facebook.com. 65000 IN NS a.ns.facebook.com.
facebook.com. 65000 IN NS b.ns.facebook.com.
;; Query time: 13 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Mar 20 19:58:40 CET 2016
;; MSG SIZE rcvd: 65
Isso parece interessante e útil, mas estou me perguntando por que a ANSWER
seção contém o nome do host e não o IP da fonte autorizada? Não seria mais fácil para o cliente obter o endereço IP real da fonte autorizada e não o nome do host?
Quero dizer, se ele obtiver o nome do host, precisará fazer outra consulta para resolver esse nome de host em um IP e, em seguida, perguntar a esse novo IP sobre o facebook.com
domínio inicial que estava procurando. Isso não é ineficiente?
Eu estaria interessado em responder que me aponta para alguns parágrafos em algum RFC que explica esse problema.