最新情報

在網路通訊與資料傳輸的世界中,「TTL」是一個常被提到卻容易被忽略的重要參數。TTL 是「Time To Live」的縮寫,中文為「存活時間」。它不只是代表「資料包能活多久」,更是網路效率與安全管理的一環。

MULTI-CDN
百科學習

什麼是 TTL(Time To Live) 存活時間?|Skycloud

什麼是 TTL(Time To Live) 存活時間?|Skycloud

在網路通訊與資料傳輸的世界中,「TTL」是一個常被提到卻容易被忽略的重要參數。TTL 是「Time To Live」的縮寫,中文為「存活時間」。它不只是代表「資料包能活多久」,更是網路效率與安全管理的一環。

目錄

➤TTL是什麼

➤TTL如何運作

➤TTL 要設定多少才合理?
➤還有哪些情況會使用 TTL?
➤設定 TTL 的實務建議


TTL是什麼


 我們在一些設定,如 CDN 或 DNS 服務中經常可以看到「TTL」這個英文縮寫,那麼什麼是TTL呢?

 TTL(Time To Live) 存活時間,是一個定義資料在網路中可以存活多久的數值,例如:

  • IP 封包中的 TTL 值:
    限制封包能經過多少個路由器(Hop) 後還能繼續傳遞,以防止無限循環。

  • DNS 記錄中的 TTL 值:
    定義 DNS 快取多久後需重新查詢來源伺服器,常用於控制網域紀錄更新的頻率。


IP 封包中的 TTL

當一個封包從來源主機出發時,它會帶著一個 TTL 值(例如 64 或 128),每經過一個路由器(Hop),TTL 就會減 1,當 TTL 值減到 0,該封包就會被丟棄,並回報錯誤訊息給來源主機。

這個設計的原因是為了防止封包因路由設定錯誤而無限迴圈、保護網路資源不被耗盡,並且快速偵錯路由問題。


DNS 中的 TTL

在 DNS 系統中,每一筆記錄,如 A、CNAME、MX…等,都會設定一個 TTL 值(單位是秒),告訴快取伺服器這筆記錄可以快取多久。

比如:
某個 A 紀錄的 TTL 是 3600 秒,代表快取伺服器可以快取這個 IP 資訊 1 小時,1 小時後才需重新向 DNS 來源伺服器查詢。

為什麼要設定 TTL 呢?

  • 提高效能:減少 DNS 查詢次數,提升網站存取速度。

  • 減少流量:降低 DNS 伺服器的負載。

  • 控制更新速度:TTL 越短,更新紀錄的速度越快、TTL 越長,快取效果越好。


TTL如何運作


 TTL 的運作方式,指的是 TTL 在不同場景中是如何被計算與執行的,而 TTL 運作的核心概念很簡單,也就是「設定一個『壽命倒數』值,直到過期為止就會被丟棄或重新查詢。


IP 封包中的 TTL 運作方式

當一個資料封包從電腦出發時(例如開啟一個網站),它會帶上一個 TTL 數值,例如 64、128 或 255,這個值的意義是「最多可以經過多少個路由器(Hop)後還能繼續傳送」。

  • 封包出發,帶著 TTL = 64 (以此為例)

  • 經過第一個路由器,TTL 減 1,變成 63

  • 經過第二個路由器,再減 1,變成 62

  • 當 TTL 減到 0,封包就會被該路由器直接丟棄

  • 同時,該路由器會送出一個「ICMP 錯誤訊息」回給來源,通知封包無法送達

其功能意義是為了防止封包在網路中無限繞圈、協助偵測路由錯誤與減少資源浪費。

※TTL 在 IP 封包中是以「跳數(Hop)」為單位遞減


DNS 記錄中的 TTL 運作方式

當使用者查詢一個網域時,DNS 系統會從來源伺服器查詢紀錄,並將該紀錄快取起來,其中就會包含一個 TTL 值(例如 3600 秒),這個意義在於「這筆資料可以在快取中保留多久」。

  • 使用者第一次查詢網域,如 example.com

  • 解析器向權威 DNS 查詢,取得 A 紀錄與 TTL,如 3600 秒

  • 這筆資料被快取,存在本地或 ISP DNS 中

  • 在 TTL 倒數 3600 秒內,再次查詢都會直接從快取中回應

  • 一旦 TTL 倒數完(=0),下一次查詢就會重新向權威 DNS 查詢,取得新紀錄與新 TTL

