概述
AsterNOS SDK的由来
DevOps给计算、存储的运营带来的种种便利,也正在促使云计算推动网络向NetDevOps(Network Developmentand Operations)坚定前行。
NetDevOps对网络提出了软件编程、软件定义、按需定制、运营优化的要求,而开放网络的理念与架构方法恰恰能够满足这些要求。NOS作为网络设备的“灵魂”,NetDevOps要求NOS从封闭、黑盒的体系向开放、透明的体系演进。
AsterNOS是星融元基于标准的Linux、以SONiC/SAI作为内核,为云计算时代构建的新一代开放、开源、以业务为中心NOS。
AsterNOS SDK是星融元为满足NetDevOps需求为AsterNOS设计的一套开放网络的开发环境,能够支持开放网络的使用者在AsterNOS之上高效地运维网络和开发自己的网络应用。
全面融入云
– AsterNOS SDK能够与基于OpenStack、K8s的云无缝融合
– Aster-Neutron-Plugin和Aster-CNI是AsterNOS SDK的重要组成部分,它们分别运行在OpenStack和Kubernetes环境中,接管云操作系统对网络标准接口的软件调用,并将这样的调用转化为对运行着AsterNOS的网络的操作与控制
– 这些云中的应用能够通过AsterNOS SDK轻松、快捷地调用基于AsterNOS的开放网络能力
基础网络能力服务化
– 在运行着AsterNOS的开放网络设备中,基础网络能力通过AsterNOS SDK以服务的方式被提供出来(基础网络能力即服务,Network Functionality-as-a-Service,NFaaS)
– 使用者可以按需调用这些网络能力轻松、快速地构建符合自身业务需求的开放网络应用
全栈开放
– 全栈开放的AsterNOS通过AsterNOS SDK为NetDevOps灵活、高效的支持
– 开放性包括:整体软件架构的开放、基础网络功能的开放和面向开源生态的开放
标准化
– AsterNOS SDK通过标准化的技术架构为NetDevOps提供支持,包括基于linux内核的操作系统、基于docker的标准容器虚拟化化境以及基于标准的rest接口。
软件定义
– 在运行着AsterNOS的网络中,使用者除了使用传统的命令行、WebUI对网络进行基础的运维
– 还可以通过AsterNOS SDK所提供的REST API和/或System API自动化地、高效地运维网络,甚至为自己的网络开发新的应用
产品特性
面向机器的软件接口
AsterNOS的使用者,可以通过软件编程调用AsterNOS SDK面向机器的软件接口,来使用AsterNOS的NetDevOps能力。
-
REST API:满足对AsterNOS网络能力的配置和控制需求(例如运行状态查询、网络配置的增加删除调整)
-
System API:深度调用AsterNOS的基础网络能力,完成各类高级网络应用开发
开放的容器环境
依托于SONiC的原生能力,AsterNOS为使用者提供基于“Linux + Docker”的容器化运行与开发环境,为了帮助使用者更高效地进行二次开发,AsterNOS提供了包含“SONiC/Docker基础框架源代码增强包”、“AsterNOS二次开发编译环境”、“AsterNOS二次开发库”在内的三种支撑工具及其配套文档。
基础网络功能即服务
AsterNOS将已经支持的各种基础网络功能(例如L2/L3转发、路由管理、ACL等)封装成了“服务”提供给使用者,使用者在开发自有的网络应用时,如果需要使用这些基础网络功能,即按照“X-as-a-Service”的模式直接调用即可。
应用场景
对应用系统访问情况的高效审计
出于对安全的考虑,网络运维人员往往需要对重要的应用系统进行访问情况的审计与分析;针对这些应用系统,如果发生了访问控制的缺失、访问状况的异常,管理员希望第一时间得到通知,以便采取相应的动作。这些审计与分析的内容可能包括:网络对重要应用系统的访问是否进行了控制(以便判定该应用系统是否被保护)、对这些重要应用的访问情况是否发生了突然的变化(以便判定该应用系统是否处于可能的攻击中)等。
AsterNOS SDK能够便捷、高效地实现这一需求。在网络中,访问控制一般是通过ACL(Access Control List,访问控制列表)实现的。AsterNOS支持ACL功能,并且能够提供所有ACL被命中过的统计数据;AsterNOS SDK所提供的REST API中,包含对ACL各个字段和统计数据的访问接口,通过调用这些接口,即可直接获得ACL的这些信息用以分析。
基于AsterNOS和SDK开发算力路由网关
算网融合时代,计算能力需要被融入到网络中去,网络转发流量的依据也从单纯的“路径可达性”扩展到网络节点的“当前计算力”,即,对于“算力路由网关”来说,在传统的基于路径可达性路由算法的基础之上,需要增加基于网络设备算力状况的路由算法。
在AsterNOS之上开发自有的算力路由算法,并且基于AsterNOS SDK重用AsterNOS的路由统一管理机制、路径路由算法、网络流量转发功能,开放网络的开发者能够快速地构建符合业务需求的算力路由网关。