ONOS架构-概览

这个是阅读https://wiki.onosproject.org/display/ONOS/Architecture+Guide是顺便翻译的,目前断断续续在阅读,今天先贴一部分

概览

基于osgi,架构设计目标:

a.代码模块化,可引入具有某种独立性的新功能

b.配置性,功能可在启动/运行期加载卸载

c.子系统和模块之间的清晰边界

d.协议灵活性,不绑定于具体的协议,协议库和实现

a.onos由一系列子项目组成,各自拥有代码树,可独立编译构建。onos代码树层次化组织,利用了maven的层次化pom文件组织概念,和父目录的聚合

pom文件交互。后者包含各子项目的共享依赖和配置。onos根pom文件用来构建所有的子项目

---开发者指南附录c介绍了pom细节

b.onos使用了karaf作为osgi框架,依赖性解决方案,运行时模块动态加载。karaf提供了

.

使用标准的JAX-RS API开发REST API

. 使用了feature概念,用于定制装配一系列bundle

. bundle及第三方依赖的版本约束

. ssh控制台,可定制扩展CLI

. 运行期日志级别

c.onos可划分为

. 协议感知的面向网络的模块,可和网络交互

. 协议无关的系统内核跟踪和提供网络状态信息

. 应用使用这些信息,并向内核反馈响应

上述每一项都是分层架构中的关键层级。这里面向网络的模块和内核通过南向-provider--接口交互,内核和应用通过北向接口--consumer--接口交互

。南向接口定义了协议无关的接口向内核转发网络状态信息,内核通过面向网络的模块和网络交互。北向接口为应用提供网络组件和属性的抽象,可基

于此,根据既定的规则定义所需的动作。

d.若onos需支持一种新的协议,可基于南向接口定义一个新的面向网络的模块作为插件,加载进系统中来。

时间: 2024-11-08 19:25:46

ONOS架构-概览的相关文章

VCSA 6.5 HA配置 之一:架构概览

VCSA 6.5 HA配置之一:架构概览 在VMware vSphere环境中vCenter Server的作用尤其重要,虽然在之前的版本中VMware曾经推出过vCenter Heartbeat来实现vCenter Server的高可用,但是该解决方案早就被VMware抛弃,故此很多管理员都对VMware原生的高可用解决方案翘首以盼,终于在VMware vSphere 6.5 这个版本发布的时候推出了vCenter Server Appliance 6.5的高可用架构,注意的是仅支持vCent

ONOS白皮书中篇之ONOS架构

编者按:本系列分三篇对ONOS白皮书进行翻译,接<ONOS白皮书上篇>,本文翻译白皮书中的第5部分ONOS架构,如有不当之处,欢迎指正. 5.ONOS架构 ONOS从一开始就从服务提供商的角度开展架构设计.具备高可用性.可扩展以及性能良好等基本性能,并且还有强大的北向接口抽象层和南向接口. ONOS具有下述核心功能: ■分布式核心平台,提供高可扩展性.高可用性以及高性能,实现运营商级SDN控制平面特征.ONOS以集群方式运行的能力使得SDN控制平台和服务提供商网络具有类似Web风格的灵活性.

Python web世界观——web架构概览(适合传统程序员)

传统web server面临的问题 我们知道传统的web server,一个进程打开socket,监听,来了请求生成新的进程(或线程.或阻塞)进行响应,本身还在继续监听.这是看过unix网络编程的大部分人所接触到的网络模型.然而,unix实在太老,网络需求在近些年发生了巨大的变化,最重要的就是对并发性的要求. 并发性的要求的提高,让本机的web server的架构也发生了变化,并且对本机这个词语也发生了不同的需求.因为server的请求可能不是一台机器处理的来的,那么又需要解决的一个问题是多个s

iOS快速开发框架Bee-Framework应用和解析(二) --- Bee framework架构概览

在第二部分里,分享一下Bee Framework架构的看法.如果您下载了Bee Framework, 在/document/developer_manual.pdf有Bee的开发手册.手册里有典型的教程,也有对架构的讲解.本文试图融入个人的理解,解答以下问题: Bee的MVC是如何工作的,核心组件是哪些? Bee的整体架构如何? 除了MVC, Bee提供了哪些常用的工具和服务? 该如何使用Bee开始一个项目? A1:Bee的核心类包括BeeModel, BeeMessage, BeeUIRout

IIS6.0架构概览(翻译)

IIS6.0提供一个重新设计的万维网发布服务(World Wide Web Publishing Service)架构,可以帮助你为你的网站构建更好的性能.可靠.可扩展性(scalability),无论他们运行在一个或多个运行IIS的服务器上. IIS 6.0以两个不同请求处理模式之一运行在服务器,称为应用程序隔离模式.应用程序隔离是应用的分离,它通过进程边界防止一个应用程序或网站影响另一个和减少你为更正应用相关的问题而重启服务所花时间. 在IIS6.0内,对于两种IIS应用程序隔离模式,每个应

ONOS架构-系统组件

系统组件 系统分层 App/core/providers 业务和子系统 一个业务service是有多个组件构成的功能单元,基于各层软件栈提供一个垂直的分片slice,将构成业务service的组件集合称为子系统.业务和子系统可互换使用. onos定义的业务有: .设备子系统-管理设备-交换机-资产 .链路子系统-管理链路资产 .主机子系统-管理主机及在网络中的位置 .拓扑子系统-管理网络视图 .路径path---基于最新的拓扑,在交换机之间,或者主机之间计算和发现路径 .流规则子系统-管理应用到

【SSM电商项目后台开发】003-项目架构概览

一 项目整体架构 使用Mybatis插件生成POJO类和Mapper文件,整体结构如下: 原文地址:https://www.cnblogs.com/noaman/p/8747873.html

OpenStack总体架构概览&amp;OpenStack核心组件介绍

下面个是51CTO上一位朋友发布的O版OpenStack核心组件说明,总结的非常到位,所以我就不再造轮子了.~,~ https://down.51cto.com/data/2448945 私有云 公有云 混合云 IaaS(基础架构即服务):OpenStack,CloudStack PaaS(平台即服务):Docker,Openshift SaaS(服务即服务):主要面对终端用户,可通过一个浏览器就可以实现使用任何应用,而无需安装. DBaaS(Database as a Service) FWa

mybatis-系统架构概览

1. 概述 本文主要分享 MyBatis 的项目结构. 2. 代码统计 这里先分享一个小技巧.笔者在开始源码学习时,会首先了解项目的代码量. 第一种方式,使用 IDEA Statistic 插件,统计整体代码量. 我们可以粗略的看到,总的代码量在 21441 行.还是在可接受的范围. 第二种方式,使用 Shell 脚本命令逐个 Maven 模块统计 . 一般情况下,笔者使用 find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\