2019独角兽企业重金招聘Python工程师标准>>>
图 1. ONOS的设计架构图
1.1 北向抽象层
ONOS有两个强大的北向抽象层:Intent架构和全局 络视图。Intent架构屏蔽服务运行的复杂性,应用向 络请求服务而不需要了解服务运行的具体细节。应用更多的集中于能做什么,而不是怎么做。
全局 络视图为应用提供了 络视图,包括主机、交换机以及和 络相关的状态参数,如利用率。应用可以通过APIs对 络视图进行编程,一个API可以为应用提供 络视图。
确切的说,北向接口抽象层和APIs将应用与 络细节隔离,而且也可以隔离应用和 络事件(如连接中断)。相反的,将 络操作系统与应用隔离, 络操作系统可以管理来自多个、竞争应用的请求。从业务角度看,提高了应用开发速度,并允许在应用不停机的状态下进行 络更改。
1.2 分布式核心(DISTRIBUTED CORE)
分布式核心平台提供组件间的通信、状态管理,领导人选举服务。因此,多个组件表现为一个逻辑组件。对设备而言,总是存在一个主要组件,一旦这个主要组件出现故障,则连接另一个组件而无需重新创建新组件和重新同步流表。对应用而言, 络图形抽象层屏蔽了 络的差异性。另外,应用可以获悉组件和数据平台的故障代码。这些都大大简化了应用开发和故障处理过程。从业务角度看,ONOS创建了一个可靠性极高的环境,有效地避免应用遭遇 络连接中断的情况。而且,当 络扩展时 络服务提供商可以方便地扩容数据平台,且不会导致 络中断。通过相同的机制, 络运营商也可以实现零宕机离线更新软件。
总而言之,分布式核心平台是ONOS架构特征的关键,将SDN控制器特征提升到电信运营商级别。
图 2. ONOS分布式核心架构图
1.3 南向接口抽象层
南向抽象层由 络单元构成,例如交换机、主机或是链路。ONOS的南向抽象层将每个 络单元表示为通用格式的对象。通过这个抽象层,分布式核心平台可以维护 络单元的状态,并且不需要知道底层设备的具体细节。这个 络单元抽象层允许添加新设备和协议,以可插拔的形式支持扩展,插件从通用 络单元描述或操作映射或转化为具体的形式,反之亦然。所以,南向接口确保了ONOS可以管控多个使用不同的协议的不同设备。
南向抽象层的主要优势包括:
■可以用不同的协议管理不同的设备,且不会对分布式核心平台造成影响。
■扩展性强,可以在系统中添加新的设备和协议。
■可以轻松地从传统设备迁移到支持OpenFlow的白牌设备。
1.4 软件模块化
软件模块化是ONOS一大结构特征,方便软件的添加、改变和维护。ONOS的主体架构是围绕分布式核心平台的三层架构,核心平台内部的子结构也能体现模块化特征,核心平台的存在价值就是约束任何一个子系统的规模并保证模块的可拓展性。此外,连接不同模块的接口是至关重要的,允许模块不依赖其他模块独立更新。这样就可以不断更新算法和数据结构,并且不会影响整体系统或是应用,这一特点是确保软件稳定更新的关键。
ONOS建立树形结构不仅仅为了遵循而是要加强这些结构原则。合理控制模块大小并且模块之间保持适当依赖形成一个非循环的结构图,模块之间通过API模块之间关联,正如下图所示:
图 3. ONOS模块结构图
软件模块化的优势归纳为一下几点:
■保证结构的完整性和连贯性;
■简化测试结构,允许更多的集成测试;
■减小系统某部分改变的影响,从而降低维护难度;
■组件具有可拓展和可定制的特性;
■规避循环依赖的情况。
2. 总结
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34691 人正在系统学习中 相关资源:南 2013计量自动化上行规约调试软件-互联 文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!