+− THE DAILY DIFFdev & AI news
SHIP IT

重新開機讓 Telstra 回到 2006 年。九百萬支手機受影響。

墨爾本的一名工程師在凌晨 2:50 重新啟動計時機箱,到早餐時間,澳洲最大的行動網路一致同意時間是 2006 年 11 月 8 日。

墨爾本的一名工程師在凌晨 2:50 重新啟動計時機箱,到早餐時間,澳洲最大的行動網路一致同意時間是 2006 年 11 月 8 日。2026 年 7 月 8 日:Telstra 的 NTP 機箱中一個 GPS 卡在電源維修期間重新啟動,其韌體從未進行過 GPS 週數翻轉更新,因此它選擇了舊的紀元,回到 1,024 週前。由於 2025 年 10 月的權宜之計,該卡成為網路唯一的 stratum-1 來源 — 而 2020 年轉換到 NTP 點對點連接後,所有其他來源都成為其下游 — 錯誤的日期贏得了投票。交換節點從凌晨 4 點開始重設,45% 的所有通話和數據會話受到影響,近 900 萬客戶失去通話、簡訊或數據服務,604 通 Triple Zero 緊急電話出錯,維多利亞州的區域列車停駛,大多數服務在 12:12 恢復。Telstra 自己的警報位於一個在營業時間檢查的平台上;該公司是因為客戶在 Google 搜尋「Telstra 中斷」才注意到。

閱讀書面版(英文) ↗

本影片重點

  • 一個 GPS 卡在 2006 年 11 月甦醒
  • 時間軸:2010 年設計 → 2020 年機箱 → 2025 年 10 月 GPS 卡 → 02:50
  • 早晨:04:00 MME 重設 → 04:20 警報風暴 → 12:12 恢復
  • 機制:NTP 投票基於一致性,而非合理性
  • git blame — Telstra 55 · peering 25 · firmware 15 · the power supply 5

翻譯文字稿

譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。

一個 GPS 卡在 2006 年 11 月甦醒

0:00 墨爾本的一名工程師在凌晨兩點五十份,將一個計時機箱重新啟動, 到早餐時,澳洲最大的行動網路同意現在是 二零零六年十一月。 Telstra 的外部報告指出,錯誤的日期來自一個 GPS 卡,並且整個 網路都投票支持它。 近九百萬客戶失去通話、簡訊或數據服務, 維多利亞州的區域列車也停駛了一天。 這是如何發生的?為什麼一張卡片能凌駕於國家時鐘之上?

0:23 誰該受責? 這裡是 The Daily Diff,事後分析。

時間軸:2010 年設計 → 2020 年機箱 → 2025 年 10 月 GPS 卡 → 02:50

0:28 二零一零年。設計是教科書級的。 三個國家時間源供應兩個伺服器,它們再供應下面的三個, 每個節點只從上方獲取時間。 稽核員稱其符合預期。 二零二零年。新機箱。 它無法供應自己的下級伺服器,所以雪梨和墨爾本被交叉連接, 每個站點都只剩下一個參考源。 然後所有都切換到點對點連接,任何伺服器都可以從它找到的

0:50 任何伺服器獲取時間。 “時序迴圈”這個詞沒有出現在任何文件中。 二零二五年十月。 墨爾本持續失去與雪梨的連接,其警報顯示為 stratum 五, 這表示它從自己的客戶獲取時間。 沒有人提交工單。 相反,工程師們啟動了一張閒置了五年的 GPS 卡。 警報停止了。

1:07 墨爾本現在是 stratum 一,與國家研究所同級, 沒有人審查它。 七月八日,凌晨兩點五十份。 一個電源需要更換,於是機箱重新啟動, 連同 GPS 卡也一併重新啟動。 它的韌體從未更新,所以它選擇了舊的紀元,回溯了一千 二十四週。 墨爾本成為樹的頂端,下游開始同意它的時間。

早晨:04:00 MME 重設 → 04:20 警報風暴 → 12:12 恢復

1:26 凌晨四點,交換節點開始重設。 四點二十分,警報風暴,發生在一個警報只在營業時間讀取的平台上。 四點二十九分,Telstra 注意到了,因為客戶正在 Google 搜尋 「Telstra 中斷」。進行變更的工程師正在強制休息, 而找到錯誤日期花了數小時。 到十二點十二分,大多數客戶恢復服務。

機制:NTP 投票基於一致性,而非合理性

1:47 為什麼這會發生? NTP 有兩種防禦機制。 較低的 stratum 獲勝,異常值被投票排除。 GPS 卡使錯誤的來源成為最高等級, 所有可能不同意的來源都位於下游, 重複這個錯誤。NTP 從不詢問日期是否合理, 只問其他來源是否同意。 協議運作正常。

