文档章节

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

wangxuwei
 wangxuwei
发布于 2017/05/11 22:45
字数 1065
阅读 95
收藏 0

1.系统层次

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

2.服务或子系统

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

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

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

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

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

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

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

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

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

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

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.事件与描述

 

下图是事件交互图

 

参考文献:

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

本文转载自:http://blog.csdn.net/herojia_1/article/details/54612995

共有 人打赏支持
wangxuwei
粉丝 25
博文 335
码字总数 117394
作品 0
杭州
其他
私信 提问
软件开发大图景:两个维度,四个象限

软件开发,尤其是大型软件开发是非常复杂的,涉及非常多的组件元素,需要作出大大小小的各种决策。软件开发的根本矛盾是不断增长的系统规模和复杂性与开发人员有限的大脑容量和处理速度之间的...

秋水逍遥
2014/10/08
0
3
ONF 开源白皮书:SDN 解决方案案例——Carrier/WAN SDN

译者简介:罗旭:湖南师范大学研究生 3.1 运行中的商用部署传输SDN平台 韩国电信公司展示了其传输SDN项目,该项目于2015年11月开始建设,计划2016年1月开始部署。该项目指出了运营商在管理复...

oschina
2016/04/28
2.3K
0
CBM——IT与业务融合的重要途径

1.传统上有两种看待业务流程的方式: 1)从组织结构来看 把组织分成了独立的功能性部门,无法看到跨部门的协作以提供客户价值。 2)基于价值链的业务模型 提供了业务能力的运行模型,但看不到...

肖勇
2009/12/12
0
0
2015年源创会年终盛典

本期图文回顾链接:http://www.oschina.net/question/1765084_2145289 2015年源创会巡回的终点-北京,一场年度盛典正在酝酿中…… 大会官方首页:http://www.oschina.net/2015-beijing-cer...

阿娇OSC
2015/09/17
14.5K
197
2015年源创会年终盛典

本期图文回顾链接:http://www.oschina.net/question/1765084_2145289 2015年源创会巡回的终点-北京,一场年度盛典正在酝酿中…… 大会官方首页:http://www.oschina.net/2015-beijing-cer...

阿娇OSC
2015/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
2
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
1
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0
android自定义viewgroup画背景

设计部要求背景实现一个背景边框带圆弧的效果: 所以想着用自定义控件画一个背景。 为了方便,继承的是LinearLayout,在onMeasure中先获取控件宽高: @Overrideprotected void onMeasure(in...

醉雨
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部