百科學習

2025-08-08

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

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

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

在網路通訊與資料傳輸的世界中,「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 防護關係

Previous:IPv4 與 IPv6 是什麼?兩者的差異|Skycloud

Next:LAND 攻擊是什麼?攻擊原理、情境與防禦|Skycloud

SkyCloud Offers Free Trials

Activate When Ready!

check-black Experience fast, secure, and reliable service.

check-blackTest first, decide later. Zero risk.

We invite you to experience our superior performance firsthand. Discover SkyCloud's speed, reliability, and flexibility. Test it out, and activate only when you are satisfied.

background imagebackground image