12月 08, 2009

DNS 查詢流程

1. 首先 Resolver (在 DNS 用戶端負責解析 FQDN 的程式), 會去檢查本機的快取 (Cache) 記錄,如果我們在 Cache 內即可得知 FQDN 所對應的 IP 位址, 就將此 IP 位址傳給應用程式 (在本例為瀏覽器), 如果在 Cache 中找不到的話, 則會進行下一步驟。

2. 若在 Cache 中找不到答案, 接著 Resolver 會去檢查 Host File, 看是否能找到相對應的資料。

3. 若還是無法找到對應之 IP 位址, 則向本機指定的 DNS 伺服器要求查詢。DNS 伺服器在收到要求後, 會先去檢查此 FQDN 是否為管轄區域內的網域名稱。若然, 則會檢查區域檔案 (Zone File), 看是否有相符的資料, 反之則進行下一步驟。

4. 區域檔案中若找不到對應的 IP 位址, 則 DNS 伺服器會去檢查本身所存放的 Cache , 看是否能找到相符合的資料。

5. 如果很不幸的還是無法找到相對應的資料, 那就必需借助外部的 DNS 伺服器了!這時候就會開始進行伺服器對伺服器之間的查詢動作。

分為兩種查詢模式:
a. 即用戶端對伺服器的查詢 (第 3、4 步驟) ... 遞迴查詢 (Recursive Query)
→ 告訴用戶端其查詢之名稱所對應的 IP 位址 , 或者找不到。

b. 伺服器和伺服器之間的查詢 (第 5 步驟) ... 反覆查詢 (Iterative Query)
→ 伺服器對伺服器之間的查詢動作, 整個作業會在伺服器間一來一往, 反覆的查詢。

沒有留言:

張貼留言