既然網路作業系統如此重要,讓我們來好好瞭解一下網路作業系統的演進情況。
本文目錄
第一代作業系統:單一架構
路由器和交換器最初使用的第一代網路作業系統,通常都是直接在快閃記憶體或唯讀記憶體等平滑式 (flat) 記憶體空間中,執行專屬的影像檔 (image) 。這類作業系統對通訊協定、封包處理與管理等提供多重程序 (process) 支援,並採用合作、多工的模式運作,每個程序不是直接執行完畢,就是執行到自動釋出 CPU 為止。
這種作業系統最大的優勢,是可以避免在內建硬體上執行整套商業作業系統的風險。當時的記憶體管理、保護和環境切換 (context switching) 功能,不是尚未成熟就是付之闕如,主要的目標在縮小佔據的空間和加快作業速度。
但這些系統的缺點,是它們存在著資源管理和故障隔離等許多讓人困擾的問題。只要有一個程序失控出錯,就會耗盡整個處理器資源,或導致整個系統當機。這種故障情形,在由較舊軟體所控制的數據網路中頗為常見;此外,軟體錯誤、非法入侵 (rogue traffic) 或人為疏失都有可能導致這種故障。
第二代作業系統: 控制臺模組化
1990 年代中期,全球數據網路的使用量激增,很快就超出當時網路和路由設備的負荷。於是第二代作業系統因應而生,將控制臺 (control plane) 模組化,提供第一代作業系統所缺乏的能力:以良好的資料速率順利轉送封包,並以硬體方式將控制臺與轉送臺分開。
第二代網路作業系統不必進行封包交換,因此可以專注在控制臺的功能。有別於第一代,第二代網路作業系統可充分發揮多工、多執行序 (multi-threading) 、記憶體管理與環境切換的能力,減少整個系統故障的機率。過去幾年安裝的核心與邊緣路由器,大多採用第二代作業系統;在目前的網際網路與企業網路中,這些作業系統更是擔任著傳送大量資料的幕後推手。
但是,由於第二代網路作業系統沒有軟體資料模組,必須藉助硬體轉送模組 (forwarding plane) 才能推動低階設備,且有些機構礙於相容性問題和現有的舊設備,也沒辦法輕易地升級軟體。
這些限制引發了過度性作業系統(第 1.5 代)的誕生,它是將第一代的單一影像檔,以程序模式放在第二代排程器 (scheduler) 與內核 (kernel) 之上執行,藉此銜接舊功能與新的軟體概念。 1.5 代作業系統的背後邏輯是,創造一些空間以便逐漸將功能轉移到新的程式碼中,但同時保留與原程式始碼相匹配的功能。雖然這種工程設計頗令人注意,但這樣的設計,功能性不如第一代,效能遜於第二代,因此長遠來說,其價值性有待商榷。
第三代作業系統:彈性、擴充性、運作不中斷
雖然第二代作業系統非常成功,過去 10 年卻產生了新的挑戰。網路迅速擴張,網路作業系統的重要性日與劇增。此外,企業競爭也迫使維運成本必須降低,並且專注於加速服務提供、創造最大收益。因此,網路作業系統必須成為真正的「網路」作業系統,它們必須做到運作不中斷,不論是路由程式碼的軟體故障,或是系統升級等,都不能影響到網路的運作。要達到這個目標,網路作業系統的可用性及匯整功能 (convergence),必須遠遠超越第二代路由器的硬體備援能力。
這些需求開啟了今日第三代網路作業系統的扉頁。
新一代作業系統能滿足可用性需求,而且其匯整能力遠優於第二代路由器的硬體備援功能。同時,其運作完全不中斷,不論是計畫維護升級,或是意外狀況,皆不影響網路運作。
另外,有鑒於每一代作業系統在升級時遭遇的困難,第三代作業系統的設計則確保客戶能輕易地移轉系統,並提供客戶一種逐步漸進 (evolutionary),而非全盤淘汰 (revolutionary) 的更新模式(舊軟體升級通常必須全面換新)。
利用第三代網路作業系統建置可靠、安全、遍及全球的網路,已不再是夢想。目前已有部份廠商藉由第三代網路作業系統整合出強大功能,以 Juniper Networks 公司的 JUNOS 網路作業系統為例,即提供一致的操作環境,滿足了企業不斷出現的新需求,也降低了整體操作成本,符合第三代作業系統高度可用性和技術整合的新網路時代。
總而言之,第三代新網路作業系統可有效簡化網路運作、提升可用性與效能,不僅為企業改善整體維運效率,同時也達到維運效率的目標,企業選擇路由器和交換器時,不可忽視的條件之一。
(作/Juniper Networks 香港/臺灣區技術總監游源濱)
