ONOS是首款專門面向服務提供商和企業骨干網的開源SDN網絡操作系統,是由一家名為開放網絡實驗室(ON.Lab)的非盈利性組織打造的一款商用控制器,並將於美國時間2014年12月5日全球首發。ONOS旨在為服務提供商和企業骨干網提供高可用性(HA)、可橫向擴展及高性能的網絡需求。由於該項目得到了業界各知名大佬包括服務提供商AT&T、NTT,網絡供應商Ciena、Ericsson、Fujitsu、Huawei、Intel、NEC,網絡運營商Internet2、CNIT、CREATE-NET的資助和開發,並獲得了ONF的鼎力支持,使得ONOS的消息一公布就被炒得炙手可熱,可謂賺足了眼球。
目前市面上已經有很多開源SDN控制器,包括NOX、Beacon、SNAC和POX,這些控制器的問世向我們展示了SDN的魅力與潛力。但是我們必須清楚這些控制器並不能用於商業化的產品,因為它們缺乏可擴展性、可靠性以及良好的性能等商業所需的關鍵特性。據稱這也將是一款能與OpenDaylight抗衡的一款商業級SDN網絡操作系統。
那么,ONOS到底怎樣實現商業化性能的,它的架構到底出色在哪里?下面小編從ON.Lab官方發布的白皮書摘取了相關資料來簡析一下ONOS的架構。
1. ONOS架構
ONOS架構設計伊始就將服務提供商放在首位。可靠性強、靈活度高以及良好的性能都是最基本的要素,同時它還具有強大的北向接口和南向接口。
ONOS具有的核心功能主要包含:北向接口抽象層/APIs、分布式核心、南向接口抽象層/APIs、軟件模塊化,具體將做詳細分析。下圖給出了ONOS的設計架構圖:
1.1 北向抽象層
ONOS有兩個強大的北向抽象層:Intent架構和全局網絡視圖。Intent架構屏蔽服務運行的復雜性,應用向網絡請求服務而不需要了解服務運行的具體細節。應用更多的集中於能做什么,而不是怎么做。
全局網絡視圖為應用提供了網絡視圖,包括主機、交換機以及和網絡相關的狀態參數,如利用率。應用可以通過APIs對網絡視圖進行編程,一個API可以為應用提供網絡視圖。
確切的說,北向接口抽象層和APIs將應用與網絡細節隔離,而且也可以隔離應用和網絡事件(如連接中斷)。相反的,將網絡操作系統與應用隔離,網絡操作系統可以管理來自多個、競爭應用的請求。從業務角度看,提高了應用開發速度,並允許在應用不停機的狀態下進行網絡更改。
1.2 分布式核心(DISTRIBUTED CORE)
分布式核心平台提供組件間的通信、狀態管理,領導人選舉服務。因此,多個組件表現為一個邏輯組件。對設備而言,總是存在一個主要組件,一旦這個主要組件出現故障,則連接另一個組件而無需重新創建新組件和重新同步流表。對應用而言,網絡圖形抽象層屏蔽了網絡的差異性。另外,應用可以獲悉組件和數據平台的故障代碼。這些都大大簡化了應用開發和故障處理過程。從業務角度看,ONOS創建了一個可靠性極高的環境,有效地避免應用遭遇網絡連接中斷的情況。而且,當網絡擴展時網絡服務提供商可以方便地擴容數據平台,且不會導致網絡中斷。通過相同的機制,網絡運營商也可以實現零宕機離線更新軟件。
總而言之,分布式核心平台是ONOS架構特征的關鍵,將SDN控制器特征提升到電信運營商級別。
1.3 南向接口抽象層
南向抽象層由網絡單元構成,例如交換機、主機或是鏈路。ONOS的南向抽象層將每個網絡單元表示為通用格式的對象。通過這個抽象層,分布式核心平台可以維護網絡單元的狀態,並且不需要知道底層設備的具體細節。這個網絡單元抽象層允許添加新設備和協議,以可插拔的形式支持擴展,插件從通用網絡單元描述或操作映射或轉化為具體的形式,反之亦然。所以,南向接口確保了ONOS可以管控多個使用不同的協議的不同設備。
南向抽象層的主要優勢包括:
- 可以用不同的協議管理不同的設備,且不會對分布式核心平台造成影響。
- 擴展性強,可以在系統中添加新的設備和協議。
- 可以輕松地從傳統設備遷移到支持OpenFlow的白牌設備。
1.4 軟件模塊化
軟件模塊化是ONOS一大結構特征,方便軟件的添加、改變和維護。ONOS的主體架構是圍繞分布式核心平台的三層架構,核心平台內部的子結構也能體現模塊化特征,核心平台的存在價值就是約束任何一個子系統的規模並保證模塊的可拓展性。此外,連接不同模塊的接口是至關重要的,允許模塊不依賴其他模塊獨立更新。這樣就可以不斷更新算法和數據結構,並且不會影響整體系統或是應用,這一特點是確保軟件穩定更新的關鍵。
ONOS建立樹形結構不僅僅為了遵循而是要加強這些結構原則。合理控制模塊大小並且模塊之間保持適當依賴形成一個非循環的結構圖,模塊之間通過API模塊之間關聯,正如下圖所示:
軟件模塊化的優勢歸納為一下幾點:
- 保證結構的完整性和連貫性;
- 簡化測試結構,允許更多的集成測試;
- 減小系統某部分改變的影響,從而降低維護難度;
- 組件具有可拓展和可定制的特性;
- 規避循環依賴的情況。
2. 總結
本文簡析了ONOS的設計架構,因為截稿前產品還未發布,只是根據官方發布的白皮書簡要闡述它們的設計意圖、理念以及架構各層面主要特點。想要具體了解ONOS還待12月5日正式發布及小編后續的文章。