DNS 與命名

DNS 存活時間(TTL)

每筆 DNS 記錄都帶著一個叫存活時間(time-to-live,TTL)的到期計時器——一個秒數,告訴任何快取它的人「在必須重新查詢之前,能繼續使用這份副本多久」。把它想成一張寫著「此前最佳」的便利貼:時間還沒到就重複用這張便條;一旦過期就丟掉、再問一次。TTL 是名稱擁有者用來掌控「速度對新鮮度」這個取捨的方式。

具體來說,TTL 由區域管理員逐筆記錄設定,單位是秒——常見值如 300(5 分鐘)、3600(1 小時)或 86400(1 天)。當解析器快取這筆記錄時,它倒數那個 TTL;只要還是正數,解析器就從快取回答,歸零時解析器丟棄該項目、下次再抓一份新的。請注意 TTL 並不代表記錄每隔一陣子就會變——它只規範「一份快取副本可以被信任多久」。

為什麼重要:TTL 是 DNS 傳播背後的那個旋鈕。長 TTL 代表查詢快、授權伺服器負載低,但一次變更得花那麼久才擴散開,因為舊副本會滯留。短 TTL 讓變更快速傳播,但代價是更多查詢與負載。預定遷移前的實務劇本是:提早把 TTL 調低(比方 60 秒)、做變更、等一切穩定後再調高。一個常見誤解是「你能強迫全世界立刻更新」——你無法可靠地做到;快取會遵守它「抓取記錄當下」生效的那個 TTL。

一筆 TTL 設為 3600 的 A 記錄在 12:00 被抓取。解析器可以一直提供那個快取位址直到 13:00 而不重新檢查。如果擁有者在 12:10 改了 IP,那些在 12:00 快取它的解析器會繼續發出舊 IP,直到它們的一小時用完。

TTL 是一份快取副本的壽命,由記錄的擁有者設定。

調低 TTL 只影響「變更之後抓取」的副本;已經快取的副本會依它們舊的、較長的 TTL 走完。所以你必須先調低 TTL,並等舊的那個到期,短時間窗才會真正生效。

又称
TTLtime-to-liverecord TTL存活時間