从运维需求的传递链条来看,云网络和园区网络也高度相似。首先,租户(用户)的业务开通/变更申请会提交至管理平台(运维部门),管理平台(运维部门)分解任务后,下发给网络控制器(网络运维人员),由他们完成具体网络配置并将结果反馈给需求方。当然,云网络中依靠网络控制器和REST API接口早已实现了自动化运维,而传统园区大多还停留在依靠网络管理员和手工配置网络设备的“人肉运维”阶段。
如今,在云化园区网络架构下,我们将有机会把云中广泛使用的,面向未来的软件编程、自动化、NetDevOps等先进技术和理念应用到园区场景,在网络运维方面大大解放生产力,提高效率!
与云网络类似,云化的园区网络架构采用了“集中控制器+分布式路由+分布式转发”的整体结构,具体如下图所示:
集中控制器+分布式路由+分布式转发
在云化园区网络中:
借助于开放网络操作系统的软件编程接口能力,在云化园区网络中,各种网络业务与应用可以通过软件编程的方式自动、按需地调度网络,网络管理员甚至可以开发自有的网络应用以满足各种业务和应用的需求,让“应用定义网络”成为现实。
开放的编程接口
上图,以星融元的开放网络操作系统AsterNOS为例说明了如上的概念。AsterNOS SDK所提供的面向机器的软件编程接口使得在各种环境中对网络进行软件定义成为可能。在运行着AsterNOS的网络中,使用者除了使用传统的命令行、WebUI对网络进行基础的运维之外,还可以通过AsterNOS SDK所提供的REST API和/或System API自动化地、高效地运维网络,甚至为自己的网络开发新的应用。
传统园区网络中,往往是“一个设备、一个配置”,即每一台网络设备的配置都是不同的。对于较大规模、结构复杂的网络来说,网络配置和配置的维护、变更是网络管理员所面临的巨大挑战之一,面对复杂的网络结构、众多的网络设备、多个版本的网络配置文件,稍有不慎就会因为错误配置引发网络故障。
分层简化配置
云化园区网络架构追求极简的另一个有力例证就是将网络设备的配置改进为“一层设备、一个配置”。简单来说,通过创新的设计,云化园区网络架构彻底规避了“同层设备、配置不同”的问题,在一个二级三层的Clos网络中,无论有几十台还是上百台网络设备,只需要维护三个网络配置即可,同层设备在配置方面的差异性,完全通过软件设计上的创新和初始配置的自动化屏蔽了。在云化园区网络中,网络配置的数量不再被网络设备的总数量所决定,而是只跟网络的层数相关,将配置管理工作带给网络运维的复杂度降低了2-3个数量级,帮助网络的拥有者大幅度降低运维的综合成本。
进一步的,云化园区网络架构引入了在服务器、云网络运维体系中广泛使用的零配置部署机制。
零配置部署
在零配置部署机制中:
DevOps(Development and Operations,开发运营)是一种新型的产品交付与运营模型,它将与产品生命周期和业务运营过程中的各个相关环节(例如研发、测试、部署、运营等)以一种空前的方法连接了起来。DevOps对应到开放网络世界中,就是NetDevOps。
云化园区网络架构天然地支持NetDevOps。下面,基于星融元的AsterNOS及其SDK、REST API,围绕一个安全运维场景来说明云化园区网络如何支持NetDevOps。
一个NetDevOps的示例
如上图所示,出于对安全的考虑,网络运维人员往往需要对重要的应用系统进行访问情况的审计与分析;针对这些应用系统,如果发生了访问控制的缺失、访问状况的异常,管理员希望第一时间得到通知,以便采取相应的动作。这些审计与分析的内容可能包括:网络对重要应用系统的访问是否进行了控制(以便判定该应用系统是否被保护)、对这些重要应用的访问情况是否发生了突然的变化(以便判定该应用系统是否处于可能的攻击中)等。
下面,我们就来看看通过AsterNOS SDK如何便捷、高效地实现这一需求。在网络中,访问控制一般是通过ACL(Access Control List,访问控制列表)实现的。A
AsterNOS支持ACL功能,并且能够提供所有ACL被命中过的统计数据;AsterNOS SDK所提供的REST API中,包含对ACL各个字段和统计数据的访问接口,通过调用这些接口,即可直接获得ACL的这些信息用以分析。具体思路如下:
假设运行着AsterNOS的网络设备的管理接口IP地址和端口为192.168.1.200:4430,则上述思路的示意性伪代码可以如下:
这段伪代码仅用于示意,并未严格地写出循环、边界条件判断、具体日志与告警实现等。其中,“GET https://192.168.1.200:4430/rest/v3/acl/…”即AsterNOS SDK中获取ACL及其具体信息的REST API,“TABLE_y:RULEz:”dst_ip””和“TABLE_y:RULEz:“stats””即一条ACL的“目的IP地址字段”和“该ACL的命中数量统计”。需要强调的是,编程者通过AsterNOS SDK的REST API获得的已经是ACL的每一个具体字段及其值,无需再使用复杂的文本解析程序进行处理。
将这段非常简单的程序用Docker进行容器化封装,部署在AsterNOS中,并且自动化地定时运行,即可实现前文所述的运维需求,并且,通过对更多ACL字段与值的调用,即可实现更高级的运维功能。
云计算掀起数据中心网络的变革热潮,而随着中大型园区网络规模的进一步扩增,传统园区网络面临着运维复杂、扩展性差、架构封闭等诸多挑战,借鉴云数据中心网络的发展经验,星融元Asterfusion创新性地提出了新一代精简高效的云化园区网络架构。
我们可以看到基于开放网络架构的新一代云化园区网络的确会在方方面面为园区网络带来改变。总结来看,这些改变主要包括:
所有这些改变,都将带给园区网络的拥有者和运营者最直接的价值:降低网络建设的成本,提升网络运营的效率,支撑无限创新的可能!