ONOS架構-系統組件

來源:互聯網
上載者:User

標籤:

系統組件

系統分層

App/core/providers

 

 

 

 

 

業務和子系統

一個業務service是有多個組件構成的功能單元,基於各層軟體棧提供一個垂直的分區slice,將構成業務service的組件集合稱為子系統。業務和子系統可互換使用。

onos定義的業務有:

.裝置子系統-管理裝置-交換器-資產

.鏈路子系統-管理鏈路資產

.主機子系統-管理主機及在網路中的位置

.拓撲子系統-管理網路視圖

.路徑path---基於最新的拓撲,在交換器之間,或者主機之間計算和發現路徑

.流規則子系統-管理應用到交換器上的流規則(匹配和動作match/action),提供流資料(flow metrics)

.報文收發子系統-允許app監聽來自交換器的資料報文,以及通過一個多個交換器向網路發送資料報文

 

每一個子系統的組件都在某個層級中(app/core/providers),可用實現了的一個或者多個java介面標識。

描述了子系統組件的關係,上下兩個虛線是由南北向介面定義的層級邊界。

 

Provider

三層中最低一層,向網路通過協議特定的協議棧提供介面,向核心通過ProviderService提供介面。

協議感知的provider通過各種網路控制和配置協議和網路互動,向核心提供業務相關的資料,provider也從其他模組收集資料,轉換為(本)業務相關資料。

某些provider從核心接收控制指令,並通過協議特定的方式應用到網路,這些通過provider介面傳遞給provider。

 

Provider ID

Provider會關聯一個ProviderID,用於在同一類Provier中提供外部標識,並允許在provider卸載後交換器或者其他模型實體依然能保留和provider的關聯。

ProviderID攜帶URI,可允許交換器和Provider進行配對,而無需訪問provider對象本身。

 

Multiple Provider

子系統可個關聯多個provider,provider有primary和ancillary兩種角色,primary擁有關聯到業務的所有實體,ancillary類型的privider則以overlay方式提供資訊。此種方式,為主要provider提供了某種優先權,處理underlay的衝突資訊

 

Manager

核心模組,從provider接收資訊,提供給應用或者其他業務service。

有如下interface

.北向介面,應用和其他核心模組可擷取特定網路狀態

.AdminService介面,接受管理命令,應用到網路或者系統中

.南向ProviderRegistry介面,Provider通過介面向Manager註冊

.南向ProviderService介面,登入的Provider向Manager接收/發送資訊

 

Manager 業務介面的consumer可通過同步方式(查詢業務)和非同步方式(事件監聽,實現EventListener介面)

 

Store

在核心,和Manager中,store用於儲存,索引,同步manager收到的資訊,通過和其他onos執行個體中的store直接通訊,保證跨多個ONOS執行個體的一致性和健壯性,

 

Application

應用經由AdminService介面和業務介面操作Manager彙總的資料,應用的範圍很廣

 

ApplicationID

每個應用都分配一個唯一的APPID,用於 ONOS跟蹤應用的上下文(諸如intent,flow rules這樣的任務對象),應用使用CoreService介面註冊,提供反轉的DNS,名字,從而擷取AppID。

  注,並非所有子系統都如上操作,也並非所有組件都嚴格按照如上實現功能,比如TopologyProvider相對系統核心以協議無關方式呈現裝置和鏈路,從不和裝置直接互動,由CoreManager實現的CoreService,僅僅是業務介面。

 

Events and Descriptions

ONOS核心中關於事件分發的兩個基本單元是event和description,兩者可以經由業務介面,和特定網路元素和概念關聯,一旦建立,兩者都是不變的(immutable)

 

Description用於通過南向介面傳遞資訊,比如HostDescription包含主機的mac,ip地址,在網路中的位置(VLANID,交換器和連接埠),Description通常有model/objects,以及各種網路組件的onos表達,組成。

 

Event,

Manager使用event來通知監聽者網路狀態的改變,Store用來通知分布式對端。Event由類型type和表示模型對象的主題subject組成,比如DeviceEvent可用來通知DeviceListener某個裝置device(subject)被檢測(DEVICE_ADDED),刪除(DEVICE_REMOVED),屬性變化(DEVICE_UPDATED)

 

Event分發

由store產生的event,輸入來自Manager。一旦產生,將通過StoreDelegate介面分發給感興趣的監聽者,StoreDelegate最終會調用EventDeliveryService介面,StoreDelegate將event從store中移出,EventDeliveryService保證event會到達監聽者,由manager實現StoreDelegate的實作類別

 

Event監聽

任何實現了EventListen介面的組件都是事件監聽器,事件監聽器由其所監聽的event的子類的類型確定,事件監聽器的典型實現是作為Manager或者應用的inner類,根據收到的event調用合適的業務。這個限制了從外部處理子系統到子系統的Manager,或者子系統到應用的event。、

描述了description和event以及相關的組件。

 

 

ONOS架構-系統組件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.