2:06 架構卻沒有。

git blame — Telstra 55 · peering 25 · firmware 15 · the power supply 5

2:07 git blame。Telstra,百分之五十五。 沒有人負責時鐘,所以沒有人審查變更, 兩份關於這個確切錯誤的供應商公告都沒被閱讀。 點對點模式,百分之二十五,因為允許伺服器用自己的迴響投票。 韌體,百分之十五,已發布但從未安裝。 百分之五歸因於電源供應,因為它選擇了週三的凌晨兩點五十份。 影響範圍。當天所有通話和數據會話的百分之四十五,

影響範圍:45% 的會話,一個 3 萬美元的盒子被罰 3 千萬美元

2:30 執行長向參議院報告。 擺在桌上的罰款是三千萬美元,因為一個三萬美元的盒子缺少 一個免費更新。 這張卡在二零一九年的真實翻轉中倖存下來,是因為沒有人關閉它。 維修卻讓它失效。 判決,事後分析:SHIP IT,關於回應。

判決 + 週一線:一個時鐘戴三頂帽子

2:46 Telstra 聘請外部稽核員,未經編輯地發布報告, 其中提到它從未將時間視為關鍵, 並在錯誤發生之前將所有三個站點從舊伺服器遷移出去。 週一線:運行 NTP 追蹤並計算你的時間來源中有多少是 一個時鐘戴三頂帽子。 將你仍不被允許談論的事件寄給我, 在評論中,或發送至 thedailydiff.dev。 這就是今天的 The Daily Diff。

3:10 我是 Axrisi 的 Niko。 負責任地合併。

來源

  1. Technology Audit Partners, "Findings Report on the July 8th Telstra Outage" (published by Telstra, Sep 2, 2026)www.telstra.com.au
  2. Vicki Brady (Telstra CEO), "What we've learned from the external investigation of our July outage" (Sep 2, 2026)www.telstra.com.au
  3. Netnod, Sven-Christian Ebenhag, "Telstra outage: The night a network decided the year was 2006" (Sep 17, 2026)www.netnod.se
  4. Hacker News on the Netnod post (93 points)news.ycombinator.com
  5. The Guardian, Senate inquiry: 45 % of sessions, ~9M customers, 604 Triple Zero errors (Jul 17, 2026)www.theguardian.com
  6. ABC News, "Telstra recently warned about timing issue linked to national outage" (Jul 10, 2026)www.abc.net.au
  7. The Register, the day itself (Jul 8, 2026)www.theregister.com
  8. ACS Information Age, the $30,000 box and the $30M fine (Jul 14, 2026)ia.acs.org.au

相關影片

postmortem · zh-TW · 2026年9月19日

Google Cloud 在空白欄位上崩潰。三小時。

一個帶有幾個空白欄位的政策列導致空指標,Google Cloud 在所有區域同時崩潰 — 然後 Cloudflare 也隨之崩潰。2025 年 6 月 12 日,世界標準時間 17:49:Service Control 是核准每個 Google Cloud API 請求的二進位檔案,它讀取了一個帶有「非預期空白欄位」的配額政策變更,觸發了兩週前部署且沒有空值檢查和功能旗標的程式碼路徑,並在每個區域

2:57 ↗
postmortem · zh-TW · 2026年9月16日

Facebook從網路世界中消失了。六小時。

Facebook將自己的位址從網際網路中刪除,當其工程師趕來恢復時,門禁讀卡機也失效了,因為它們是運行在Facebook上的。2021年10月4日,15:40 UTC:一個例行的骨幹網路維護指令導致Facebook所有數據中心之間的鏈接中斷;用於阻止此類指令的審計工具存在錯誤;Facebook的名稱伺服器由於無法連線到數據中心,按設計撤回了它們自己的BGP路由——因此facebook.com、In

3:01 ↗
postmortem · zh-TW · 2026年9月12日

一個正規表達式擊垮了 Cloudflare。27 分鐘。

2019 年 7 月 2 日,世界標準時間 13:42:Cloudflare 的網路應用程式防火牆 (WAF) 的一項新規則在大約兩秒鐘內在全球 180 多個城市上線。這是一項模擬模式下的 XSS 規則,因此它不會阻止任何內容,但它仍然會在每個請求上運行,並且它以 .*(?:.*=.*) 結尾。PCRE 進行回溯,每個處理 HTTP 請求的 CPU 核心都達到 100 %,每個經 Cloudfla

3:00 ↗