Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

标签: 中立科普

数据中心网络自动化运维面临的6大挑战


关注星融元


EMA(Enterprise Management Associates,企业管理协会)近期发表了《数据中心网络自动化的未来》的调查报告,在对359名来自企业、云供应商和网络服务提供商的IT网络从业者的访问中发现:48%的受访人所在公司所使用的数据中心网络自动化解决方案中仍有部分是依赖于手工收集数据的——云管理员必须手动查询单独的系统来寻找他们需要的数据,以便用网络自动化工具来做出变更。

其中更有超过86%的公司预计未来两年内,用于数据中心网络自动化的预算还将增加;但只有23%的受访者对他们接下来的自动化战略充满信心。

让我们从报告结果出发看看推动数据中心网络运维自动化的不同阶段中,各行业的资深从业者们都面临着哪些挑战?

规划和评估阶段

各系统工具之间的协同配合

根据调查,39%的技术团队最为关注网络自动化工具如何与其他工具和管理系统互动。这是因为网络基础设施和运营团队通常有多种工具来管理网络,包括数据中心网络自动化的多种工具。除此之外,其他团队例如存储、安全、应用和DevOps等都在用他们自己的工具集来管理数据中心运营的各个方面。网络团队必须要考虑他们的自动化工具如何与其他工具和团队交互。

预算和成本控制

许多企业(37%)表示,他们在规划预算和了解与数据中心网络自动化相关的成本方面有很大困难。EMA认为,自动化计划的复杂性是造成成本不明确的原因。大多数受访人表示,自己所在公司和组织既购买商业自动化工具,又有自己开放的自动化软件,很难预测要实施和维护这一系列工具所需的成本是多少。

部署阶段

基础网络设备的配置复杂低效

在推动实施数据中心网络自动化时,44%的组织在网络基础设施问题上大费周章。数据中心的网络设备和其他组件往往还有很多历史遗留问题,使得这项工作变得更加困难。例如,旧设备可能缺乏API,于是自动化团队不得不通过效率更低的的命令行脚本来配置设备。

更麻烦的是,生产网络中往往有多个版本的供应商的网络操作系统(NOS),而每个NOS版本在命令行(CLI)语法上可能有细微的差别,这就造成了更大的复杂性。不少网络工程师表示,他们有些设备上的API在应用范围、功能和质量等方面都非常局限。

与整体应用交付系统的集成

近一半(44%)的企业认为,难点在于将他们的自动化pipeline集成到整体应用服务交付系统中。这其实与规划阶段的第一个难点相呼应了。

使用阶段

数据权限和质量问题

在使用自动化时,有42%受访人认为数据权限和质量是主要问题。数据是网络自动化的命脉,工程师需要有关网络状态的数据(如设备指标和流量等)来了解需要执行哪些变更。他们还需要有关配置标准和安全策略的网络数据,依据这些信息去更改网络,并保证其稳定运行。但许多企业都在数据存储库上遇到了难题。

网络变化带来的不确定性

有40%的受访者担心网络变化会影响现网的应用行为和性能。正如来自一家价值500亿美元的咨询公司的一名网络架构师所言,”把新的网络配置一键推送给成千上万的盒子并不难,但要是这个配置是错误的,你就GG了” 。


附录:数据中心网络自动化运维相关工具

Ansible与AsterNOS SDK

Ansible – 红帽Redhat https://www.redhat.com/zh/technologies/management/ansible

在市面上各类网络自动化工具中,红帽公司的Ansible极具代表性。它能够将运营环境中大量的重复性工作以“Playbook”的方式进行自动化,从而为管理员降低工作负载,提升工作效率。Ansbile不需要被管理对象(服务器或网络设备)安装任何客户端,而是通过标准的SSH通道进行交互,所有需要被管理对象执行的命令和返回给服务器的结果都在这个标准通道中传递。Ansible的这种架构在很大程度上降低了自身的运维与管理复杂度。

AsterNOS – 星融元Asterfusion 

AsterNOS是一款基于SONiC的企业级发行版网络操作系统。

星融元(Asterfusion.com)为AsterNOS开发了符合Ansible标准的AsterPlaybook,通过AsterPlaybook,Ansible服务器能够快速、便捷地完成自动化运维。 同时,对于任何以容器模式运行在AsterNOS内部的第三方应用,也能完全融入到基于Ansible的DevOps环境中去。

面向NetDevOps的开发环境

