루트(DNS) 서버는 twitter.com에 대한 질문에 어떻게 답변합니까?

루트(DNS) 서버는 twitter.com에 대한 질문에 어떻게 답변합니까?

최근에 나는 루트 서버가 정보가 없는 도메인에 대한 정보를 어떻게 반환하는지 궁금했습니다.

루트 DNS 서버(예: a.root-servers.net)는 자체적으로 재귀 쿼리를 수행하지 않고 대신 참조(쿼리된 TLD에 대한 이름 서버를 가리키는 RR)를 반환한다고 생각합니다.

com 네임서버에 대한 RR을 얻기 위해 twitter.com에 대한 쿼리를 보냈습니다. 하지만 다음을 얻으세요:

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

루트 서버가 리퍼러만 반환해야 할 것 같으면서도 Twitter의 IP를 반환하는 이유를 설명할 수 있습니까?

내가 틀렸다면 정정해주세요. 감사해요.

답변1

복사할 수 없음:

$ dig @a.root-servers.net twitter.com +norecurse

; <<>> DiG 9.8.3-P1 <<>> @a.root-servers.net twitter.com +norecurse
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47005
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14

;; QUESTION SECTION:
;twitter.com.           IN  A

;; AUTHORITY SECTION:
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800  IN  A   192.5.6.30
b.gtld-servers.net. 172800  IN  A   192.33.14.30
c.gtld-servers.net. 172800  IN  A   192.26.92.30
d.gtld-servers.net. 172800  IN  A   192.31.80.30
e.gtld-servers.net. 172800  IN  A   192.12.94.30
f.gtld-servers.net. 172800  IN  A   192.35.51.30
g.gtld-servers.net. 172800  IN  A   192.42.93.30
h.gtld-servers.net. 172800  IN  A   192.54.112.30
i.gtld-servers.net. 172800  IN  A   192.43.172.30
j.gtld-servers.net. 172800  IN  A   192.48.79.30
k.gtld-servers.net. 172800  IN  A   192.52.178.30
l.gtld-servers.net. 172800  IN  A   192.41.162.30
m.gtld-servers.net. 172800  IN  A   192.55.83.30
a.gtld-servers.net. 172800  IN  AAAA    2001:503:a83e::2:30

;; Query time: 31 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu Dec 29 08:32:23 2016
;; MSG SIZE  rcvd: 489

답변2

바로 수수께끼를 풀기 위해서입니다.

내 라우터 설정에서 DNS 주소를 대기업의 IP 주소에서 ISP의 IP 주소로 변경했는데 이제 작동합니다. 어떤 사용자 정의 DNS 서버가 이 동작을 일으키는지 잘 모르겠습니다. 어쨌든 문제는 해결되었습니다.

관련 정보