標籤:

dns 里的glue records是什麼意思,有什麼作用?


DNS數據的組織方式是樹狀的:每個記錄屬於某一個域名,域名最頂端是一個唯一的根,它沒有父親節點,除此之外,每一個節點都有且只有一個父親節點.任一節點通過不斷尋找父親節點總可以到達根節點

在管理上,DNS數據是按域(zone)組織的.

一個域由下面的四個部分組成:

  1. 描述本域裡面所有的授權節點以及相關聯的數據.
  2. 描述了域頂部節點的數據.
  3. 描述了授權子域的數據.(這個可以沒有)
  4. 描述可以訪問子域域名伺服器方式的數據.(對應於上面,也就是所謂的glue info)

我舉個例子:

在com.域里,所有沒有授權子域的域名,比如說notexistsnotexists.com.以及所有相關的記錄.這是上面的第一點.注意這個域名屬於com.域,和它有沒有註冊沒有關係.

第二點,描述了域頂部節點的數據,對com.域來說即是.com.的SOA記錄,NS記錄,它是a.gtld-servers.net.等,以及它對應的A記錄192.5.6.30等.

第三點,描述授權子域的數據.比如com.把http://baidu.com這個域名授權給了百度.那麼它會有授權子域的數據.比如baidu.com.的NS記錄是ns2.baidu.com.等.表示.com.把baidu.com.授權給了ns2.baidu.com..

那我們想知道一個baidu.com.域下的數據時候,比如xinzhi.baidu.com.的A記錄,應該去ns2.baidu.com.查詢.但是我們不知道它的IP地址,也就是A和AAAA記錄.ns2.baidu.com.屬於baidu.com.域,它的A記錄應該向ns2.baidu.com.查詢.這是一個雞生蛋的問題.

為了避免上述的問題,就有了glue info或者說glue data.在此處就是ns2.baidu.com.的A記錄61.135.165.235.它是屬於baidu.com.域的數據,但是.com.域也要提供.所以叫做glue info.除此之外,父域不能有任何的子域的其他數據.

通過上述過程我們也可以知道,所謂的"授權"(delegate),也就是在域數據里加上上述的第三第四條.當然,第四條也可以沒有,當子域的NS記錄指向域名不屬於子域時,就不需要glue info.比如說bbc.com.它對應第三條的內容是bbc.com.的NS記錄是ns1.thdo.bbc.co.uk.這個域名不屬於bbc.com.域,所以也就不需要glue info.我們想要查詢它的A記錄時,應該向uk.域或者它的授權子域去查.


http://en.wikipedia.org/wiki/Domain_Name_System#Circular_dependencies_and_glue_records


dig http://www.youku.com

;; ANSWER SECTION:

www.youku.com. 69 IN CNAME tj-w.youku.com.

tj-w.youku.com. 961 IN A 125.39.185.5

;; AUTHORITY SECTION:

youku.com. 3499 IN NS ns3.youku.com.

youku.com. 3499 IN NS ns1.youku.com.

youku.com. 3499 IN NS ns2.youku.com.

youku.com. 3499 IN NS ns4.youku.com.

;; ADDITIONAL SECTION:

ns1.youku.com. 1235 IN A 220.181.60.19

ns2.youku.com. 3499 IN A 123.234.2.35

ns3.youku.com. 1831 IN A 202.102.81.119

ns4.youku.com. 2986 IN A 60.217.254.9

結果中資源記錄的additonal section的內容是不是就是父zone返回的glue records,以免陷入死循環?


推薦閱讀:

只有一台伺服器怎麼提升所有用戶的訪問速度?
一個域名是用哪裡的DNS來解析的,電腦怎麼知道找哪一個DNS呢?
DNS 出錯,除了QQ什麼都不能用,如何解決?
nslookup命令 伺服器顯示unknown?
DNS rebinding的實現原理是?

TAG:DNS |