更重要的是,AsterNOS还拥有一套面向NetDevOps的开发环境(AsterNOS SDK

运维工程师可以通过AsterNOS SDK所提供的REST API和/或System API自动化地、高效地运维网络,甚至开放自己的网络应用。

对应用系统访问情况的高效审计

例如:对应用系统访问情况的高效审计

在网络中,访问控制一般是通过ACL(Access Control List,访问控制列表)实现的。AsterNOS支持ACL功能,并且能够提供所有ACL被命中过的统计数据;AsterNOS SDK所提供的REST API中,包含对ACL各个字段和统计数据的访问接口,通过调用这些接口,即可直接获得ACL的这些信息用以分析。
AsterNOS支持ACL功能,并且能够提供所有ACL被命中过的统计数据

伪代码:

伪代码展示

相关文章

全栈可编程的P4交换机,星融元诠释开放网络的“豪华铁三角”


关注星融元


P4可编程交换机用来做什么?

  • 简化网络,降低复杂度,扩展表项空间
  • 快速增加新的网络特性——快速开发和验证新协议、隧道或封装处理(如DCE、私有云VXLAN、 ETH+MPLS+PW+ETH+PPPoE+IP、两层VXLAN等)/ NFV加速(LB、DDoS、NAT等)/ 新的拥塞控制算法
  • 帮助实现INT带内网络遥测,从而追溯每个数据包的转发过程——网络包走了哪条路径?依据哪条规则选择的这条路径?在每一跳的节点逗留了多长时间?有哪些其他的流在共享这条物理链路?

传统的网络交换机 ——封闭黑盒,不可编程

  • 处理协议固定
  • 表项空间写死
  • 业务流程固化

传统的交换芯片

设备所支持的协议,表项空间和转发逻辑在出厂时就已经固定了,当网络中有新的协议、隧道封装和转发逻辑,现有设备无法做到灵活支持,用户便只能选择更换设备。

基于SDN的尝试,有限的开放网络——Openflow带来的控制平面可编程

  • 控制平面可编程
  • 数据平面不可编程

OpenFlow 的SDN控制器相当于SDN的“大脑”,由它通过OpenFlow协议指导Openflow交换机设备的转发。不过这里的表不再是普通的IP五元组,而是整合了网络中各个层次的网络配置信息,由一些关键字和执行动作组成的灵活规则。

OpenFlow实现原理
OpenFlow实现原理

OpenFlow实现原理:OpenFlow流表的每个流表项都由匹配域(Match Fields)、处理指令(Instructions)等部分组成。流表项中最为重要的部分就是匹配域和指令,当OpenFlow交换机收到一个数据包,将包头解析后与流表中流表项的匹配域进行匹配,匹配成功则执行指令。

所以通过OpenFlow SDN控制器给设备下发流表,我们可以修改和变更网络定义和实时策略了。

但设备所支持的协议和字段仍然是在出厂时已经确定,我们只能根据现有的协议来定义流表项,无法支持新的协议。

对于不断更新变化的应用场景和协议类型来说,Openflow并没有彻底解决特定用户的业务创新需求。反倒是因为匹配字段增多(随着OpenFlow的升级迭代,所支持解析的字段从12增加到了45个)让匹配效率和表项空间占用的缺陷暴露得更加明显。

星融元的“全栈可编程”——将网络可编程进行到底,让网络真正服务于业务

P4硬转发

1、可编程线速硬转发:P4交换芯片——打开了封闭的数据平面

可编程线速硬转发:P4交换芯片——打开了封闭的数据平面

全端口、全流量、全线速转发可编程交换芯片加速新业务验证、部署和上线,与传统ASIC相比,周期缩短可达95%

  • 资源可编程
  • 转发逻辑可编程
  • 协议解析可编程

P4可编程芯片可以用来做什么?

  1. 简化网络,降低复杂度,扩展表项空间

  2. 快速增加新的网络特性——快速开发和验证新协议、隧道或封装处理(如DCE、私有云VXLAN、ETH+MPLS+PW+ETH+PPPoE+IP、两层VXLAN等)/ NFV加速(LB、DDoS、NAT等)/ 新的拥塞控制算法

  3. 帮助实现INT带内网络遥测,从而追溯每个数据包的转发过程——网络包走了哪条路径?依据哪条规则选择的这条路径?在每一跳的节点逗留了多长时间?有哪些其他的流在共享这条物理链路?

2、可编程控制面:基于SONiC的网络操作系统+x86通用CPU的云原生环境

  • 标准Linux+容器架构的开放环境
  • 各类网络控制协议(控制面功能)容器化,如需增加新的控制功能模块,只需增加新的容器
  • 可集成第三方NetDevOps运维工具
  • 向上提供Rest API ,可无缝集成控制器和Openstack、Vmware等云管平台

基于SONiC的网络操作系统+x86通用CPU的云原生环境

3、VPP&DPDK可编程软转发:高性能计算单元(DPU模块)+容器化部署环境

高性能计算单元(DPU模块)+容器化部署环境

  • 承载各种虚拟网络功能,打造开放的网络生态
  • 多核高性能处理器+大容量内存:可用于千万级会话状态处理、下游流量缓存、流量加解密等
  • 易移植的开放网络开发环境:通过所提供的底层基座操作系统,客户可以不用考虑底层支撑框架,直接开发上层应用程序,原先x86上运行的各种软件功能仅需要简单的重新编译就可以加载运行

“铁三角”豪华套餐:可编程、全开放、高性能的星融元P4可编程交换机

可编程、全开放、高性能的星融元P4可编程交换机

  • 可编程ASIC:让网络适应业务,而非业务适应网络,快速定制
  • 开放标准:业界通用标准架构,无锁定
  • X86控制 & ARM业务处理:一次开发,自由迁移,投资保护,大幅提升算力
  • 敏捷易用:简单易用的开发环境,加速产品迭代节奏
  • 标准内核:标准的Linux/ONIE/SONiC/P4Runtime,无锁定
  • 无缝运维:完全重用既有的运维团队、知识栈、工具

星融元全线可编程产品线——面向未来网络,承载创新需求

应用一:云数据中心/超融合私有云的网络部署

云数据中心/超融合私有云的网络部署

应用二:打造开放的网络生态

打造开放的网络生态

基于SONiC的容器能力拓展,自由扩展控制面能力,轻松实现NetDevOps

  • 基于容器架构的网络操作系统支持自开发/第三方应用
  • 全面支持DevOps,支持运行在星融云网络上的自开发/第三方应用自动化运维工具

算网融合,基于高性能计算单元可部署各种虚拟化网络功能

  • 可编程交换芯片:基本网络功能,自动化流量牵引和编排
  • 高性能业务处理单元:提供标准的容器环境,可以加载各种网络应用,打造网络领域的“Android”生态
  1. Stateful LB、IPSec、SSL、应用层安全网关、vFW、vIPS、vWAF…
  2. DPI、Netflow、IDS、NPM、APM、 元数据提取、流量捕获…

应用三:定制化的数据面重构

  • 基于状态的负载均衡功能的卸载,为数据中心服务器减负
  • 基于业务的精准化、实时化、可视化的带内网络遥测技术
  • 无穷大的微浪涌吸收能力,构建零丢包的云网络
  • 5G UPF……

应用四:DPU网卡卸载服务器负载

  • 卸载OVS同时集成第三方应用
  • SSL解密卸载加速
  • ……

相关文章

星融元数据中心云网络解决方案,助力千行百业数字转型


关注星融元


星融元是中国最早参与SONiC社区、并积极向社区贡献缺陷修复和软件特性代码的公司之一。从SONiC诞生之初,星融元就选择开源网络操作系统作为构建全栈开放网络的发展引擎,推出以SONiC为内核的AsterNOS开源开放网络操作系统

几年来,随着研发队伍不断发展壮大,AsterNOS经过持续更新迭代,已经升级到4.0版本,其软件特性和芯片支持不断完善扩充,在稳定性和易用性方面也实现了极大的改进,完成了数万个现场商业部署的拷贝。

配图

星融元致力于通过软硬件解耦的开放架构,让软件定义网络大规模产品部署得以实现。凭借创新的产品、完整的方案和优秀的服务能力,星融元不断在收获着国内外客户的认可和信赖。

配图-02

1、多场景应用

基于AsterNOS,星融元针对不同的应用场景选择最适合的芯片能力构建了一系列有特色的硬件平台,例如通过Teralynx芯片释放低时延的能力,可满足高频交易、机器学习、高速存储等延时敏感型应用场景的需求;又如通过Tofino P4可编程能力,可满足多数据中心互联、边界网关、安全隔离等大表项策略路由的需求。结合同一个软件平台上长期的成果积累和不同芯片的独特能力,星融元总能为用户找到适合他们应用需要的解决方案。

在一个拥有数万台服务器的数据中心,客户需要导入一款新的交换机芯片。芯片规格选择相对容易,在尽量短的时间内完成基于该芯片的产品部署落地却没那么容易。得益于AsterNOS对多芯片的支持能力,星融元迅速完成了SAI新版本开发、INT能力集成、SONiC不同版本在不同平台上的适配等工作,确保了新平台顺利上线。

因为业务流量不断增加,荷兰某银行需要对网络安全设备进行扩容来加强防护能力,但是现有网络架构很难横向扩展,引入星融元的网络服务链功能后,客户原有的安全威胁检测和SSL加速都改造成了资源池的部署方式,性能提升只需要旁路增加虚机即可。通过四个月严格的实验室测试和现场测试,星融元获得了这份数百万美金的采购合同框架。

隐私计算头部厂商华控清交的解决方案对网络低时延有明确要求,和国内某网络设备大厂相比,星融元交换机帮助客户降低了50%的端到端时延。同样,在法国一个大学的高性能计算中心,星融元与某传统大厂同时用各自的交换机测试RDMA承载MPI应用的现场效果:集群处理能力benchmark基本相同,不同的是,大厂采用了传统的InfiniBand协议,星融元采用的是标准以太网和开放架构的软硬件技术——相同的产品能力、一半的交付周期和供货成本帮助星融元赢得了这个客户上百台的订单。

2、智能化运维

一个超大数据中心的客户,想用华为、Mellanox、星融元交换机进行混合组网,如何保证不同设备之间的协议互通,如何解决大量异构设备之间的集中管理问题?客户选择了用AsterNOS给Mellanox交换机硬件进行刷机升级,星融元的云网控制器AFC(Asteria Fabric Controller)通过REST API接口将现网所有存量Mellanox设备和星融元交换机不加区分地统一管理起来,而开源的AsterNOS又帮助客户逐一找到了路由协议中和大厂设备无法对通的兼容性问题,多厂家设备在大云环境中形成了运维效率最高、成本效益最佳的兼容方案。

配图-03

厦门航空、中国银联和安徽电力这些不同行业的企业,也都各自选择了星融元的AsterNOS与AFC的联合部署方式,规模构建弹性调度的云网络,用智能化的管理模式来降低运维成本。

3、高质量服务

一位长期使用台湾地区ODM厂商供货可编程白盒交换机的用户,在使用该厂商提供的SONiC社区版本软件的过程中,因为遇到的底层技术问题既无法从厂商获得支持,也不能在社区中找到答案,几个项目都一再延期无法产品化落地。在星融元发布自己的AsterNOS及白盒平台后开始尝试切换:开发手册、技术顾问和软件BUG定位这些服务帮助客户解决了众多阻碍性问题,保证了项目顺利地从研发阶段转入到生产环节。

星融元发布自己的AsterNOS及白盒平台后开始尝试切换:开发手册、技术顾问和软件BUG定位

在Hutchison的快速响应支持也是星融元服务能力的一个典型案例:在对包括Arista和Gigamon在内的头部厂家进行严格安全渗透测试的过程中,由于星融元对SONiC内核和架构的深刻理解,解决安全问题的速度和质量都得到了客户的认可:“because of your good work we are considering to replace all the monitoring switches and will only buy from you in the future because you are the only one who are meeting security requirements.”

始于SONiC,持续精耕AsterNOS,星融元正源源不断地为行业输送开放网络的力量,多维度构建全新的云网络模式。开放网络生态正在快速发展和完善,它催动的数字化转型发展,或许远超乎你我的想象。

相关文章

云网络的回归之路-业务可视篇(2)


关注星融元


业务可视云网络:Visibility-as-a-Service(VaaS)

VaaS(Visibility-as-a-Service,可视即服务)是星融Asterfusion为云网络设计开发的业务可视整体解决方案,能够轻松应对、完美满足云计算时代的运维所面临的各种挑战和需求。

构建VaaS方案的基石是NT(Network Telemetry,网络遥测)技术。

那么啥是NT技术呢?

NT技术为运维人员提供网络运行的实时参数和状态,并且能够将需要深度分析的网络数据复制出来,按照预先设置好的策略经过智能处理后,交给后端运营分析系统的子系统(运维、安全、审计、回溯、优化等)进行关联分析和呈现。

VaaS整体架构一览

VaaS方案主要由这4部分构成:

  • INT(In-band Network Telemetry,带内网络遥测)
  • VNT(Virtual Network Telemetry,虚拟网络遥测)
  • ONT(Out-band Network Telemetry,带外网络遥测)
  • AFC(Asteria Fabric Controller)Asterfusion业务可视云网络整体架构

图2:Asterfusion业务可视云网络整体架构

  • INT:基于可编程交换芯片的INT方案,在转发业务流量的同时,将网络的即时性能、状态、参数收集并记录下来,在网络的出口发送给运营分析系统,用来精准分析物理网络的健康状况。
  • VNT:VNT方案是为运行在计算空间的虚拟网络开发的流量采集与分析方案,在不影响业务系统性能的前提下,虚拟网络流量会被VNT采集出来,然后通过隧道发送给ONT方案,用来分析虚拟网络的运行状况;对于那些单租户,VNT能够将所采集的虚拟网络流量直接发送给后端的运营分析系统。
  • ONT:ONT方案将来自于物理网络和虚拟网络的采集流量进行租户和业务的关联对应,再按照预先设定的策略进行智能处理(例如汇聚、分流、负载均衡、隧道解封装、业务负载裁剪、元数据提取、特征标记等),最后将处理后的ONT数据发送到后端的运营分析系统进行分析。
  • AFC:AFC(Asteria Fabric Controller)是VaaS的统一管理和调度平台,向南通过调用INT、VNT、ONT的REST API自动部署、按需调度、集中管理VaaS方案,同时向北为Cloud OS提供业务级的REST API,接受Cloud OS的统一调度和自动化管理。

VaaS整合了INT、VNT和ONT三个维度的技术与方案,即可以运行在星融Asterfusion的硬件平台之上,也可以运行在云计算的虚拟化环境中。

基于VaaS的业务可视云网络全面解决了云网络运维的各种挑战,完美满足云计算对云网络的运营提出的各种新需求。

接下来,让我们看看VaaS方案是怎么解决这些运营需求的。

虚拟网络与物理网络的综合运营

在星融元Asterfusion业务可视云网络中,不同的组件方案都能完成对虚拟网络和物理网络的运营分析,并且能够在同一张ONT网络上完成虚拟网络与物理网络分析结果的关联对应。

虚拟网络与物理网络的综合运营

图3:虚拟网络与物理网络的综合运营

如图3所示:

  • VNT方案采集虚拟网络中需要被分析的流量,并进行适当的处理以降低对云中东西向带宽的消耗(例如过滤掉不感兴趣的流量、将感兴趣流量的负载部分裁剪掉),然后通过隧道发送到ONT网络进行处理;
  • ONT方案通过分光或者端口镜像的方式采集物理网络中需要被分析的流量,这些流量也被发送到ONT网络进行统一处理;
  • ONT网络接收到采集完虚拟网络和物理网络的流量后,提取流量当中的特征,完成虚拟网络与物理网络的流量关联,然后将关联后的流量按照预先设置的策略进行智能处理,后发往运营分析系统;
  • INT方案能够将交换机在转发业务流量的那一瞬间自身健康状况数据采集出来,并且在业务流量离开网络进入业务系统之前,将业务流量携带的交换机健康状况数据从中剥离出来,发送给运营分析系统;
  • 运营分析系统根据接收到的ONT数据和INT数据,对云网络整体进行综合运营分析。

我们看到,当云网络发生故障时,

星融元Asterfusion业务可视云网络以虚拟和物理相结合的方式,帮助云的运营者快速、精准定位到是哪个租户的哪个业务出了问题,问题来自于虚拟网络还是物理网络,是业务流量超越SLA、还是物理网络自身性能瓶颈所致。

云级网络的整体运营

星融元Asterfusion业务可视云网络能够被部署在云中的任何位置~

云级网络的整体运营

图4:云级网络的整体运营

如图4所示:

  • 当云中两个虚拟计算节点(两个蓝色的VM)通信时,在他们之间形成了一条虚拟网络路径(图中蓝色虚线),VNT方案能够将这条路径上的流量采集出来进行分析;
  • 当这条虚拟网络路径上的流量通过物理网络传送时,在物理网络上存在两条路径在实际承载虚拟网络的流量,即图中的“物理网络路径-A(红色)”和“物理网络路径-B(金色)”,这两条路径协同工作,为两个虚拟计算节点提供高可靠、高带宽的通信通道;
  • 在某一瞬间,虚拟网络流量使用哪一条物理网络路径,是由那一瞬间物理网络设备的负载状况、虚拟网络流量的自身特征、物理网络上同时承载的其他租户和业务流量的大小等因素共同决定的,并不能提前预知;
  • 为了对图中的虚拟网络流量做全面的分析,ONT方案在物理网络的各个节点上都采集了流量,然后将这些流量智能处理后,发到后端的运营分析系统;
  • 所以,运营分析系统就能够分别通过VNT和ONT获取全面的虚拟网络流量信息和全量的底层物理网络流量信息进行关联分析。

通过对物理网络的全量采集(任意位置、任意流量),再结合虚拟网络采集流量进行关联分析后,能够帮助运营者在网络层面构建云中业务的全景视图,因此,星融Asterfusion业务可视云网络能够为用户提供面向全网的整体运营能力。

面向云网络健康状况的精准运营

INT是最近几年出现的,能够对网络健康状况进行精准测量和分析的技术,目前已经被IETF所接纳,正处于被标准化的过程中。INT的整体架构如下图所示:

INT的整体架构图5:INT的整体架构

与传统的用于观察网络健康状况的工具及能力(例如SNMP)相比,INT从根本上改变了观察网络健康状况的方法。

INT系统一般由运Controller软件系统和支持INT能力的网络设备构成,Controller软件系统一般包含两个模块:策略编排模块、分析呈现。而网络设备要能够接收Controller下发的策略,并且采集策略所要求的数据,最终输出到Controller进行分析与呈现。

一般来说,INT系统的工作流程大致如下:

  1. Controller的策略编排模块根据管理员的需求生成对某种业务的测量策略,并通过管理通道将生成的策略下发到业务转发路径上支持INT能力的网络设备上;
  2. 网络设备的控制平面接收来自Controller的策略,将策略编译后下发到转发芯片中;
  3. 工作在转发平面的转发芯片根据来自于控制平面的指令在其所转发的业务流中采集相关的数据(出入接口、收发时间、队列长度、缓存状况等),并将这些数据按照指令的要求编码在业务流中向前传送;
  4. 在业务流离开网络进入业务系统之前,网络设备将所有的采集数据从业务流中剥离出来发往Controller的分析呈现模块,并将复原的业务流继续发送到业务系统;
  5. Controller的分析呈现模块对所接收到的采集数据进行分析、呈现,描绘业务路径上的网络设备在转发业务流那一时刻的健康状况。

从工作流程可以看出INT具备如下主要特点:

  • 动态。按照业务与管理的需求对INT系统进行动态调整,能够随时对需要重点关注的业务进行观察。
  • 推送。INT系统会在转发业务流量的同时,主动向管理与分析系统推送采集的测量数据,而不是响应管理侧周期性的查询。
  • 数据平面采集。INT系统直接从网络设备的转发平面获取采集数据,这样就规避了传统模型中采集数据由控制平面生成、无法反应转发平面的真实状况或数据。
  • 高精度。传统模型中网络健康数据只能够反应网络在查询时刻的状况,精度较低,而INT采集的各种健康数据描述的则是交换机在真正转发指定业务流量的那一时刻的状态,精准度非常高。
  • 多租户网络。在承载着多租户、多业务的云上,INT系统能够仅仅对某一个租户的某一种业务进行转发过程的数据采集,帮助管理员针对租户/业务进行网络健康状况的精细分析。

    星融元Asterfusion基于可编程交换芯片与全开放架构开发的CX系列和NX系列云交换机全面支持INT能力。

    面向云网络健康状况的精准运营

    图6:面向云网络健康状况的精准运营

    如图6所示:

    在星融元Asterfusion业务可视云网络上,运营分析系统能够为不同租户的不同业务定义分析策略,然后动态下发到由星融Asterfusion云交换机(CX系列 & NX系列)构建的云网络上去;针对不同的业务流,云交换机在转发时刻将采集交换机的各种健康状况数据,然后将这些数据发送到运营分析系统,由运营分析系统从租户/业务维度完成对云网络健康状况的精准分析。

    对于发现问题的业务流量,运营分析系统能够通过星融Asterfusion云网络的sFlow能力采样该业务流的部分报文,或通过ONT方案获取该业务流的全部报文,进一步的深入分析、定位问题。

    不影响生产网络的高性能运营

    星融元Asterfusion业务可视云网络的ONT方案能够帮助运营分析系统全量获取云中的业务流量,从而获得更智能、更全面的业务分析数据。

    ONT方案全量获取业务流量却不会给生产网络带来任何性能的影响,并且在生产网络与运营分析系统之间建立起一条不受距离和规模限制的传送通道。

    一般来说,运营分析系统从生产网络获取业务流量的主要方法是端口镜像。

    如下图所示,当需要对流动在生产网络中的某一业务流量进行跟踪分析时,管理员通常会在该业务流量所流经的某一台生产网络交换机上,利用该交换机的端口镜像能力,将正常转发的业务流量复制一份、经过镜像端口发送给后端的运营分析系统。

    通过交换机端口镜像采集数据

    图7:通过交换机端口镜像采集数据

    对于小规模、业务流量较小、业务变化不频繁的场景,端口镜像的部署方案完全没有问题。

    但是,在云计算的环境,端口镜像方案有着显而易见的缺点:

    • 对生产网络的性能带来巨大影响。通常,交换机开启端口镜像后,会对其自身的转发性能产生很大的影响;在云中因为业务路径的不确定性,需要在业务可能路径的所有交换机上开启端口镜像,才能完成针对业务路径的全量分析;所以,在大规模的云中使用端口镜像,将会对生产网络的性能带来巨大的冲击。
    • 交换机可支持镜像的端口十分有限。一般的,交换机支持镜像端口的总数量是有限的(个位数),对于大规模部署的云来说,仅交换机支持的镜像端口的数量就已经无法满足全量采集的需求了。
    • 浪费生产网络的端口资源。对于云计算来说,云网络最宝贵的资源之一就是其端口资源,在同样的空间内,每多一个网络端口投入到生产系统,就意味着ROI(投资回报)的提升和TCO的降低,所以,将大量的生产网络端口资源当作镜像端口使用实在不是一个明智之举。
    • 耗时耗力,为生产网络的安全运维引入风险。因为镜像对性能的影响,不可能随时对任何业务流量都开启镜像功能,但在云中,网络承载着数以十万计的租户和业务的流量,不同的租户和业务随时也都有可能产生运营分析的需求,这就意味着管理员要频繁地变更生产网络的配置,费时费力,而且为生产网络的安全运维引入了巨大的不可控风险。
    • 要求后端运营分析系统服务器的数量线性增长。在镜像部署场景中,每开启一个镜像端口,就意味着后端的运营分析系统要保留一个专门的端口来接收发送过来的业务流量,无论这个端口中实际传送的流量是端口带宽的10%还是100%;从今天服务器的一般配置与处理能力来看,这种端口密度匹配要求,意味着后端运营分析系统的服务器数量的线性增长。

    为了解决上述问题,星融元Asterfusion的ONT方案采用基于分光器的旁路部署、带外采集方案,在满足全量、全网采集的同时,对生产网络的性能、运维不带来任何影响。

    不影响生产网络的高性能运营

    图8:不影响生产网络的高性能运营

    如图8所示:

    在星融元Asterfusion ONT方案中,与生产网络并行地建设一张ONT网络,然后通过分光器将需要采集分析的生产网络的线路旁路接进ONT网络,所有通过这条线路传输的业务流量在正常传送的同时,都会被分光器全量地复制一份。通过分光线路发送给ONT网络,经过智能处理后进入运营分析系统。

    相对于镜像方案的缺点,ONT方案的优点也是显而易见的:

    • 因为分光的过程仅仅是对物理层光信号的复制与放大,因此对生产网络的性能没有任何影响。
    • 数据采集的规模不受生产网络设备端口数量的限制,只需在需要分析的线路上部署分光器即可;
    • 生产网络的端口可以全部用于生产,确保采集全量分析数据的同时,生产网络的ROI不会降低;
    • 所有的变更、操作全部在独立的ONT网络上发生,不会对生产网络的运维带来任何风险;
    • ONT网络的智能处理能力能够将从生产网络采集到的业务流量进行智能处理、高效收敛,大幅降低运营分析系统所需服务器的数量。

    更为值得一提的是,构建ONT网络的星融元Asterfusion PX系列网络可视交换机采用可编程硬件平台,在单位空间内提供超高端口密度和超高处理性能的同时,还提供包括流量汇聚、负载均衡、流量裁剪、租户关联等各种智能处理能力,并且能够根据网络规模按需任意扩展,在生产网络和运营分析系统之间建立一个全线速的智能通道。

    能够负担得起的低TCO运营

    构建一个业务可视化分析系统对于运营好一张云来说的确是不可或缺的,一般来说,可视化分析系统的架构大致如下:

    业务可视化分析系统的一般架构

    图9:业务可视化分析系统的一般架构

    从逻辑上来说,业务可视化分析系统分为两层:

    • 网络流量存储层
    • 业务分析呈现层

    ❗网络流量存储层与业务系统的生产网络直接连接,接收从生产网络镜像或者分光过来的业务流量,完成针对网络流量的初级处理之后,将报文及处理产生的元数据存储在本地,供业务分析呈现层使用。

    该层需要执行的动作主要包括:

    1. 一对一全量接受网络流量
    2. 流量过滤,匹配识别流量特征
    3. 网络流量的编辑
    4. 全量储存过滤后的网络流量
    5. 解除封装、终结隧道、识别协议
    6. 元数据的提取与分析
    7. 元数据的存储

    有一点需要强调的是,因为架构的关系,同属于一个业务的流量信息有可能存储在网络流量存储层的任何一台服务器上。所以,给业务分析呈现层带来了分析与处理层面的复杂度。

    ❗业务分析呈现层直接向运营者展示业务分析的结果,它首先从网络流量存储层获取各种流量报文及其对应的元数据,按照业务逻辑对这些流量报文和元数据完成重构与各种分析后,按照预定的规则及分析逻辑将结果呈现在直接面对运营者的控制面板上。该层需要执行的动作主要包括:

    1. 获取全量元数据
    2. 完成虚拟网络与物理网络的关联
    3. 完成元数据的去重
    4. 完成业务逻辑的一致性重构
    5. 分析与呈现

    显而易见的,上述架构最大的问题在于:

    • 大量的服务器在重复地做着同样的事情;
    • 服务器大量地存储了对于业务分析来说无用的数据;
    • 大量的服务器在做不擅长的事情;
    • 架构没能解决业务逻辑一致性的问题,浪费CPU的计算力来解决;

    这些问题导致为云中业务构建一个可视化分析系统的TCO会非常高,除了镜像/分光的成本以外,还意味着大量的服务器和存储系统。

    星融元Asterfusion VaaS的ONT方案成功的解决了上述问题,让针对云业务进行整体运营分析成为可以负担得起的方案。

    显而易见的,上述架构最大的问题在于:

    大量的服务器在重复地做着同样的事情;

    服务器大量地存储了对于业务分析来说无用的数据;

    大量的服务器在做不擅长的事情;

    架构没能解决业务逻辑一致性的问题,浪费CPU的计算力来解决;

    这些问题导致为云中业务构建一个可视化分析系统的TCO会非常高,除了镜像/分光的成本以外,还意味着大量的服务器和存储系统。

    星融元Asterfusion VaaS的ONT方案成功的解决了上述问题,让针对云业务进行整体运营分析成为可以负担得起的方案。

    被ONT优化的业务可视化分析系统架构

    图10:被ONT优化的业务可视化分析系统架构

    星融元Asterfusion VaaS方案在业务系统的生产网络和可视化分析系统之间构建了一个独立的ONT网络,然后将网络流量存储层和业务分析呈现层原先需要服务器做的工作全部卸载到ONT网络上,由ONT网络一次性地、高效地、专业地完成,不再浪费服务器的计算力做这些不擅长的事情,而是专注在对业务的可视化分析与呈现上。

    并且,星融元Asterfusion的ONT网络还具备如下特点,可以进一步优化业务可视分析系统:

    • 网络流量裁剪。可选的报文截短功能将从生产网络接收到的全尺寸报文截短再到指定的长度,去除对于分析系统无意义的负载部分而只保留报文头部,在确保业务分析逻辑正确的前提下,有效降低后端存储服务器接收、处理负担,同时大幅降低报文存储的压力,提升单台服务器的使用效率;需要强调的是,星融元Asterfusion VNT也能够支持网络流量裁剪功能。
    • 重复流量剔除。星融元Asterfusion ONT网络能够将从生产网络的不同分段,接收到的重复的网络流量剔除后,只保留一个拷贝、发送给后端的报文存储服务器,大幅节省后端报文存储服务器的处理时间,降低其存储压力,并且为分析与呈现服务器降低处理重复数据的负担,进一步提升其处理效率。
    • 业务逻辑重构。ONT网络在转发从生产网络分光过来的流量时,除了完成原先在两层服务器上做的工作,同时,还从业务逻辑的层面还原、重构了同属于一个业务的流量(即同源同宿),确保同属于一个业务的所有数据全部输出到同一台网络流量存储层的服务器上,分析呈现层的服务器只需要从这一台服务器上就可以获得指定业务的所有信息,节省了从所有存储服务器读取数据的开销和自行完成业务逻辑重构的开销;
    • 业务弹性分布。对于流量较大、单台服务器无法完成分析的业务,星融元Asterfuison ONT网络支持将业务按照逻辑分布到由多台服务器组成的存储、分析集群上去,由集群中的多台服务器并行地完成对业务的存储、分析和呈现,而这种情形,在ONT网络缺失的情况下,是根本不可能完成的。
    • 不妥协性能的灵活性。构建星融Asterfuison ONT网络的Asterfusion PX系列产品是基于业界最领先的可编程交换芯片及技术开发的,能够按照业务需求将各种功能(协议识别、隧道终结、流量裁剪、业务重构、报文编辑、元数据提取等)在芯片内部的处理逻辑中通过软件编程的方式实现,在以超强的灵活性确保快速响应业务需求的同时,又不降低系统的性能。

    通过以上架构与能力,星融Asterfusion为云计算交付的是真正能够负担得起的低TCO运营的方案:

    • 15:1的流量收敛;
    • 单位空间最高6.4T的处理性能;
    • 8倍的端口使用效率提升;
    • 3倍的服务器效率提升;

    更值得一提的是,构建星融元Asterfusion ONT网络的PX系列网络可视交换机与构建云物理网络的CX系列NX系列云交换机基于相同的硬件平台开发,对于运营来说,相同的硬件平台则意味着统一库存、备件管理和灵活的部署选择,将进一步降低运营的综合成本。

    -未完待续-

    相关文章

    云网络的回归之路-业务可视篇(1)


    关注星融元


    云与云上业务的不确定性和无关性

    云计算在过去的十年当中大行其道,IT架构及其所承载业务系统的交付模式几乎发生了天翻地覆的变化:

    • 传统基础设施的竖井式部署架构被彻底抛弃,被资源池、虚拟化、按需部署、动态调度取而代之;
    • 传统基础设施的封闭体系被完全打破,取而代之的是开放、开源、解耦、软件定义。

    相应的,上层业务系统的开发、部署、交付、运营模式也与传统时代大相径庭:

    1. DevOps(Development and Operations,开发运维)让业务系统对底层支撑系统的操控达到前所未有的程度;
    2. CI/CD(Continuous Integration/Continuous Deployment,持续集成/持续部署)将业务系统的迭代速度大幅提升、发布周期大幅缩短;
    3. SaaS(Software-as-a-Service,软件即服务)取代传统的固化、私有安装的发布模式 成为业务系统的主要交付模式……

    自然而然地,云计算(或者运行在云计算平台之上的业务系统)的运营也必将与传统时代的IT运营不可同日而语,云计算自身的特征为运营带来了一系列的新挑战、新需求。

    云与云上业务的不确定性和无关性

    图1:云与云上业务的不确定性和无关性

    如图1所示,从云计算的整体模型与运营关系上看,新挑战主要体现在两个方面:

    业务对云的需求的不确定性

    云平台的本质是将各种基础设施资源进行池化、虚拟化,然后按照租户的申请和业务的需求进行自动调度,即相对于所承载的租户与业务来说,云平台是一组“无差别”构建的基础设施资源的集合。而云平台之上承载的不同租户、以及同一租户的不同业务是千差万别的,租户规模有大有小、业务范畴有复杂有简单、运行时段有高峰有低谷,是一个在时间和空间上不停动态变化的过程。所以说,云平台首先面对的挑战是上层业务需求的不确定性。

    云与业务的所有权的无关性

    云平台的所有权属于云的运营者,而上层业务系统的所有权则属于租户;相应地,对上层业务系统运营的权利和义务也属于租户,对云平台自身运营的权利和义务则属于云的运营者。这就是云与业务的所有权的无关性。但是,云自身的特性(基础支撑平台,支撑其上的所有业务顺利运行)决定了云的运营者在实质上要对上层业务能否正常、高效运行来承担责任。

    例如,云的运营者要给自己(和租户)提供一种工具,当租户的某种业务发生中断或者性能降级时,能够很快速、精准地定位到发生故障的位置(甚至原因)。

    无论是出于对租户业务运行环境保障的目的,还是出于证明云平台对SLA(Service Level Agreement,服务等级协议)的合规遵从的目的,云的运营者都需要拥有相应的工具与方法,在这样一种以无关性为前提的关系下,为双方的运营提供更好的支撑。

    也正是因为这样的不确定性和无关性的存在,使得云的运营者需要找到一个契合点,通过这个契合点能够同时对云和云上的业务进行全面的运营,同时又可以规避不确定性带来的影响、确保无关性的关系不被打破。

    于是,作为三大支撑基础设施之一的云网络,作为连接云中所有资源的最重要载体,自然成为了这个契合点。

    那么,随之而来的,相较于传统网络的运营,对于云网络的运营,云计算又提出了哪些新的需求呢?

    云计算对云网络提出新的需求

    1、运营需要同时面对物理网络和虚拟网络

    因为网络在云计算的世界中与计算、存储资源被一起云化(虚拟化、资源池化),所以云网络运营与传统网络运营的最大区别在于对象不再是单一的、静态的一张物理网络,而是同时包含了运行在这张物理网络上的、动态变化的所有虚拟网络;

    这就意味着,云网络的运营工具除了要面对高速交换的物理网络,而且还包括动态变化(创建、删除、迁移、变更等)的虚拟网络。并且,因为所有的虚拟网络其实都运行在同一张物理网络上,所以云网络的运营要有将物理网络与虚拟网络关联在一起进行运营分析的能力,以便在网络发生故障时快速定位到发生故障的点是在物理网络上还是虚拟网络上。

    2、云业务流量在云网络上的传送路径无法预知

    前述的不确定性与无关性在云网络方面的具体表现之一就是:直接承载云业务的虚拟网络在运行时刻具体通过物理网络的哪一条路径完成交换是不可定义和不可预知的。

    物理网络一般会在众多计算节点之间提供多通道能力以确保高性能与高可靠性,虚拟网络的流量在交换时刻会被物理网络根据自身在那一时刻的各种状态参数动态地分布到最合理的路径上去,而承载着众多租户、众多业务和众多虚拟网络的物理网络的瞬时动态参数基本是不可预测的。再考虑到云中虚拟计算节点频繁的动态变化(按需创建或删除、动态迁移或调整等),我们基本可以认为,云业务的流量在云网络上的分布是“随机的”,

    这样的“随机”设计给云网络运营带来最直接的挑战就是:云业务的流量有可能出现在网络中的任何一点,无法通过预先设置假设到某一点或某一条路径上去观察。

    3、无法获知网络的精准健康数据

    物理网络承载了云中所有的虚拟网络和租户业务,因此其健康状况直接影响到云及云中业务的运行状况。

    传统的观察网络健康状况的工具,包括WebUI、SNMP、syslog等,都是属于静态的、Pull模式的工具,往往需要管理员预先定义好各种参数,然后以周期性查询的方式获取数据,这些静态的数据精度很低,只能反映查询瞬间的网络健康状况,而非网络在真正转发业务那一时刻的,而且,这些数据往往来自于网络设备的控制平面,并不能代表网络数据平面(或转发平面)最真实的健康状况。

    尤为重要的是,传统的采集工具无法应对今天云中“虚拟网络运行在物理网络之上”的模型。因此,如果说传统网络的运营工具是X射线的话,今天的云网络则急需类似于CT这样具备更精准能力的工具完成深层次的网络运营。

    4、运营不能对生产网造成性能影响

    为了更好地对云中的生产网络(虚拟网络+物理网络)进行运营,必须从生产网络获取一定的数据供运营分析系统使用;但是,不可避免从生产网络获得运营支撑数据一定会对生产网络自身的性能带来影响。当然,运营分析系统希望获得“尽可能多的运营数据”以便能够提供更智能、更全面的分析信息,但是“尽可能多的运营数据”对生产网络而言则意味着更大的性能冲击,尤其在云计算的环境中,业务大规模集中部署,并且承载在统一的底层平台之上,对任何一个租户或业务运营数据需求的激增,都有可能影响到其他租户或业务。

    很多情况下,运营分析系统的多个子系统(例如安全审计系统和性能分析系统)还需要各自得到一份数据的完整拷贝,会让这种数据获取对生产网络的冲击成倍放大。于是,数据获取不能影响生产网络(或者尽可能降低对生产网络的影响)成为了云网络运营的前提。

    5、精细运营不能过度增加成本

    一般来说,运营分析系统与生产网络在物理上是隔离开的,并且有一定距离,在跨数据中心、广域的场景中,这个距离很有可能是跨越城市的。因此,如何让“尽可能多的运营数据”从生产网络简捷、快速地到达后端的运营分析系统也是一个需要重点考虑的问题。

    当这些“尽可能多的运营数据”抵达后,对后端运营分析系统随之而来的需求就是更大的数据存储容量与更高的数据处理性能。

    例如,在一些针对网络交易质量的分析场景中,运营分析系统需要追踪、接收、存储、分析、复原每一笔交易的所有过程,精确记录过程中每一次交互的时间、状态、结果等信息,从而为决策者提供判断与决策依据;不难想象,一个这样的运营分析系统对数据存储和处理的性能要求之高。

    所以,“尽可能多的运营数据”无论对于传送来说,还是对于后端的运营分析系统来说,都意味着“更高的成本”,而当这个成本高到一定程度后,也就意味着运营分析系统不再具备存在的可行性。

    于是,如何有效降低整个运营分析系统的TCO(Total Cost of Ownership,总拥有成本),也成为云网络运营的刚需。

    6、运营系统要将自身融合到云中

    云计算的世界是软件定义的世界,从上层业务的部署到底层基础设施的调度,从虚拟计算、存储节点的创建、迁移到虚拟网络的连通、策略跟随,都是通过Cloud OS对各种业务、平台、基础设施提供的REST(REpresentation State Transfer,表述状态转移)风格API(Application Programming Interface,应用软件编程接口)的软件编程调用来完成的。

    相应的,部署在云中的运营方案也需要支持同样的软件定义、统一编排能力,要能够被Cloud OS自动调度,即在需要的时候,运营人员只需要点击两下鼠标,即可完成规则定义、数据采集、数据传送、数据分析的全部过程,甚至运营系统要能够根据运营人员预先设置好的策略与触发阈值,在需要的时候自动化地完成上述过程,而不需要人工干预。

    7、保护用户隐私不受侵犯

    在公有云中,前述的“云与业务所有权的无关性”给云及云网络的运营带来了无法回避的合规需求。

    公有云上运行着各种各样的业务,这些业务以及所产生的数据的所有权属于租户,而非公有云的运营者,而公有云的运营者在对云及云网络的运营过程中,不可避免地要获取各种业务的网络流量,此时,如何确保租户/用户的业务隐私和数据不被碰触就成了最关键的问题。

    欧盟于2018年5月正式颁布执行的GDPR(General Data Protection Regulations,通用数据保护条例)就是应对这种风险的法律准备,那么,对于云的运营者来说,如何通过技术手段避免任何形式的接触用户数据,从而规避自身的法律风险,成为当务之急。

    8、将运维能力作为一种服务提供给租户/用户

    当租户将业务部署在云上,自然地,也就产生了对业务以及所拥有的虚拟网络的运维需求。

    但是因为租户并不拥有云平台,而只拥有云上的虚拟化资源,因此,云的运营者需要将云上的运维工具作为一种增值服务提供给租户。

    对于购买了这种增值服务的租户,完全可以自助部署针对特定业务系统的运维环境,实时监控业务系统的运行状况,及时发现可能的性能瓶颈与潜在的故障风险,以确保业务的连续性与高可靠性。

    而对于公有云的运营者来说,这样的自助运维系统则意味着更高的用户粘性、更低的用户故障率和更多的潜在收入。

    那么问题来了,云网络的运维所面临的重重困难,是如何解决的?

    关注我们,下期更精彩!

    -未完待续-

    相关文章

    云网络的回归之路-高性能篇(下)


    关注星融元


    上一篇中星融元Asterfusion提出了全面创新的高性能网络方案,并已经从四个方面做了详细的分析,那么,今天大家继续跟着小编来细品这个方案~

    自动感知虚拟计算世界的变化

    虚拟计算节点的动态变化(创建、删除、迁移、停机、启动等)是云计算的最本质特征之一,也对云网络提出了一个最基础的需求:

    云网络需要自动感知虚拟计算世界的变化,随之调整自身的逻辑拓扑、连接关系、策略设置等,成为一张随需而动的虚拟网络。

    以802.1Qbg为代表的边缘虚拟化网络技术试图为云计算提供一个计算资源和网络资源交互感知的架构,相应地,对虚拟网络边缘的控制与调度也成为支撑这种交互感知的关键点。

    星融元Asterfusion云网络以802.1Qbg为基础构建虚拟网络边缘交换的整体框架。

    星融元自动感知虚拟计算世界的变化

    图10:自动感知虚拟计算世界的变化

    在星融元Asterfusion云网络中:

    • 网络与计算一样,都以资源池的形式被Cloud OS自动化地统一管理和调度,任何对于网络的操作,都以软件调用REST API的形式完成,不需要管理员再手工地进行任何配置;
    • 以802.1Qbg为基础完成虚拟计算世界到虚拟网络之间的映射,属于同一虚拟网络的虚拟计算节点,无论其真实物理位置在云中的何处,都被以全局规划、统一分配的方式与其所属的虚拟网络完成关联映射;
    • 通过与Asteria Fabric Controller(AFC)和Cloud OS的联动,对于虚拟计算世界发生的任何动态变化,星融Asterfusion云网络都可以同样动态地自动发生变化。图10中,当属于蓝色虚拟网络的某虚拟计算节点VM-A从物理服务器Server1迁移到Server2,“变成”VM-A‘时,星融元Asterfusion云网络通过与Cloud OS之间的控制通道能够即时获取相关信息(物理服务器、所连接的物理交换机和端口、虚拟网络映射信息等),从而自动完成虚拟网络的调整与部署。
    • 也可以通过AFC完成,进一步提升整体效率,降低Cloud OS的压力和复杂度。

    基于硬件加速的VXLAN虚拟网络

    架构在传统网络之上的云面临着如下限制:

    • VLAN(Virtual LAN)支持虚拟网络数量太少(少于4K)
    • 虚拟网络二层广播域范围受限(无法跨越三层域)
    • 影响虚拟计算节点的可迁移性(跨三层域迁移需要变更IP地址)

    VXLAN(Virtual eXtensible LAN)的出现帮助云网络成功克服了上述问题,因此成为云中虚拟网络的不二之选。

    但是因为传统网络自身的封闭性,使其无法被Cloud OS通过REST API自动化地统一管理和调度。

    因此云计算的建设者们不得不抛弃了在传统网络上部署VXLAN的思路,转而在服务器内部通过使用CPU的计算力构建“软件模拟虚拟网络”,来规避传统网络无法被软件定义这一障碍。

    所以,更贴切地说,今天的云中广泛部署的SDN,Software Defining Network,其实应该是Software Simulated Network,即软件模拟虚拟网络。

    星融元云网络:基于硬件加速的VXLAN虚拟网络

    图11:基于硬件加速的VXLAN虚拟网络

    如图11,左半部分所示,软件模拟网络的缺点也如其优点一样,是显而易见的:

    • 服务器CPU的大量计算力被用于模拟网络,而不是用在虚拟计算上带来更高的回报;
    • 同时,花费不菲成本建设的底层网络使用效率极低,相对于能力来说,基本处于限制状态。

    可以说,在今天基于软件模拟网络的云中,云计算的建设者面临着“里外里双重浪费”的局面。

    在星融元Asterfusion云网络中,这样的局面不会存在。如图11,右半部分所示:

    • VXLAN被从服务器的计算空间中卸载到底层网络的硬件交换机上,所有VXLAN相关的操作(隧道建立、维护,报文封装、去封装,虚拟网络多实例与隔离)全部由高性能的硬件完成;
    • 曾经大量耗费在软件模拟虚拟网络上的服务器CPU计算力最大程度释放出来被用于完成更多的虚拟计算任务,从而提升整体的ROI;
    • 在Cloud OS看来,对星融Asterfusion云网络的操作运维体验,与操作运维计算空间中的软件模拟网络并无二致,同样是点击两下鼠标、或者调用几个REST API,即可完成对星融元Asterfusion云网络的管理;
    • 基于PICFA™的支持,星融元Asterfusion云网络一举将云中虚拟计算节点的容量提升到千万量级,同时赋予云网络更高的性能和更优的质量。

    因此,星融Asterfusion云网络让云计算中的网络真正回归到网络自身,“计算的归计算,网络的归网络”。

    基于BGP EVPN的虚拟网络控制平面

    VXLAN很好地解决了前述的问题,但是,因为在最初并没有考虑为其设计独立的信令与控制平面,因此在VXLAN中所有隧道信息、路由信息都是通过人工静态配置和通过数据平面广播学习的方式来完成的。

    也正是如此,在VXLAN环境中,部署、配置、变更等全部依赖于人力,效率低下、出错风险高,而且基于广播的学习导致VXLAN中泛洪流量频发,继而致使整网效率低下。

    为了解决这个问题,基于原有的MPLS/BGP VPN理念与模型,IETF设计并开发BGP Ethernet VPN(简称BGP EVPN)标准,作为包括VXLAN在内的三种虚拟网络的独立控制平面,BGP EVPN成功地为VXLAN构筑了独立于数据平面的控制平面。

    基于BGP的多协议承载能力自动在VXLAN站点之间传播多租户的隧道信息、路由信息、链路状态信息,彻底摒弃了人工静态配置和广播学习的缺点,使VXLAN网络的运维复杂度大幅降低、效率大幅提升。

    BGP EVPN让在大规模生产环境中部署VXLAN成为可能。

    星融元云网络:基于BGP EVPN的虚拟网络控制平面

    图12:基于BGP EVPN的虚拟网络控制平面

    星融元Asterfusion云网络也将BGP EVPN作为虚拟网络独立的控制平面,并且将其与创新的PICFA™融合在一起,形成超大容量、快速收敛、自动管理的虚拟网络解决方案。

    在星融Asterfusion云网络中:

    • 不但所有虚拟网络的二层转发表以分布式的方式承载在所有网络交换机上,三层主机路由表也被分布到所有网络交换机上,从而使得云中虚拟网络的容量增长100倍至千万量级;
    • 交换机的多实例能力将不同租户的不同虚拟网络加载在不同的路由空间中,彼此安全隔离、互不影响;
    • 具备多协议能力的BGP承载多租户的路由信息在VXLAN站点之间自动交互,不再依赖人工配置确保转发路径与逻辑的正确性,将手工配置出错的风险降至最低;
    • 虚拟网络上出现广播流量的可能性被降至最低,有效地提升了虚拟网络为云中业务提供服务的性能与效率;
    • 独立的控制平面,标准化的协议交互,让多家厂商的互通对于用户来说不再是不可能的任务。

    融合到转发平面的高性能NFV

    NFV(Network Function Virtualization,网络功能虚拟化)是指将一些常用的网络功能以虚拟化的形式部署在云中为运行在云中的业务提供服务,常见的这些网络功能包括四层SLB(Server Load Balancing,服务器负载均衡)、NAT(Network Address Translation,网络地址转换)、DDoS(Distributed Denial of Service,分布式拒绝服务)攻击流量识别与统计。

    在当前架构的云中,这些网络功能的虚拟化实现与软件模拟虚拟网络的思路类似,即:如果某个租户的某一种业务需要,就在服务器的CPU上用软件模拟出所需的网络功能来。

    以SLB为例,假设有1,000个租户,每个租户有10个业务需要使用SLB,那么就在服务器上创建出10,000个虚拟机,再在这些虚拟机上加载SLB软件为每个租户的每个业务服务;保守估计,这样地场景需要2-3机柜的服务器来专门运行这10,000个SLB的虚拟机。

    融合到转发平面的高性能NFV

    图13:融合到转发平面的高性能NFV

    但在可编程交换芯片的支持下,星融Asterfusion创造性地将这些常用的NFV功能在云交换机的转发平面中编程实现,从而提升了云网络的整体性能和使用效率,帮助用户解决了在计算空间中,部署大量虚拟计算节点使用软件模拟NFV,所带来的计算空间性能降级、运维复杂度升高、NFV效率低下等问题。

    如上所述的需求,即便再增加一个数量级,仅仅一台星融Asterfusion云交换机就能够轻松地支撑。更为重要的是,这样的NFV功能是在不影响交换机正常转发性能的前提下提供的。

    为云中业务提供端到端的QoS

    QoS(Quality of Service,服务质量)能力是衡量网络为业务提供服务的质量的最直接标准,一般来说,QoS能力由网络设备的多等级业务标记、多优先级队列发送、拥塞发现与控制、拥塞避免、传送带宽控制等功能构成。

    遗憾的是,在今天的云网络中,QoS几乎无从谈起…
    运行在计算空间中的软件模拟虚拟网络将底层的物理网络当作一根物理线路,虚拟网络自身缺乏基本的QoS能力,被当作物理线路的底层网络的QoS算法又只能根据所传送流量的外层报文头特征做出QoS判断,而真正能够描述不同租户、同一租户不同业务的优先级特征信息全部被封装在VXLAN隧道中,底层网络设备根本无法识别,QoS算法也不具备处理隧道内层信息的能力。

    有了可编程交换芯片的支持,星融Asterfusion云网络成功地解决了这一问题。

    面向租户业务的综合QoS策略

    图14:面向租户业务的综合QoS策略

    在星融元Asterfusion的云交换机中:

    • 对网络流量进行QoS处理时,能够提取、查找、比对、标记的不仅包含外层报文头的各种特征信息,而且包含封装在VXLAN隧道内的租户信息、租户虚拟网络信息、业务信息;
    • QoS算法的输入参数也包含上述两部分信息,从而确保算法所作出的决策是针对不同租户或者同一租户的不同业务,而非简单地针对物理线路。

    更值得一提的是,在提供高性能、大容量等能力的同时,基于PICFA™架构的星融元Asterfusion云网络还具备真正意义上的端到端QoS能力。

    基于创新性的数据平面转发协议,PICFA™架构的星融Asterfusion云网络能够按照用户需求,动态地从底层网络的所有Spine交换机中分配一部分出来,让这部分Spine交换机专门为某一种业务(或某一类应用、某一些虚拟网络、某一群租户)服务,从而确保达到预期的服务质量和商业目标。

    PICFA™为不同租户/关键业务提供端到端的QoS保障

    图15:PICFA™为不同租户/关键业务提供端到端的QoS保障

    如图15所示,在基于PICFA™架构的星融元Asterfusion云网络中,所有Spine交换机能够被动态地划分为三组,其中第三组可以被指定用来承载VIP租户和关键业务,这组Spine交换机将会被PICFA™从物理上与其他Spine交换机隔离开来,运行在HULL架构(High-bandwidth Ultra-Low LatencyArchitecture)所描述的资源使用率较低的状态下,真正做到了物理隔离,让低优先级租户的流量与尽力传送型业务流量对VIP租户和业务的影响降至0,完全达到SLA(Service Level Agreement)所规定的服务质量保证——极低的网络延迟和近似于0的丢包率。

    全面支持DevOps

    DevOps是一种新型的软件产品交付模型,它将与软件产品生命周期过程中的各个相关部门(例如研发、测试、运营等)以一种空前的方法连接了起来,并且对他们的沟通、协作等提出了更敏捷、更快速、更频繁的要求。

    Asterfusion云网络全力助推云计算进入新时代

    星融元Asterfusion云网络是为云计算时代设计的全新一代云网络架构,这个架构完美地解决了当前的云网络方案所面临的诸多挑战。

    • 充分释放服务器CPU计算力,降低TCO
      基于纯粹的SDN理念和领先的虚拟化技术,星融Asterfusion云网络在底层网络的可编程、高性能硬件平台上构建了面向云中租户与业务的虚拟网络,将大量的服务器CPU计算力从“软件模拟虚拟网络”的压力中释放出来,从而使得服务器CPU计算力的使用效率得到近乎翻倍的提升。
    • 大幅提升底层网络的使用效率,提升ROI
      传统的云网络架构将花费不菲成本构建的底层网络定义为“粗但是傻”的线路,底层网络大量的功能与性能处于闲置状态。星融元Asterfusion云网络将底层网络重新定义为“粗并且灵”的智能网络,让云中租户与业务服务的虚拟网络直接承载在上面,提供虚拟化、多租户的同时,支持NFV等增值功能,让云的ROI“里外里”地增长。
    • 超高性能、超大容量的虚拟网络
      星融Asterfusion的专利算法PICFA™将网络对云的支撑能力提升100倍,将单数据中心可制成的虚拟计算节点数量一举提升到千万量级,为大规模公有云向更多的租户提供业务支撑打下坚实的基础。
    • 面向租户与业务的端到端QoS
      星融元Asterfusion云网络是真正具备面向不同租户和不同业务的端到端QoS能力的云网络,作为QoS算法决策依据的参数不仅仅是底层网络的线路特征信息,而且包含了不同租户和不同业务的特征信息;同时,星融元Asterfusion的PICFA™专利算法天然具备将不同优先级的租户、业务、网络分布到不同底层硬件网络并且充分隔离的能力,从而让QoS真正成为端到端的能力。
    • 全面开放的软硬架构彻底融入云
      在星融元Asterfusion云网络中,软件的网络操作系统与硬件的交换机平台被彼此解耦,网络彻底解除了对用户的锁定,开放的架构与软件定义的接口让网络真正成为云中的基础设施之一,所有对网络的操作全部通过软件定义的方式进行,并且将Cloud OS对虚拟网络及各种网络功能的管理复杂度降低两个数量级。

    我们看到,星融元Asterfusion为云计算构建新一代超大容量、超高性能、超高效率的云网络已经做好了充足准备,摩拳擦掌,蓄势待发!

    相关文章

    云网络的回归之路-高性能篇(上)


    关注星融元


    “ 在高性能的Asterfusion云网络中,全面开放的设计理念与整体架构确保它与云计算环境的无缝融合。”

    云计算给传统网络带来的挑战

    云计算从2000年中首次出现,至今如火如荼大行其道,它成为当今世界发展最快、影响面最大的IT基础设施支撑技术之一,而数据中心(也就是云计算的载体),这些年来也一直保持着强劲增长和快速演变的趋势。

    云计算数据中心的新兴发展趋势

    图1:云计算数据中心的新兴发展趋势

    这些新兴的发展趋势包括:

    • 云中虚拟计算节点的飞速增长

    虚拟计算节点指在物理服务器上通过使用虚拟化技术提供的具备独立计算能力的虚拟机(VM,Virtual Machine)、容器(Container)和虚拟桌面(VD,Virtual Desktop)。

    在2000年,即云计算的早期阶段,每台物理服务器能够支持的虚拟计算节点的数量仅仅限于十几个;当云计算发展到了今天,随着物理服务器性能的不断提升与虚拟化技术的越来越轻量化,单台物理服务器能够支持1000个容器已经成为现实。

    • 云中租户数量越来越多

    随着云计算技术的逐渐普及,越来越多的传统IT用户深切体会到其弹性扩展、按需使用、快速部署等便捷之处;云平台在稳定性越来越高的同时性能也不断提升,针对大规模云的运维能力的也在持续增强,这些都使得公有云能够为越来越多的租户提供虚拟私有云服务。

    在今天世界知名的公有云上,同时运行着100,000+租户的10,000,000+虚拟计算节点的案例并不少见。

    • 云中部署的关键业务越来越多

    在云计算的早期阶段,只有那些对性能和可靠性要求并不严苛的应用(如Email、文件传输、网站等)被迁移到云端;

    得益于云计算自身的飞速发展,如今,越来越多的关键业务已经被迁移到云端(如高频交易系统、大数据分析系统、人工智能训练系统、区块链平台等)。

    如何基于无差别构建的云平台为关键业务和普通业务提供差异化的服务将成为未来云运营的主要关注点之一。

    • 云中基础设施的融合

    CloudOS负责在云中统一、垂直管理所有的基础设施资源(计算、网络和存储),而自动化部署业务、资源动态调配等需求的提出与实现,都要求云中的基础设施资源不再以彼此分离的方式存在,而是在管理层面被整合为“融合基础设施”。这就要求部署在云中的设备要通过DevOps、RESTful API等方式主动将自身纳入到CloudOS的统一管理中。

    遗憾的是,在云计算如火如荼发展的今天,作为云计算三大支撑基础设施之一的网络却未能跟上云计算整体的发展步伐,从而使传统网络需要面对来自云计算的各种挑战…

    • 大规模、多租户虚拟网络的共存与隔离
      在同一张云上,往往同时承载了大量的租户,每个租户都需要有属于自己的多个网络来支撑部署云中的业务,因此,传统网络要有能力将自身虚拟化成多个属于不同租户、彼此之间又完全隔离的网络。这样的网络虚拟化对于租户的业务来说是完全透明的,业务并不需感知自身是运行在虚拟网络之上的。
    • 虚拟计算节点的爆炸性增长
      传统的网络面对的是由数量较少的物理服务器和物理存储设备构成的计算世界和存储世界,因此也按照这样的模型架构自身的系统,但是在云中,这一模型被彻底颠覆,网络面临的外部世界从单台服务器、单个存储节点爆炸性地增长为成千上万的虚拟计算节点和软件定义存储节点,数量增长了2-3个量级。
    • 虚拟计算节点的频繁动态迁移
      云计算为业务系统提供了对计算资源的按需申请、动态调配,这就意味着虚拟计算节点在云中的物理位置需要随时进行动态迁移,而这一迁移在逻辑上又必须保持静态不变(即无论如何迁移,该计算节点在逻辑上仍处于同一个虚拟网络),这就要求网络必须感知服务器内部虚拟计算节点的生命周期(创建、迁移、删除等)。
    • 虚拟化云网络的自动化部署与运维
      同一张云承载了大量租户的海量业务,同时运行的这些业务频繁发生的变化也要求底层支撑网络随时应需而变、动态调整,所有的这些变化和调整都要通过云操作系统的统一控制和管理而实现。传统网络提供的以命令行、SNMP网管为核心的部署运维工具根本无法满足云中网络自动、快速调整的需求。
    • 虚拟网络功能网关的分布式部署
      除了基础的交换机以外,网络中存在各种功能网关(NFGW,Network Functionality Gateway)设备,这些NFGW与交换机等一同构成网络为上层业务提供服务。在传统网络中,所有的NFGW一般以独立设备、集中部署的资源池形式存在。同样的模型部署到云中,将会导致大量无谓的东西向流量,致使整体效率大幅降低。

    传统网络游离于云计算整体架构之外

    图2:传统网络游离于云计算整体架构之外

    “那么,在这样的限制之下,今天的云计算是如何使用传统网络?又是如何面向租户构建虚拟网络的呢?”

    运行在计算空间中的“软件模拟虚拟网络”

    为了规避上述问题带来的限制,今天的云计算运营者采用了“在计算空间中用软件模拟虚拟网络”的思路:

    运行在计算空间中的软件模拟虚拟网络

    图3:运行在计算空间中的软件模拟虚拟网络

    在之前的文章,我们提到过,“软件模拟虚拟网络”虽然解决了传统网络无法解决的问题,满足了云计算运营者对网络的需求,但也有着显而易见的缺点,下面来展开说说这些缺点吧:

    • 侵占服务器计算力
      软件模拟虚拟网络的所有虚拟网元完全运行在服务器的CPU上,大量的CPU计算力被用于运行虚拟网络,无法用于创建承载业务的虚拟计算节点,致使服务器CPU计算力使用效率低下。
      相反地,承载云的底层物理网络却处于非常轻载的运行状态,使用效率也非常低。随着摩尔定律逼近天花板效应,这样的效率低下将愈演愈烈。
    • 虚拟网络性能受限
      网络已经进入100G时代,而服务器内部的网卡与CPU之间的通道(一般是PCIe)却仍然停留在G比特时代,成为无法逾越的瓶颈。
      相对于处理计算任务,x86架构的通用CPU处理网络流量有着天然的性能劣势,而热点业务在云中是一种常态,海量报文在瞬间涌向集中的热点,致使这样的性能劣势被进一步放大。
    • 网络使用效率低下
      在IT时代已经发展进化了很长时间的、基于高性能交换硬件、面向网络流量转发处理而设计的网络,在云中只被用于最简单的承载通道,所有网络的高级特性和性能均无法使用。
      一方面是服务器中CPU计算力的捉襟见肘和使用效率低下,另一方面却是底层网络的基本闲置和低效使用。
    • 端到端QoS能力缺失
      底层网络一般具备很强的业务质量保证(QoS,Quality of Service)能力,能够在高性能的硬件平台上为重要业务提供质量保障的传送通道。而软件模拟虚拟网络则不同,其软件模拟的属性往往使其不具备类似的能力;而且,因为软件模拟虚拟网络在底层网络上以隧道形式传送,致使上层业务无法利用底层网络的QoS能力。
    • 维复杂度高
      云计算的管理员在运维软件模拟虚拟网络时,面向的是运行在云中每一台物理服务器上的各种虚拟网络节点,其数量往往比云中的底层网络节点高出两个数量级。面向如此之多的虚拟网络节点的运维复杂度和效率是无法忽视的问题,而这个问题现在仅仅是被DevOps和软件自动调度等工具暂时掩盖了起来而已。

    综上所述,
    传统的底层网络因其自身不开放等原因不被云计算所接受,而在物理服务器的世界中用软件模拟出来的虚拟网络又面临着以上诸多问题。

    未来的云网络将何去何从?

    全面创新的高性能网络方案

    基于对云网络需求的深刻理解和对构建软硬件一体化系统核心技术的全面掌握,星融元Asterfusion为云计算数据中心设计了新一代的云网络解决方案。

    在高性能的星融元Asterfusion云网络中,全面开放的设计理念与整体架构确保其与云计算环境的无缝融合,云中租户的虚拟网络和分布式网络功能网关被从计算空间中卸载出来,直接承载在可编程和高性能的Asterfusion硬件平台之上,独创的专利算法PICFA™通过整合一个交换网络中所有硬件系统的交换能力,来为云中多租户和多业务提供一个容量为千万量级虚拟计算节点的超大规模分布式虚拟交换系统,同时,星融元Asterfusion能够自动感知虚拟计算世界的变化,相应的自动调整虚拟网络以及各种适配策略,并且为不同的租户、不同的业务提供不同的QoS保障。

    那么,星融元Asterfusion高性能都体现在哪些方面?能带给我们怎样的惊喜呢?

    无缝融入到云中的Asterfusion全开放云网络

    基于对客户需求、云、网络产业现状及未来发展趋势的深刻理解,和所掌握的软件、硬件核心技术,星融元Asterfusion为云计算环境提供全开放的云网络解决方案。解决了传统云网络在开放性方面所面临的各种挑战,无缝地将云网络彻底融入到云中,使网络与计算、存储一起成为真正意义上的“云基础设施”。

    星融元帮助云网络真正融入云计算

    图4:Asterfusion帮助云网络真正融入云计算

    高性能、可编程的Asterfusion硬件平台

    基于业界最领先的可编程交换技术与芯片,星融Asterfusion打造了超高性能的可编程硬件平台作为其全线产品的载体;基于这个载体,为云计算交付“不妥协性能的灵活性”的云网络解决方案。

    高性能、可编程的星融元硬件平台

    图5:高性能、可编程的Asterfusion硬件平台

    与传统交换芯片将报文处理和转发逻辑固化在芯片硬件中不同,可编程交换芯片是能够通过软件来按需调整的。
    在以可编程交换芯片为核心的交换系统中,业务与控制软件不再受限于底层芯片的能力,可以根据业务的需求进行开发与定制;通过为不同的需求、不同的场景定制不同的报文处理和转发逻辑,芯片的各条流水线能够协同工作,在不损失系统整体性能前提下,将这些需求在芯片的报文转发层面实现。

    传统交换芯片与可编程交换芯片

    图6:传统交换芯片与可编程交换芯片

    可编程交换芯片不仅是一次交换芯片硬件技术的发展,更是SDN理念在支撑网络的硬件芯片层面的一次伟大实践;
    可编程交换芯片让网络在保持高性能的前提下,前所未有地拥抱了软件定义这一未来发展趋势。

    在星融元Asterfusion云网络中,根据交换机在网络中所处位置与所承担角色的不同,运行在交换机转发芯片内部的软件被有针对性地进行了转发与处理逻辑上的优化,从而使得星融Asterfusion云网络以更好的性能和能力为各种上层业务提供支持。

    根据不同的场景动态优化资源分配与转发逻辑

    图7:根据不同的场景动态优化资源分配与转发逻辑

    如图7所示,同样的Asterfusion CX硬件平台能够被按照其在底层网络中的不同角色进行资源划分与转发逻辑的优化。这些不同的角色包括:

    • Spine交换机(图7中的❶):主要承载云中所有Leaf交换机之间的所有流量,这个角色的主要优化方向在于在尽可能多地将系统资源划分给FIB表的同时,要具备大容量的多租户区隔能力,即要支持创建和维护相当数量的BD(Bridge Domain)和VRF(Virtual Route Forwarding)。
    • 服务器ToR交换机(图7中的❷):主要承载云中虚拟计算节点之间的东西向流量,完成各种内部业务/应用的高速、大容量交换,这个角色的主要优化方向是尽可能多地将系统资源划分给FIB表,以承载尽可能多的二层MAC转发表项和三层主机转发表项。
    • 网关ToR交换机(图7中的❸):主要承载云中提供对外业务的虚拟计算节点与外部世界(互联网或企业内联网)之间的南北向流量,是云中业务对外提供服务的转发通道,这个角色的主要优化方向是尽可能多地将资源划分给三层路由表,同时要支持诸如负载均衡、地址转换一类的各种网络功能。

    运行在高性能硬件平台上的云网络

    在星融元Asterfusion云网络中,曾经运行在物理服务器内部、计算空间中的虚拟网络回归到底层的高性能网络硬件平台之上,帮助服务器将大量的CPU计算力从“软件模拟虚拟网络”的重负中释放出来,更高效地为计算服务。

    运行在高性能硬件平台上的星融元云网络

    图8:运行在高性能硬件平台上的Asterfusion云网络

    在星融元Asterfusion云网络中,云计算面对的是同样开放、将自身彻底融入到“云计算基础设施”中的网络,而非传统网络那样游离于云之外、封闭的体系又与架构、独立不互通、手工配置管理的局面。

    星融元Asterfusion云网络的开放性确保了云管理平台对网络基础设施(虚拟网络和底层网络)的统一、自动管理,为租户对虚拟网络的操作提供了与虚拟计算、虚拟存储同样的体验:点击两下鼠标即可,其余所有的事情,包括跨越不同设备、机架、数据中心、甚至是可用区域的对网络的配置,全部由云管理平台通过软件调用星融元Asterfusion云网络的REST API自动完成。

    虚拟网络直接承载着云中不同租户的不同业务,而不同的业务对虚拟网络的需求又由该业务自身的特性决定。

    那么,如何在一张无差别构建的底层网络上构建出具备不同能力的虚拟网络以适应不同的上层业务需求,就成为了云网络的不得不面对的难题。

    星融元Asterfusion高性能硬件平台的可编程性完美地解决了这一难题。

    在星融元Asterfusion云网络中,所有虚拟网络的处理逻辑完全可以根据业务需求来优化、定制甚至重构,网络功能的灵活性从此不再被蚀刻在ASIC中固化的处理逻辑所禁锢,让云网络世界再度焕发出前进与创新的光芒。

    性能与灵活性从来都是一对同时出现的矛与盾。

    随着ASIC交换芯片的能力越来越强,网络的性能自然而然地被大幅提升,二十年前的网络工程师根本无法想象今天的网络能够在1U的空间内交付3.2Tbps甚至6.4Tbps的交换能力;

    遗憾的是,越来越高的性能背后隐藏的潜台词则是网络承载业务的灵活性在不断丧失。

    可编程交换芯片的出现完美的解决了这一难题。可编程交换芯片同时兼具了传统ASIC的超高性能和基于软件编程的业务灵活性,使得“通过软件灵活定义业务逻辑+通过高速芯片转发业务流量”成为可能。

    星融元Asterfusion基于对网络各种业务和云计算需求的深入理解,基于可编程硬件平台构建云网络,为云计算交付具备“不妥协性能的灵活性”的星融Asterfusion云网络。

    PICFA™从容应对千万量级的虚拟计算节点

    今天,即便是对于一个可容纳5,000台物理服务器的中小规模的云数据中心,将其最低虚拟计算节点容量设计为5,000,000是一个最正常的需求。

    但是,在当前的商业以太网交换芯片市场上,为1RU高的Leaf交换机设计的交换芯片的FIB表项空间的容量最常见的只有128K。

    由此,5,000,000和128K的矛盾就尖锐地显现出来了;而造成这种矛盾的根本原因,就是底层网络依据传统架构、传统模型和传统理念所设计的集中式方案。

    星融元Asterfusion全面创新地提出了PICFA™
    (Protocol Infinity Cloud FabricArchitecture,协议无限云网架构)。

    PICFA™采用独创的分布式路由算法和与之相配合的转发逻辑,完全重构了云网络的控制平面与数据平面,彻底抛弃了传统网络中低效的集中式存储结构与转发逻辑,将云网络对云中虚拟计算节点的容量支持一举提升100倍至千万量级,同时大幅提升转发性能,使网络不再成为云计算容量的限制因素,从而为云网络从计算空间向底层物理网络的迁移打下坚实的基础。

    PICFA™从容应对千万量级的虚拟计算节点

    图9:PICFA™从容应对千万量级的虚拟计算节点

    在部署了PICFA™的星融元Asterfusion云网络中,所有租户的所有虚拟网络信息被动态、智能、均衡地分布在全网的所有Spine和Leaf交换机上,充分利用所有交换机的所有表项空间,由此,单台网络设备的FIB容量不再成为云的容量限制,虚拟机数量获得量级的提升,服务器计算力被充分利用!

    相关阅读:对!这届GNTC唯一捧得双奖的黑马就是我们!

    -未完待续-

    相关文章

    云网络的回归之路-全开放篇(下)


    关注星融元


    本篇我们从开放的高性能硬件架构、软件系统与硬件平台的分离与解耦、DevOps工具、RESTful API、容器架构、内存数据库Redis、与主流Cloud OS——OpenStack的完全集成这几个方面聊聊星融Asterfusion云网络的开放性。

    开放的高性能硬件架构

    传统网络硬件平台的架构,因受生产者的商业模式、设计理念等限制,通常采用私有的架构,为使用者提供一个网络黑盒,并且与其上层网络操作系统紧密耦合,将使用者牢牢锁定在该平台之上。
    基于这样的网络架构来设计的IT系统,用户在日常运维、故障定位、备件更换、网络扩容、升级换代等方面都需要高昂的成本。

    星融元Asterfusion云网络则采用完全不同的理念与架构,来设计其高速网络硬件平台。如图1:

    开放的高性能交换硬件平台 图1,开放的高性能交换硬件平台

    星融元Asterfusion硬件平台的优势:

    • 开放的架构:系统采用简洁、开放的架构设计,又基于业界成熟的BMC(Baseboard Management Controller)、COME(Computer-On-Module Express)、第三方的高性能可编程交换芯片等方案,来构建模块化的系统。
    • 业界知名商业交换芯片:高速交换子系统采用业界知名的交换芯片设计,用户不仅可以享受海量出货芯片的成本红利,还能拥有完全透明开放的架构,不携带任何硬件层面的专利与锁定,与前面提到的“专有芯片+私有硬件”的方案形成了鲜明的对比。
    • 可编程交换芯片:星融Asterfusion紧密跟随网络领域最先进的技术发展动向,采用可编程的交换芯片作为交换子系统的核心,使用户的需求在硬件转发层面被快速响应,让云的快速迭代不再受18-24个月的ASIC开发周期的限制。
    • 功能丰富的高性能交换系统:星融元Asterfusion的云网络不但能够为云中业务提供丰富接口类型(10G/25G/40G/100G)、全线速的转发,而且还能够在硬件网络上为云中业务提供L4SLB(Layer 4 Server Load Balancing,四层服务器负载均衡)、1:1 NAT(1:1 Network Address Translation,一对一网络地址转换)等功能。

    值得一提的是,星融元Asterfusion云网络的整体架构设计完全遵循了业界最领先,公司已经广泛部署和使用的Scale-wide架构(按需自由扩展架构),将原本封闭在大型机架式网络设备中的CLOS交换架构开放到网络拓扑设计当中去,帮助用户在只采用盒式网络设备的前提下仍然能够搭建出大规模的扁平化云网络,使用户在享受高性能、按需自由扩展的同时,最大限度地降低云网络的TCO(Total Cost of Ownership,总拥有成本)。

    基于Scale-wide架构的大规模Asterfusion云网络 图2,基于Scale-wide架构的大规模Asterfusion云网络

    例如,在图2中,

    1. 位于Leaf层的128台(64对)CX532P,每台的32个100G接口被分成两组,16个向下接入服务器,16个向上接进Spine层,并且通过使用100G-25G的1-to-4 Breakout功能,将所有100G接口拆分成64个下行25G接口和64个上行25G接口,通过上行25G接口分别接入到Spine层的64台CX532P。
    2. 位于Spine层的64台CX532P,每台的32个100G接口通过使用100G-25G的1-to-4 Breakout功能,将所有100G接口拆分成128个下行25G接口,接入Leaf层的128台(64对)CX532P。
    3. 数据中心的每台服务器通过双25G链路分别连接到一对Leaf层的CX532P的下行25G接口,组成高可靠的接入层,每台Leaf层的CX532P的64个25上行接口分别上行到64台Spine层的CX532P,这64台Spine层CX532P总共能够接入128台(64对)Leaf层CX532P。
    4. 这样的Spine-Leaf网络模块,总共能够提供128 x 64 = 8,192个25G接入接口,可以为4,096台服务器提供双25G上行的高可靠(接入层Active-Active热备和负载分担)和高性能(1:1收敛比,全线速)接入方案,整网提供204.8T的交换容量和8,192,000虚拟计算节点的支撑能力,即每服务器50G的上行接入能力和1:1000的虚拟化比。

    软件系统与硬件平台的分离与解耦

    SAI是由微软最早提出并实现的,用来描述交换芯片与操作系统之间接口的软件抽象层。

    简单来说就是,SAI为运行在交换芯片上的网络操作系统屏蔽了底层芯片的差异,让相同的网络操作系统可以在不同架构或不同品牌的交换芯片上平滑迁移,大幅度降低了软硬件系统适配和驱动带来的复杂度及工作量。

    SAI目前已经得到绝大多数交换芯片厂商的支持,成为事实上的工业标准。

    彻底解耦的软件系统与硬件平台 图3,彻底解耦的软件系统与硬件平台

    星融元Asterfusion在AsterNOS中全面集成了SAI,在硬件平台的设计中也选择了多款支持SAI的可编程交换芯片。
    因此,在星融Asterfusion云网络中,软件系统与硬件平台是完全分离解耦的架构。
    正如图3所示,AsterNOS不仅能够运行在任何支持SAI接口的硬件平台之上,Asterfusion硬件平台也能够运行所有支持SAI接口的操作系统。

    最终将用户从传统网络“软件系统与硬件平台紧密耦合”的黑盒中解放出来。?

    当然,对于中小规模、不具备自行开发能力、不具备软硬系统集成能力的客户,推荐选择星融Asterfusion的“AsterNOS + Asterfusion硬件平台”一体化解决方案,来降低部署的复杂度,加快部署的速度。

    高性能内存数据库解耦交换机内部模块

    网络操作系统中各个控制模块需要多种形式的交互,来交换信息、同步状态、协同工作。

    在传统的网络操作系统中(如图4所示),这种模块间的交互往往通过直接建立点到点连接的方式进行,从而在各个模块之间形成了一张全连接的交互网络(Full-mesh)。

    这种架构的网络操作系统有着很多弊端,

    • 模块之间紧密耦合,架构复杂,其中一个模块出现问题,就会影响系统整体的稳定性;
    • 操作系统内部的各种状态信息分散。
    • 操作系统自身的备份复杂程度及风险很高。
    • 传统网络操作系统的架构非常不利于扩展。

    软件模块解耦的网络操作系统 图4,软件模块解耦的网络操作系统

    也就是说,任何模块都能够作为生产者将自身的关键信息存入这个数据库,并且按需更新、获取、删除。

    该模块在重新启动之后,能够从数据库中恢复当前的各种配置及状态,从而不影响正常工作;

    任何模块也能够作为消费者关注数据库中其他模块的变化,当某个模块在数据库中的存储信息发生变化时,数据库能够将这一变化发布给所有关心该模块的消费者,从而完成模块间信息与状态的同步。

    基于数据库的信息与状态统一存放与管理机制,能让操作系统的稳定性、可扩展性、高可靠性得到大幅度的提升。

    基于容器架构的网络操作系统,轻松支持第三方应用

    相较于Hypervisor的VM(Virtual Machine,虚拟机)虚拟化技术,容器(Container)虚拟化技术以轻量化、高效率、低成本、与微服务架构的紧密结合等优势在最近几年中得到大规模的部署。

    为了充分利用这些优势,微软为云计算发布的开源网络操作系统SONiC(Software for Open Networking in the Cloud)也采用了容器架构。在SONiC中,网络操作系统的软件模块以容器的方式运行在Linux内核之上,从而使得SONiC整体的可扩展性、稳定性、开发及运行的效率大幅度提升。

    AsterNOS以SONiC为内核,并且在其上开发了现代云网络操作系统所必需的控制平面、RESTful API、用户界面、DevOps支持、运营管理等功能。

    AsterNOS系统架构 图5,AsterNOS系统架构[/caption]

    AsterNOS将标准Linux内核之上的容器环境开放给了第三方应用。

    也就是说,任何曾经运行于x86虚拟化世界中的运维管理工具都可以直接运行在AsterNOS上。在不带来任何额外开发工作量的前提下,为云网络的自动化运维管理提供与原有方法完全一致的体验,大幅提升云网络运维效率。

    举个栗子,在基于“软件模拟虚拟网络”的云中,为了获取每个租户的虚拟网络的流量统计信息,管理员需要在每一台物理x86服务器上安装自动统计与收集工具,再将所有这些工具的统计结果全部汇聚到Cloud OS;而一张面向公众运营的云中,物理x86服务器的数量是以数千、数万为单位计算的,所以这样一个简单的运维需求在“软件模拟虚拟网络”的云中所带来的复杂度及管理流量的压力可想而知。

    图6

    但是在AsterNOS的云网络中,每一个这样的运维工具只需要运行在每个ToR(Top of Rack,架顶)交换机上即可,而ToR交换机的数量相比物理x86服务器来说,只有其1/50左右。

    因此,AsterNOS基于容器的开放架构将会大幅度提高云网络的运维效率。

    Asterfusion云网络支持DevOps

    DevOps是一种新型的软件产品交付模型,它将与软件产品生命周期过程中的各个相关部门(例如研发、测试、运营等)以一种空前的方法连接了起来,并且对他们的沟通、协作等提出了更敏捷、更快速、更频繁的要求。

    例如,互联网时代的软件产品一般都要求版本以天为单位快速迭代更新,继而测试部门也要按照相同的节奏完成产品质量保证所必须的工作。同样,运营部门也需要快速地更新升级运营环境以保证业务系统的正常运行及良好的用户体验。

    对于网络来说,DevOps模型的大规模普及意味着网络也要在如此频繁、快速的迭代过程中具备灵活、敏捷及自动的调整能力。Asterfusion云网络能够很好地支持在开发、测试、生产环境中广泛部署的NETCONF、Ansible等DevOps工具。

    Asterfusion云网络支持DevOps 图7,Asterfusion云网络支持DevOps

    NETCONF(NetworkConfiguration Protocol)是IETF于2006年标准化的,用于取代SNMP(SimpleNetwork Management Protocol)的网络管理协议,并于2011年进行了更新。

    NETCONF克服了SNMP饱受诟病的安全性差、可扩展性差、效率低等缺点。

    (图7中)运行在AsterNOS内部的NETCONF Server能够与来自于DevOps平台的NETCONF Client建立连接,并且按照预先定义好的管理数据结构,接受来自DevOps平台的配置管理请求、或者提供系统内部的各种配置、统计、状态信息给DevOps平台。

    Ansible是一款极具代表性的DevOps工具,它能够将运营环境中大量的重复性工作以“Playbook”的方式进行自动化,从而为管理员降低工作负载,提升工作效率。

    Ansbile不需要被管理对象(服务器或网络设备)安装任何客户端,而是通过标准的SSH通道进行交互,所有需要被管理对象执行的命令和返回给服务器的结果都在这个标准通道中传递。

    Ansible的这种架构在很大程度上降低了自身的运维与管理复杂度。

    Asterfusion为AsterNOS开发了符合Ansible标准的AsterPlaybook,通过AsterPlaybook,Ansible服务器能够快速、便捷地完成对Asterfusion云网络自身的自动化运维。

    同时,对于任何以容器模式运行在AsterNOS内部的第三方应用,也能完全融入到基于Ansible的DevOps环境中去。

    Asterfusion云网络通过RESTful API开放所有能力

    相较于其他架构,REST因简洁、高效、弹性、开放等特性被越来越多的应用系统所采用,经过十多年的发展,已经成为基于Web应用系统的事实标准。

    相应地,如果一个系统提供的API(Application Programming Interface,应用软件编程接口)符合REST架构风格,通过这样的API,这个系统能够与其他REST系统完成软件编程级的对接,这样的API就被称为RESTful API。

    在云计算时代,一个系统是否能够提供RESTful API,直接决定其是否开放、是否能被融入到云中。

    星融元Asterfusion云网络系统正是通过一系列RESTful API将网络的能力全部开放出来,从而将云网络完全融入到云计算软件定义、弹性调度、按需扩展、自动运维的世界中。

    Asterfusion云网络开放所有能力 图8,Asterfusion云网络开放所有能力

    在星融元Asterfusion云网络中(图8):
    AsterNOS所提供的网络基础能力通过RESTful API开放,通过调用AsterNOS的各种人机交互界面(命令行、WebUI、控制面板等)API完成配置管理、参数设置、状态查询等任务;

    Asteria Fabric Controller通过调用AsterNOS的RESTful API,将原子级的网络基础能力封装为网络业务能力,为使用者屏蔽操作细节,以降低复杂度并提升效率;

    通过调用Asteria Fabric Controller和AsterNOS的RESTful API,任何REST架构的Cloud OS、DevOps平台、第三方应用都可以用SDN的方法自动化地管理、调度Asterfusion云网络。

    Asterfusion云网络与OpenStack的集成

    OpenStack是一个开源的Cloud OS,被用来在数据中心内部统一管理和控制所有的计算、网络和存储资源。

    OpenStack——开源、开放的Cloud OS 图9,OpenStack——开源、开放的Cloud OS

    无论是云管理员还是云用户,都可以通过OpenStack提供的控制面板和WebUI按需部署、自动调度云中的各种资源。

    OpenStack是一个开放的系统,由若干子项目/模块构成,Nova(计算资源管理)、Neutron(网络资源管理)、Cinder(块存储资源管理)等。为了维持其开放性、与现有基础设施的兼容性,OpenStack的很多模块都定义了RESTful API标准,第三方系统只要按照这个标准提供对应的API,即可实现与OpenStack的无缝对接,从而被OpenStack集中管理、自动调度。

    通过提供符合标准的RESTful API和插件,星融元Asterfusion云网络具备与OpenStack的Neutron和Octavia(负载均衡服务)的对接能力。

    Asterfusion云网络与OpenStack的集成 图10,Asterfusion云网络与OpenStack的集成

    由图10我们可以了解到:

    OpenStack的其他模块通过调用预先定义好的API来使用Neutron和Octavia模块提供的虚拟网络和负载均衡服务;

    • Asterfusion为Neutron和Octavia模块提供的插件(也称为驱动),将他们对虚拟网络执行模块(例如OpenvSwitch)和负载均衡执行模块(例如HAProxy)的API调用映射为对Asterfusion网络RESTful API的调用;
    • 通过如上的调用,将OpenStack中的虚拟网络和负载均衡全部从计算空间中卸载到Asterfusion云网络上,大幅提升虚拟网络和负载均衡的性能,同时降低部署和维护的复杂度;
    • 对于OpenStack自身和运行在其上的业务系统来说,这一切过程都是透明的,不需要做任何的调整或再开发。
    • 通俗的说:在OpenStack上仍只需要点击两下鼠标,即可在高性能的Asterfusion云网络上完成虚拟网络和负载均衡服务的部署。

    Asterfusion云网络帮助云计算进入新纪元

    Asterfusion云网络是一个面向云中业务与应用的Cloud SDN平台。
    全面开放、统一管理、自动调度、面向业务的Asterfusion云网络,为云计算大幅降低TCO、提高ROI,并提升运营效率。

    面向云中业务与应用的SDN平台
    图11,面向云中业务与应用的SDN平台

    图11,在这个面向业务与应用的Cloud SDN平台上,

    1. 所有租户的虚拟网络不再由运行在计算空间中的软件来模拟,而是直接承载在Asterfusion交换机搭建的底层物理网络上,从而最大限度释放计算空间的计算力,充分利用底层硬件网络资源提供超高性能、超大容量、租户隔离、功能丰富的虚拟网络;
    2. 物理网络与虚拟网络全部通过Asteria Fabric Controller集中管理,通过单一入口的管理点降低云网络运维的工作量,并且轻松完成虚拟网络到物理网络的映射、发生故障时的关联分析、网络资源使用情况的分析与优化等高级运维任务;
    3. Cloud OS通过软件编程的方法调用Asteria Fabric Controller提供的业务级的RESTful API,自动化地完成按照业务需求对云中虚拟网络的运维任务,CloudOS无需关注云网络的部署细节,只需要关注业务对云网络的需求即可;
    4. Asteria Fabric Controller将从Cloud OS接收到的业务级请求翻译、分解成AsterNOS能够理解的原子级操作,通过调用AsterNOS的RESTful API,完成对支撑业务的云网络的自动部署、运维、优化,再将结果反馈给CloudOS,从而将云网络完全融入到Cloud OS的统一管理架构中。

    Asterfusion云网络不再游离于云之外 图12,Asterfusion云网络不再游离于云之外

    至此,星融元Asterfusion云网络不再游离于云之外,而是与计算、存储一起图片全面开放图片,共同成为云计算时代的“云基础设施”!

    相关文章

    云网络的回归之路-全开放篇(上)


    关注星融元


    自从2006年云计算正式诞生以来,只用了短短十年的时间,就已经发展到可以大规模在生产网络中部署及承载关键业务了。

    我们纵观整个IT发展历史,在基础设施层面发生如此大的变革,云计算毫无疑问是首当其冲的。

    在这么短的时间跨度内,云计算之所以能够有突飞猛进的发展,与亚马逊、谷歌、微软、阿里等这些老牌IT巨擎以及新锐互联网力量的勇于探索是密不可分的。

    当然也与计算与存储技术在云计算时代的快速发展和自我调整有着紧密的关系。

    被游离的云网络

    当前的云网络游离于云计算的整体架构之外

    计算、网络和存储
    被并称为云计算的三大支撑基础设施

    网络游离于云计算的整体架构之外

    在云计算时代,计算和存储紧紧跟随了云的发展步伐,率先完成了架构的演进——

    • 系统从自我封闭到全面开放;
    • 架构从硬件主导到软件定义;
    • 管理从手工配置到自动调度;
    • 运维从以设备为中心到以业务为中心。

    遗憾的是:网络,作为云中三大基础设施之一,却因为自身封闭的原因未能跟上这一步伐,从而使自身游离于云计算的整体架构之外。当前云网络封闭的表现主要在于以下几个方面:

    • 软硬件一体化
      私有的网络操作系统只能运行在私有的硬件平台之上,云计算的运营者不但无法享受硬件标准化带来的成本红利、有效降低TCO(Total Cost of Ownership,总拥有成本),而且往往面临着被底层网络锁定的风险。
    • 封闭在黑盒中的网络能力
      因为历史原因,很多网络设备只能通过低效的命令行方式、逐设备地进行部署配置,即便提供了集中控制器,也只是从网络维护的视角出发提供了一个简单的图形化的管理界面,并未将其与云中的业务与运营需求紧密结合。
    • 无法支持云中常用的DevOps工具
      DevOps(Developmentand Operations,开发运维)已经成为云以及网络运维的主要手段,各种自动化工具也在今天的云中大量部署、使用,但是传统网络却无法有效地集成或支持这些DevOps工具。
    • 面向设备而非业务的管理框架模型
      传统网络即便提供了统一控制器进行集中管理,其管理框架往往也是按照设备管理的模型进行设计,一个业务对网络提出的需求往往需要管理员人为地拆解成针对若干设备的若干配置需求逐一配置,在设计、执行、维护等方面的复杂度都非常高。

    也正是上述原因,当前的云计算运营者采用了“在计算空间中用软件模拟虚拟网络(如下图)”的思路,来规避封闭的网络给云计算带来的限制。

    在计算空间中用软件模拟虚拟网络

    所以在“软件模拟虚拟网络”的云中,云计算运营者使用软件开发了各种虚拟网元(虚拟交换机、虚拟路由器、虚拟防火墙、虚拟负载均衡等)用来模拟云中租户需要的网络。与传统网络设备不同,这些虚拟网元完全具备软件定义、开放接口等能力,从而使得云对虚拟网络的各种需求,包括自动配置、动态调整、按需伸缩等,全部通过Cloud OS(Cloud Operating System,云操作系统,也称为CMP,Cloud Management Platform)对这些虚拟网元的自动调用来完成。

    而位于底层的物理云网络,仅仅被作为最简单的三层IP通道来承载由“软件模拟虚拟网络”封装在隧道中的云业务流量。

    这种解决方案虽然满足了云计算运营者对网络的需求,但缺点也是显而易见的:

    侵占云中计算力、性能与效率低下、运维复杂度高、欠缺业务质量保障等。

    我们很遗憾地看到,在网络与云之间形成了一种“因为底层网络不开放,所以用软件模拟;因为软件模拟,所以导致底层网络使用效率越来越低”的恶性循环,而这一恶性循环产生的根源就是网络自身的开放性。

    云网络的回归之路

    全开放的Asterfusion云网络有效弥合云与网络之间的鸿沟

    针对传统云网络在开放性方面所面临的各种挑战,星融Asterfusion为云计算环境提供全开放云网络的解决方案,无缝地将云网络彻底融入到云中。
    下面来看看星融Asterfusion是如何帮助云网络真正融入云计算的(如下图):

    星融元云网络真正融入云计算的

    1. 底层硬件平台基于开放架构、商用可编程交换芯片设计,在为上层软件提供高性能运行环境的同时,彻底抛弃传统网络硬件私有、黑盒的设计理念。
    2. 运行在硬件平台上的标准Linux内核为上层应用提供开放的操作系统内核支撑,使得当前主流的DevOps工具能够直接运行在网络设备上,任何第三方应用也都能以容器的形式运行在这个标准的Linux内核之上。
    3.  AsterNOS是一款开放、智能、易用、高性能的网络操作系统,以SONiC/SAI为内核,为Asterfusion云网络提供设备级的控制平面,同时支持RESTful API能力开放、主流DevOps工具集成、主流Cloud OS集成、高性能内存数据库等云计算时代的必备功能。
    4. 对SAI(Switch Abstraction Interface,交换机抽象接口)标准的支持将AsterNOS和Asterfusion的交换硬件平台彻底解耦开来,AsterNOS可以运行在任何遵从SAI标准的硬件平台之上,Asterfusion交换硬件平台也能够支持任何遵从SAI标准的网络操作系统在其上运行。
    5. AsteriaFabric Controller(AFC)是为云计算环境设计开发的Cloud SDN Controller,与运行着AsterNOS的交换机系统共同组建一个面向云中业务与应用的Cloud SDN平台,在这个SDN平台上,所有的网络能力均以RESTful API的形式向Cloud OS开放,Cloud OS完全以自动化的形式、从业务的视角对云网络进行部署、调度,无需再关注网络底层的细节。

    在部署了Asterfusion云网络的云中,使网络与计算、存储一样,自下而上形成了层次分明的“开放硬件世界”、“标准内核世界”和“自动管理世界”,从而使得Cloud OS能够对三大基础设施完全一致地统一管理、按需伸缩、自动调度。实现了网络、计算、存储一起成为真正意义上的“云基础设施”。

    – 未完待续 –

    相关文章

    云原生、全栈可编程的下一代SDN解析与实践丨传统SDN架构演进


    关注星融元


    多年以前,由于基于传统协议的控制平面缺乏灵活性,无法满足多样的业务对数据平面的转发需求,软件定义网络(SDN)被提了出来。业界希望通过一种转控分离、开放解耦的架构,让网络资源能够被上层应用通过标准的API,更加灵活的按需分配。在这种架构下,SDN控制器提供北向接口给上层应用,实现网络资源的动态管理;并通过OpenFlow、NETCONF、SNMP、RESTCONF等南向接口控制底层网络设备数据平面转发行为及设备管理。

    可见,SDN控制器的架构以及南向接口是SDN的关键技术点,不夸张的说,这两方面是决定整个SDN方案成败的关键因素。

    在控制器领域,尽管OpenDaylight,ONOS和Ryu等开源系统已经逐渐被各个厂家和用户所接受,但由于南向接口OpenFlow的天然缺陷以及单体架构控制器的日渐臃肿,使得基于传统架构和技术的SDN解决方案,迟迟无法达到最初的设计理念,很难适应业务对网络的需求。

    从本期开始,小编将连续出三篇系列文章,以ONOS(开放网络操作系统)为例,详细分析控制器的架构、网络设备可编程接口的发展趋势,解析以去中心化、云原生、协议无关为设计目标的下一代SDN体系结构,并分享星融在这方面的最新实践

    什么是ONOS?

    ONOS是领先的开源SDN控制器,被广泛应用于构建下一代SDN / NFV解决方案。它为SDN提供控制平台和管理网络的组件(例如交换机和链接),并运行网络应用程序提供通信服务。如果您熟悉传统的嵌入式交换机操作系统,则会发现ONOS可以管理整个网络而不是单个设备,可以大大简化多台交换机的软硬件配置管理和部署。如果您熟悉SDN控制器,则应该感到宾至如归,因为ONOS是一个可扩展的模块化的分布式SDN控制器。

    接下来我们看看ONOS的设计原则和总体架构。

    ONOS的设计遵循四条基本原则:

    1. 高可用性,高可扩展性和高性能;
    2. 要对网络资源进行高度抽象并简练地表示出来;
    3. 要做到协议无关及硬件无关;
    4. 网络应用程序的模块化。

    ONOS的总体架构 图1 ONOS的总体架构

    ONOS整体架构可分为三层,分别为:

    1. 北向接口(NBI),应用程序使用这些接口来了解网络状态(例如遍历拓扑图、拦截网络数据包),并控制网络数据平面。
    2. 分布式核心,负责管理网络状态,并将状态的变化通知给网络应用程序。核心层内部使用的数据库是可扩展的分布式键/值存储数据库Atomix。
    3. 南向接口(SBI),由共享协议库和特定设备的驱动程序构成的插件集合。

    接下来我们主要介绍下分布式核心和南向接口层如何通过P4runtime协议与设备交互。

    分布式核心

    ONOS分布式核心由许多子系统组成,子系统负责网络拓扑、主机跟踪、数据包拦截、流编程等的维护和管理。主要的子系统有:

    • Device Subsystem- 管理网络设备集群
    • Link Subsystem- 管理网络链路
    • Host Subsystem- 管理主机及其在网络上的位置
    • Topology Subsystem- 管理网络拓扑及实时状态的更新
    • Packet Subsystem- 允许应用程序收发业务报文(从/往网络设备)
    • Path Subsystem-计算/查找网络设备之间或终端主机之间的路径
    • FlowRule Subsystem- 管理网络设备的流表规则

    这些服务大多是使用分布式表(映射)构建的,而这些表存储在atomix数据库中,接下来让我们来看下Atomix数据库。

    它可以跨一组分布式服务器进行扩展,并实现故障时的容错处理。Atomix是构建分布式系统的通用工具,它是一个基于Java开发的系统,其支持以下功能特性:

    • 分布式数据结构,包括maps、sets、trees、counters
    • 分布式通信,包括直接消息传递和发布/订阅
    • 分布式协作,包括locks、leader elections、barriers
    • 管理群组成员

    Atomix在ONOS中的一个重要作用是协调ONOS的所有实例,主要体现在两个方面:

    首先,ONOS具备水平可扩展的能力,在任何时间运行的ONOS实例的数量取决于工作的负载情况和在出现故障时为保证系统可用性所需的备份情况。Atomix group membership原语用于确定可用实例的集合,从而可以检测到已转换的新实例和已失败的现有实例。

    其次,每个ONOS实例的主要工作是监视和控制网络中物理交换机的子集。ONOS采取的方法是为每个交换机选择一个主实例,只有主实例可以向给定的交换机发出(写入)控制指令,而所有实例都可以监视(读取)交换机状态。这些实例使用Atomix leader-election原语来确定每个交换机的主实例(主控制器)。如果一个ONOS实例发生故障,则使用相同的原语为交换机选择新的主控制器。当有新交换机上线时也采用相同的方法来为其选举主实例。

    接下来看看ONOS是如何实现对P4Runtime的支持。

    P4Runtime

    在传统SDN方案中,OpenFlow一直被看做是控制底层网络数据平面的理想接口之一,但由于硬件支持度不高,在实际部署中并未达到预期效果。

    P4Runtime作为一种控制器和网络设备之间的数据转发控制接口,和OpenFlow同样具备协议无关性,是一套基于Protobuf和gRPC框架定义的协议。通过P4Runtime协议,SDN控制器可以控制配置支持P4的网络设备。现在P4是数据平面可编程的主流代表,其匹配域和动作域可以任意定制,流表流水线也可以根据网络需求的改变而修改。

    ONOS是如何支持流水线可变性的呢?

    首先,ONOS为了解决这个问题,在Core层诸多子系统中横向扩展了一个子系统,叫做PI 框架。PI = Protocol/Program/Pipeline Independent,代表了协议无关、程序无关、以及处理流水线的无关。
    PI框架是围绕着P4和PSA进行建模的,但PI框架在设计上是面向通用的协议无关思想的,能容纳未来各种协议无关的语言或者协议,目前仅仅是适配到了P4语言。PSA(Portable Switch Architecture)就是P4设备的一个通用架构描述,类似OpenFlow的TTP(Table Type Patterns)。PI架构里包含了一些类、服务和设备驱动的功能描述来建模和控制可编程数据平面,定义了抽象的表项和计数器等等。

    PI框架在ONOS中的架构设计 图2:PI框架在ONOS中的架构设计

    首先,最底层是协议插件,有P4 Runtime和gRPC;往上一层是Driver子系统,有P4Runtime、Tofino和BMv2等;最上层是核心层也是PI框架核心所在,它包含了PI模型、FlowRuleTranslation子系统和还有Pipeconf子系统等三大模块。而流水线流表可变性 实现的关键,就是这个FlowRuleTranslation子系统,下文统称为“流表翻译子系统”。

    PI框架向上既可以支持pipeline无感知的应用,比如之前针对OpenFlow设备编写的程序 ;也可以支持对Pipeline有感知的应用,也就是针对特定的P4程序编写的控制应用。

    接下来介绍下流表翻译子系统:

    FlowRule Translation 图3 FlowRule Translation

    PI框架里的流表操作涉及到三个阶段的转换操作,分别对应Pipeliner、Interpreter、P4Info这三个元素,也就是上图中的蓝色部分,是我们pipeconf(.oar)应用里的内容。

    如果我们使用FlowObjective来下发决策,就会经过Pipeliner把它转换成FlowRule,当然我们也可以直接使用FlowRule。然后P4设备驱动会调用PI框架的FlowRuleTranslation 子系统,借助Pipeline Interpreter把FlowRule转换成PI Table Entry,它是PI框架对一条表项的抽象。最后PI Table Entry会在南向协议插件的P4Runtime Client中借助P4Info转换成P4 Runtime Message这个通信报文,然后在网络中传递给P4设备。如上图3所示,流表操作主要就是三次转换。

    介绍完分布式核心和P4Runtime,让我们来看看ONOS的发展现状。

    ONOS的发展现状

    随着ONOS 2.0版本的发布,当今的ONOS架构提供了一个稳定的基础平台,包含了许多的功能特性,例如简单的第三方应用开发、轻松的分布式集群部署、服务自动导入、已存在大量的第三方应用和拓展组件。

    但是,ONOS架构当前也同样存在一些限制,比如有限的资源隔离、基于平台的应用仅支持java或JVM-based语言开发;比如应用/服务水平扩展困难、组件无法迁移到平台之外(控制平面功能无法卸载到设备);再比如与NFV的集成受限且对NFV的支持也同样有限等等。尽管上述限制在本质上都是技术性的,但它们还是限制了ONOS在一些重要的行业场景中的应用,因此我们必须解决ONOS的这些限制。

    ONF(Open Network Foundation)正在开发一个新的开源架构Micro ONOS(µONOS)以提供真实网络控制、零接触配置和可验证安全的网络,并使运营商可以完全控制其网络 ,这也是下一代SDN的发展趋势。

    相关文章

    对星融元产品感兴趣?

    立即联系!

    返回顶部

    © 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2