Openai/695f6baf-a8c0-8011-ab6c-15ca5129ef57
This conversation was exported from ChatGPT[1]
gpt-5-2[edit | edit source]
User: someone complained that TPLINK use 136 years as forever dhcp lease, is that a problem?[edit | edit source]
someone complained that TPLINK use 136 years as forever dhcp lease, is that a problem? any other vendor uses same method?
Assistant: Short answer: it’s not really a problem, and TP-Link is not unique.[edit | edit source]
Short answer: it’s not really a problem, and TP-Link is not unique. This is a very common engineering shortcut in DHCP implementations.
DHCP lease time is stored as a 32-bit unsigned integer in seconds.[edit | edit source]
- Max value: 2³² − 1 = 4,294,967,295 seconds
- Convert to years → ~136.19 years
So when a vendor wants to say “effectively forever”, they often just use the maximum possible value instead of inventing a special “infinite” flag.
👉 That’s exactly what TP-Link is doing.
###[edit | edit source]
For almost all home and SOHO networks:
- The router will reboot long before 136 years
- Clients will reboot, reconnect, or renew
- The DHCP database will be cleared occasionally
So it behaves just like an “infinite lease”.
Only matter in unusual setups:[edit | edit source]
- IP exhaustion on poorly designed networks - If devices leave forever and never come back - More likely in cafés / labs / IoT-heavy environments
- Bad interaction with buggy clients - Some very old or broken DHCP clients mishandle huge lease values - Rare today
- Network changes - Long leases slow down IP renumbering or subnet changes
None of these are real issues for a typical TP-Link home router.
Yes — many do, explicitly or implicitly.[edit | edit source]
- TP-Link – ~136 years[edit | edit source]
- MikroTik RouterOS – lease-time=forever
- Cisco IOS / IOS-XE – lease infinite
- Ubiquiti EdgeOS / UniFi – very large or “infinite” leases
- Some ISP CPE routers – same 2³²−1 trick
- OpenWrt / dnsmasq – default 12h, configurable[edit | edit source]
- pfSense / OPNsense – defaults like 24h, configurable
- Enterprise DHCP servers (ISC, Kea, Windows Server) – usually hours or days
TP-Link just exposes the raw max value instead of hiding it behind the word “forever”.
Because it:[edit | edit source]
- Reduces DHCP chatter
- Makes devices keep the same IP forever (good for printers, TVs, NAS)
- Simplifies implementation
- Avoids support calls like “my device IP keeps changing”
For home users, long leases are usually a feature, not a bug.
You should avoid “forever” leases if:[edit | edit source]
- You run a public / guest / enterprise network
- You frequently rotate devices
- You need tight IP management or auditing
In those cases, shorter leases (1–24 hours) are better.
- 136 years = “infinite” in DHCP math[edit | edit source]
- Not dangerous
- Very common across vendors
- TP-Link is not doing anything weird or wrong
If you want, I can also:
- Show how TP-Link stores this internally
- Compare home vs enterprise DHCP design
- Recommend best lease times for different network types
User: 中文[edit | edit source]
中文
Assistant: 簡短結論先講:[edit | edit source]
簡短結論先講: 不是問題,而且 TP-Link 並不特別,很多廠商都這樣做。
DHCP 的租期在協定裡是用 32 位元無號整數(秒) 表示的。[edit | edit source]
- 最大值:2³² − 1 = 4,294,967,295 秒
- 換算成年數:約 136.19 年
所以當廠商想表示「等同永久(forever)」時,最簡單的做法就是: 👉 直接填最大值
TP-Link 顯示的「136 年」其實就是這個最大值,並不是隨便亂設。
###[edit | edit source]
對一般家庭或 SOHO 網路來說:
- 路由器不可能跑 136 年不重開
- 用戶端(電腦、手機、電視)一定會重開或重新連線
- DHCP 租約資料會被清掉
效果上就等於「永久 IP」。
1. IP 被佔滿 - 很多設備來過一次就再也不回來 - 常見於咖啡廳、實驗室、來客 Wi-Fi - 家用環境幾乎不會遇到[edit | edit source]
- 非常老或有 bug 的 DHCP 用戶端 - 可能處理不了超大的租期數值 - 現代系統(Windows / macOS / Linux / Android / iOS)基本沒問題
- 網路架構常變 - 想快速換子網、換 IP 規劃 - 長租期會讓舊 IP 留比較久
不是,這是業界常見做法。[edit | edit source]
- TP-Link:136 年(最大值)[edit | edit source]
- MikroTik RouterOS:lease-time=forever
- Cisco(IOS / IOS-XE):lease infinite
- Ubiquiti(EdgeOS / UniFi)
- 不少 ISP 提供的家用數據機
只是 TP-Link 直接顯示成「136 年」,而不是顯示「forever」。
- OpenWrt / dnsmasq:預設 12 小時[edit | edit source]
- pfSense / OPNsense:常見 24 小時
- Windows Server DHCP / ISC / Kea - 多用小時或天數
這類比較偏企業或進階管理用途。
因為它有好處:[edit | edit source]
- 裝置 IP 不亂跳(印表機、NAS、電視很重要)
- DHCP 流量更少
- 實作簡單
- 減少使用者抱怨「IP 怎麼一直變」
對一般家庭來說,長租期通常是優點。
如果你是:[edit | edit source]
- 公共 Wi-Fi
- 企業網路
- 學校、辦公室
- 裝置進出頻繁
那建議用:
- 1~24 小時 的租期
- 或搭配 MAC 綁定 / 保留 IP
- 136 年 ≈ DHCP 協定裡的「永久」[edit | edit source]
- 不是 Bug,也不是 TP-Link 偷懶
- 很多大廠都這樣做
- 家用完全 OK,企業才需要短租期
如果你想,我也可以幫你:
- 解釋 DHCP 封包裡實際怎麼表示
- 比較 家用 vs 企業 DHCP 設計差異
- 建議 不同使用情境的最佳租期設定
User: ASUS, NETGEAR, CISCO, DLINK, ZYXEL, HUAWEI 實際都怎做?[edit | edit source]
ASUS, NETGEAR, CISCO, DLINK, ZYXEL, HUAWEI 實際都怎做? 用時麼數值或公式?
Assistant: 下面用實際工程做法來回答你,不講行銷用語,直接講 「實際用什麼數值/怎麼表示」。[edit | edit source]
下面用實際工程做法來回答你,不講行銷用語,直接講 「實際用什麼數值/怎麼表示」。 先給總結表,再逐一說明。
一張表先看懂(重點)[edit | edit source]
| 廠商 | 對「永久 DHCP 租期」的實作 | 實際數值 / 表示法 | | ------- | --------------------------- | --------------------- | | ASUS | 超大秒數 | 2³²−1 秒 ≈ 136 年 | | NETGEAR | 超大秒數或 GUI 寫「Never」 | 通常是 2³²−1 | | CISCO | 協定級「infinite」 | 封包送 0xFFFFFFFF | | D-LINK | 超大秒數 | 多數是 2³²−1 | | ZYXEL | 超大秒數或長年數 | 100 年 / 2³²−1 | | HUAWEI | Enterprise:infinite 家用:超大秒數 | 0xFFFFFFFF 或 10–100 年 |
👉 結論先講:
- 幾乎全部最後都會落到 DHCP option 51 = 0xFFFFFFFF(136 年)
ASUS(家用路由器)[edit | edit source]
實際做法[edit | edit source]
- ASUSWRT / ASUSWRT-Merlin
- DHCP 服務:dnsmasq
表現方式[edit | edit source]
- GUI 可能顯示: - 86400 days - 或換算成「數十年」
- 封包裡: ``
text Option 51 (IP Address Lease Time): 0xFFFFFFFFc===== 為什麼? ===== dnsmasq 對「無限」的標準做法就是:
lease_time = UINT32_MAX;
➡ 和 TP-Link 本質一模一樣。
==== NETGEAR ====
===== 家用 / SOHO 路由器 =====
* GUI 常寫: - Never - 或 Forever
===== 實際送出的 DHCP =====
* 還是 最大秒數
4294967295 秒 ≈ 136 年
===== 為什麼不用 0? =====
因為:
* DHCP 規範中 0 不是「永久」
* 有些 client 會直接判定為錯誤
==== CISCO(這裡要分清楚) ====
===== Cisco IOS / IOS-XE(企業設備) =====
CLI:
text
ip dhcp pool LAN
lease infinite
===== 實際 DHCP 封包 =====
* 不是魔法
* 還是:
text Option 51: 0xFFFFFFFF
Cisco 只是把這件事包裝成「infinite」這個關鍵字。
==== D-LINK ====
===== 家用路由器 =====
* 介面常顯示: - 36500 天 - 或非常大的年數
===== 封包層級 =====
* 幾乎清一色:
2³²−1 秒
===== 舊型韌體 =====
* 偶爾用: - 100 年 - 50 年
* 但新韌體已幾乎統一用最大值
==== ZYXEL ====
===== 家用 / 中小企業設備 =====
* GUI 有時會寫: - 36500 days - 或「Permanent」
===== 實際實作 =====
* 兩種常見: 1. 直接 </code>0xFFFFFFFF<code> 2. 內部寫死「100 年」,再轉秒數(仍在 32-bit 安全範圍內)
➡ 結果對 client 來說 完全一樣
==== HUAWEI(差異最大的一家) ====
===== Enterprise(路由器 / 防火牆 / OLT) =====
* CLI:
text lease infinite
- 實際封包:
0xFFFFFFFF
===== 家用 CPE / 光世代數據機 =====
* 常見值: - 10 年 - 20 年 - 50 年 - 或 136 年
原因是:
* 某些 ISP 有內部政策
* 避免「永久」在管理系統裡看起來怪怪的
==== 為什麼大家都用同一個數值? ====
===== 因為 DHCP 規範 沒有「∞」 =====
RFC 2131 只定義:
* 租期 = 秒數(uint32)
* 沒有「永久」這種型別
===== 所以業界約定俗成: =====
text
∞ = UINT32_MAX = 0xFFFFFFFF
``
這不是 TP-Link 發明的,是 整個網路業界的默契。
一個工程師視角的總結[edit | edit source]
- 136 年不是亂來
- 是 DHCP 協定下的「數學極限」
- ASUS / NETGEAR / D-LINK / ZYXEL / HUAWEI / CISCO 👉 全部本質一樣
- 差別只在: - GUI 顯示方式 - CLI 有沒有寫成 infinite
如果你有興趣,我也可以幫你:
- 抓 實際 DHCP 封包(Wireshark)給你看
- 解釋 為什麼不用 0 秒
- 分析 為何企業網路反而不愛永久租期
你比較想看哪一個?
References[edit | edit source]
- ↑ "DHCP Lease Duration Issues". ChatGPT. Retrieved 2026-01-09.