onos架构和内部指导——系统组件

1.系统层次

onos是分层设计的,层次结构如下图。

onos架构和内部指导——系统组件_第1张图片

2.服务或子系统

服务是由多个层次组成的一个垂直片,或称为“软件栈”。我们把组件集合称为子系统或服务。

onos定义了下面几个主要的服务:

(1)设备子系统——管理基层设备库

(2)连接子系统——管理基层连接库

(3)主机子系统——管理终端主机和它们在网络中的位置

(4)拓扑子系统——管理时间排序的网络拓扑图快照

(5)路径子系统——计算或找到两个基层设备和主机间的路径(基于最近的拓扑图快照)

(6)流规则子系统——管理在基层设备上的匹配或动作流规则,提供流控制方法

(7)包管理子系统——允许应用监听来自网络设备的数据并发送数据到网络设备

下面的表说明了几个子系统,有几个是已经存在的,有的是将来会有的。

onos架构和内部指导——系统组件_第2张图片

3.子系统结构

每个子系统的组件处于三个主要层次之一,

onos架构和内部指导——系统组件_第3张图片

3.1提供者

处于onos栈最底层的提供者通过协议库与网络交互,通过提供者服务接口与onos核心交互。

协议提供者负责通过多种控制和配置协议与网络环境交互,传递特定监测数据到onos核心。提供者也从其他子系统采集数据并转换成特定数据。

许多提供者也需要接受来自onos核心的控制指令,然后通过相应的协议传送到网络。这些数据通过提供者接口传递。

3.2提供者ID

每个提供者关联一个提供者ID。用来在全局标识一个提供者,使设备或其他模型条目能与提供者关联起来。

3.3多提供者

一个子系统可能关联多个提供者。提供者被设计成或者主要的,或者辅助的。主要提供者占有与服务相关的条目,辅助的作为重叠提供信息。这种方式在信息冲突的情况下优先考虑主要提供者。

设备子系统就是这样一个支持多提供者的子系统。

3.4管理者

onos核心里边的一个组件,管理者从提供者接收信息,提供服务给应用和其他服务。它暴露了几个接口:

(1)一个北向服务接口,通过同其他核心组件和应用交互能知道特定的网络状态;

(2)一个管理服务接口,下发管理命令并应用它们到网络状态或系统;

(3)一个南向提供者注册接口,提供者能注册到管理者,这样能与它交互;

(4)一个南向提供者服务接口,作为一个注册的提供者,通过他能发送和接受信息从管理者;

管理者服务接口的用户能同步地查询信息,或者异步地监听信息(例如通过监听服务接口注册,然后实现事件监听来接受事件)。

3.5存储组件

管理者里边很重要的组件,存储组件负责索引、存储和同步管理者接收的信息。通过和其他实例onos上存储组件通信,确保国歌onos实例信息的连续性和鲁棒性。

3.6应用

应用通过管理者服务和服务接口使用和控制管理者聚合来的信息。应用可以有很多功能,从显示网络拓扑到安装网络路径。

3.7应用ID

每个应用关联一个唯一的应用ID。这个标识用来追踪与应用相关的内容(例如任务和对象,比如意图和流规则)。为了获得一个有效的ID,应用通过核心服务注册,提供它们的名称(通常启用顺从dns名,例如org.onlab.onos.fwd)

4.事件与描述


下图是事件交互图

onos架构和内部指导——系统组件_第4张图片


参考文献:

(1)https://wiki.onosproject.org/display/ONOS/System+Components


你可能感兴趣的:(云计算,onos1.11源码阅读与开发)