其功能意義在於降低 DNS 伺服器的負載、控制記錄變更後的更新反應速度,以及提升查詢速度並減少延遲。

※TTL 在 DNS 是以「時間(秒)」為單位倒數


TTL 要設定多少才合理?


 當設定 TTL 值的時候,沒有絕對的標準,是要根據實際需求來權衡「快取效果」和「更新靈活性」來考慮,TTL 的單位是「秒」,一般從幾十秒到幾天都有可能,不過 TTL 並不是愈長愈好,TTL的長短都有利弊,其關鍵還是在於我們的「需求」如何。


使用場景建議 TTL 範圍說明
網站 IP 很穩定
(如企業官網)
4~24 小時
(14,400~86,400 秒)
適合穩定服務,可減少 DNS 查詢頻率、提升效能。
網站頻繁改版或搬家
(如新站上線初期)
300~1,800 秒
(5~30 分鐘)
TTL 設短可快速反映 DNS 記錄變更。
即將遷移或測試期間60~300 秒
(1~5 分鐘)
測試或轉址期間,短 TTL 有助於快速切換。
CDN 或多節點服務幾十秒~數小時不等根據快取更新頻率與容忍延遲彈性調整。
郵件伺服器(MX 記錄)1~12 小時
(3,600~43,200 秒)
郵件伺服器較穩定,可設定較長 TTL 減少查詢。

TTL 長 (如一天)TTL 短 (如5分鐘)
  • 減少 DNS 查詢頻率

  • 提升效能與節省成本

  • 更改記錄會延遲生效

  • 更改記錄能快速生效

  • 便於切換伺服器或故障導流

  • 查詢頻率高,增加伺服器負擔

適合穩定網站適合經常更新或測試中網站

※備註:
TTL 改了不會馬上生效,即使改了 TTL,DNS 快取伺服器會根據「舊 TTL」繼續快取,直到過期才會抓取新設定;所以,若有預計切換或更新操作,建議提前幾天縮短 TTL,等舊快取過期後再進行更新,影響才會最小化。


還有哪些情況會使用 TTL?


 TTL 雖然最常見於 IP 封包與 DNS 快取,但 TTL 其實還會被廣泛地用在其他的技術與系統當中,目的是一樣的,也就是控制資料或資源的生命週期、避免過期或無限存在。以下是幾個常見的應用場景。

  • 快取系統
    控制資料保留多久,過期自動清除。

  • HTTP 快取
    網頁資源如圖片、CSS 設定 TTL,加快載入速度。

  • 驗證碼與 Token
    設定有效時間,確保安全性與時效性。

  • 訊息系統
    訊息過期就不再投遞,避免傳送舊資料。

  • CDN 快取控制
    CDN 節點會根據來源伺服器提供的 TTL 來決定資源保留多久,部分 CDN 會允許你自訂 TTL 設定以強制更新或延長快取。


設定 TTL 的實務建議


  • 網站上線初期:
    設定較短 TTL(如 300 秒),方便隨時更新 DNS。

  • 穩定營運期:
    延長 TTL(如 3600 秒~86400 秒),減少不必要的查詢。

  • 重大變更前一週:
    提前縮短 TTL,確保更改時能快速生效。

  • 使用 CDN 時:
    根據 CDN 的快取設計與動態內容頻率靈活調整 TTL。

  • 防禦 DDoS 或異常導流:
    搭配 DNS 流量管控平台,保持中等 TTL(如 600~1800 秒)彈性處理切換。


延伸閱讀:
CDN概念全解析!一篇搞懂CDN的原理、用途與案例分析!
DNS是什麼?DNS運作流程、設定教學、攻擊手法全解析!
什麼網站需要CDN?網站使用CDN有什麼好處?
頻寬是什麼?頻寬與網站速度、DDoS 攻擊、CDN 防護關係

返回上頁