1980 年 10 月 27 日,ARPANET 首次全網癱瘓
1980 年 10 月 27 日,互聯網前身 ARPANET 出現首次大規模網絡故障,全網停擺約四小時。ARPANET 由美國國防部高等研究計劃署(DARPA)建立,最初只連接加州和猶他州四個地點,其後擴展至全國各地的研究中心。據 Computer History Museum 記載,這是史上第一次重大網絡崩潰。
重新開機也救不了
負責營運網絡的 Bolt Beranek and Newman(BBN)工程師 Eric Rosen 其後在技術文件 RFC 789 記述經過。網上幾乎所有 IMP(介面訊息處理機,負責轉送數據的電腦,作用類似今日的路由器)都無法互相通訊,已建立的連線全部中斷,網絡控制中心收到來自全國的大量來電。工程師把幾部 IMP 手動重新開機,但一接回網絡,又出現同樣問題。
三份「最新」更新互相追逐
工程師檢查記憶體紀錄後發現,各 IMP 的緩衝區幾乎塞滿同一部 IMP 50 發出的路由更新(通知其他機器網絡路線狀況的訊息),序號只有 8、40 和 44 三個。按 ARPANET 的規則,44 比 40 新、40 比 8 新,而 8 又被當成比 44 新,三份更新於是在網上無限循環,耗盡各 IMP 的處理能力和緩衝空間。
序號 | 二進制 |
|---|---|
8 | 001000 |
40 | 101000 |
44 | 101100 |
三份更新內容完全相同。Rosen 推斷原本只有一份序號 44 的更新,其後兩次因硬件故障掉失位元,變成 40 和 8。更新封包本身有檢查碼(用來偵測資料出錯的驗證碼),但重發時是從表格資料重新製作,而表格沒有檢查碼保護。
修補程式要幾小時才傳得開
Rosen 指,工程師不到一小時已找到恢復方法,就是令所有 IMP 不理會 IMP 50 的更新。不過 IMP 大多無人看管,只能經網絡本身遙距控制,網絡正常時幾分鐘便可發出的修補程式,這次要三至四小時。BBN 表示會把判斷「較新」的條件由「小於或等於」改為「小於」,同時指出真正需要的是能及早發現程式失控的警報機制。
來源
- October 27: The First Major Network Crash, the Four-Hour Collapse of the ARPANET, Occurred(Computer History Museum)
- RFC 789: Vulnerabilities of Network Control Protocols: An Example(RFC Editor)
- Vulnerabilities of network control protocols: an example(ACM SIGSOFT Software Engineering Notes,1981 年 1 月)




暫時未有留言
提交留言即表示你已閱讀我們的私隱政策。