Domain-Name-System

如果 DNS 更新需要數小時才能傳播,那麼動態 DNS 將如何工作?

  • May 14, 2014

簡單故障轉移將自己推銷為:

持續監控您的伺服器以找出哪些已啟動,哪些已關閉,然後它會相應地動態更新您的 DNS 記錄,以便您的域名始終指向正常執行的伺服器。

據我所知,更新 DNS 記錄可能需要數小時到數天才能傳播。因此,即使他們動態更新我伺服器的 DNS 記錄,我的使用者仍然需要等待幾個小時才能看到任何更改,對吧?

如果是這樣,“簡單故障轉移”如何工作?

DNS 記錄的生命週期基於記錄本身的 TTL(生存時間)。如果 TTL 為 1 小時,那麼理論上這是 DNS 解析器在執行新的記錄查找之前記憶體該資訊的最長時間。通常這只會影響解析器記憶體中已經有資訊的 DNS 解析器。任何在其記憶體中沒有資訊的解析器都將執行查找並立即獲取更新/新資訊,因為資訊不在其記憶體中,因此無需等待 TTL 過期。

其他人一定會警告您,某些 DNS 伺服器不支持 TTL,這當然是有可能的。我更喜歡假設所有 DNS 伺服器都會遵守 TTL,並且我將處理出現的任何邊緣情況。如果您開始擔心某些 DNS 伺服器可能會或可能不會做什麼,那麼您將全力以赴嘗試解決實際上不是您的問題的 DNS 問題。如果其他人的 DNS 伺服器不遵守我的 TTL,那是他們的問題,而不是我的問題。

順便說一句:DNS 是一種拉技術,而不是一種推技術。DNS 記錄不會像通常所說的(或錯誤的)那樣傳播。唯一保存您的 DNS 區域(以及這些區域中的記錄)副本的名稱伺服器是您的名稱伺服器。當您對 DNS 進行更改時,該更改不會被推送到任何地方。其他 DNS 伺服器和/或解析器可能記憶體了您的一個或多個 DNS 記錄,但是當 TTL 到期時,它們將在下次執行該特定 DNS 記錄的查找時提取更新的/新資訊。

引用自:https://serverfault.com/questions/315199